我想通过R Studio 3.5.1版(2018-07-02)访问twitter,下载匹配某个关键字的twitter。
我使用的软件包"twitteR“和"ROAuth”。我的twitter帐户将“读、写和直接消息”设置为访问权限。
我的问题与声明的这里完全相同
唯一的区别是,那里提供的解决方案对我不起作用。
通过使用我的密钥执行代码(参见链接post),我能够在打开的网站上点击“身份验证”按钮,立即重定向到回调URL,而没有看到任何PIN。
Twitter需要一个回调URL,所以我不能从我的Twitter帐户设置中删除它。
我累了:
> setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret)
[1] "Using direct authentication"
Error in check_twitter_oauth() : OAuth authentication error:
This most likely means that you have incorrectly called setup_twitter_oauth()'我的主要方法是基于上面的链接主题。我使用以下代码:
requestURL <- "https://api.twitter.com/oauth/request_token"
accessURL = "https://api.twitter.com/oauth/access_token"
authURL = "https://api.twitter.com/oauth/authorize"
consumerKey = 'YYY'
consumerSecret = 'XXX'
twitCred <- OAuthFactory$new(consumerKey='YYY',
consumerSecret='XXX',
requestURL=requestURL,
accessURL=accessURL,
authURL=authURL)
download.file(url="http://curl.haxx.se/ca/cacert.pem",
destfile="cacert.pem")
twitCred$handshake(cainfo= system.file("CurlSSL", "cacert.pem", package = "RCurl"))第二种方法是使用以下函数,这将产生与上述相同的错误。
TwitterOAuth<-function()
{
reqURL <- "https://api.twitter.com/oauth/request_token"
accessURL<- "https://api.twitter.com/oauth/access_token"
authURL <- "https://api.twitter.com/oauth/authorize"
twitCred <- OAuthFactory$new(consumerKey='YYY',
consumerSecret='XXX',
requestURL=reqURL,
accessURL=accessURL,
authURL=authURL)
options(RCurlOptions = list(cainfo = system.file("CurlSSL",
"cacert.pem",
package = "RCurl")))
twitCred$handshake()
registerTwitterOAuth(twitCred)
}
TwitterOAuth()第二种方法在R的控制台中生成一个Twitter API链接,当我立即单击它时,会被指向一个Twitter页面,该页面上写着:“哇!这个页面的请求令牌无效。它可能已经被使用,或者过期了,因为它太旧了。请回到发送您来这里的站点或应用程序,然后再试一次;这可能只是一个错误。”
我希望在R和Twitter之间建立起联系。我不依赖于ROAuth包,如果有另一个包/方式允许我下载关键字相关的Tweets为一个大的时间序列,我会很感激。
非常感谢你的帮助:)。
发布于 2019-04-21 14:29:22
解决方案:
这一次,我不需要包"ROAuth“,但"httr”和"openssl“,我能够使用函数"setup_twitter_oauth”与我的登录数据,它的工作没有任何问题!
顺便说一句:它没有向我展示一个PIN,但是数据可以直接下载到R!
根据这个youtube视频,twitter帐户需要“读、写和直接消息”的权限。
https://stackoverflow.com/questions/55777280
复制相似问题