我想通过 R Studio [版本 3.5.1 (2018-07-02)] 访问 twitter 以下载匹配某个关键字的推文。
我正在使用“twitteR”和“ROAuth”包。我的 Twitter 帐户已将“读取、写入和直接消息”设置为访问权限。
我的问题与此处所述完全相同
唯一的区别是,那里提供的解决方案对我不起作用。
通过使用我的密钥执行代码(参见链接的帖子),我可以点击打开网站上的“身份验证”按钮,立即重定向到回调 URL,并且看不到 PIN。
Twitter 需要回调 URL,因此我无法从我的 Twitter 帐户设置中删除它。
我累了:
- 重新安装软件包
- 改变工作目录
- 按照建议安装了“openssl”和“httpuv”包
- 将我帐户的 Twitter 访问权限从“读写”更改为“读写和直接消息”
- 使用了产生错误消息的 setup_twitter_oauth 函数:
> 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 包,如果有另一种包/方式可以让我下载与关键字相关的推文以获取大量时间序列,我将不胜感激。
非常感谢您的帮助 :)。