首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R Studio中ROAuth过程中的无PIN

R Studio中ROAuth过程中的无PIN
EN

Stack Overflow用户
提问于 2019-04-20 20:03:15
回答 1查看 72关注 0票数 0

我想通过R Studio 3.5.1版(2018-07-02)访问twitter,下载匹配某个关键字的twitter。

我使用的软件包"twitteR“和"ROAuth”。我的twitter帐户将“读、写和直接消息”设置为访问权限。

我的问题与声明的这里完全相同

唯一的区别是,那里提供的解决方案对我不起作用。

通过使用我的密钥执行代码(参见链接post),我能够在打开的网站上点击“身份验证”按钮,立即重定向到回调URL,而没有看到任何PIN。

Twitter需要一个回调URL,所以我不能从我的Twitter帐户设置中删除它。

我累了:

  • 重新安装软件包
  • 更改工作目录
  • 将包"openssl“和"httpuv”安装为建议
  • 将我的帐户的twitter访问权限从“读和写”更改为“读、写和直接消息”
  • 使用产生错误消息的setup_twitter_oauth函数:
代码语言:javascript
复制
> 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()'

我的主要方法是基于上面的链接主题。我使用以下代码:

代码语言:javascript
复制
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"))

第二种方法是使用以下函数,这将产生与上述相同的错误。

代码语言:javascript
复制
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为一个大的时间序列,我会很感激。

非常感谢你的帮助:)。

EN

回答 1

Stack Overflow用户

发布于 2019-04-21 14:29:22

解决方案:

这一次,我不需要包"ROAuth“,但"httr”和"openssl“,我能够使用函数"setup_twitter_oauth”与我的登录数据,它的工作没有任何问题!

顺便说一句:它没有向我展示一个PIN,但是数据可以直接下载到R!

根据这个youtube视频,twitter帐户需要“读、写和直接消息”的权限。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55777280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档