使用OAuth和R的无效请求令牌 - R代码是否正确?

时间:2013-04-11 20:43:35

标签: r twitter-oauth

我正在修改我的原始查询,专门询问是否有人可以看到我在下面给出的R代码本身导致无效请求令牌的原因。如果没有,我会知道我的问题在其他地方。

我正在尝试使用twitteR软件包,因为我已经进入了Jeffrey Stanton关于数据科学的免费电子书中的Twitter章节,这帮助我学习了R.我得到了这么多,然后Twitter给了我这样的信息:

哇那里! 此页面的请求令牌无效。它可能已被使用或过期,因为它太旧了。请返回发送给您的网站或应用程序,然后重试;这可能只是一个错误。

我已经安装了bitops,RCurl,RJSONIO,twitter和ROAuth软件包。然后我运行此代码(注意,我不能发布链接,因为我的声誉太低):

reqURL <- "//api.twitter.com/oauth/request_token"
   accessURL <- "//api.twitter.com/oauth/access_token"
   authURL <- "//api.twitter.com/oauth/authorize"
   consumerKey <- "abc"
   consumerSecret <- "xyz"
   twitCred <- OAuthFactory$new(consumerKey=consumerKey,
                                consumerSecret=consumerSecret,
                                requestURL=reqURL,
                                accessURL=accessURL,
                                authURL=authURL)

其次是:

twitCred$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl") )

然后我得到了这个提示:

要启用连接,请将您的网络浏览器指向: http://api.twitter.com/oauth/authorize?oauth_token=Kxa ... 完成后,记录提供给您的PIN并在此处提供:

此时我似乎无法复制推特链接,所以我手动输入它(!)进入我的浏览器,我从Twitter收到消息我开始提问。 我尝试过多次同样的结果。 r-project上的TwitteR插图中的OAuth位没有任何内容(假设我已经完成了我想的!)并且TwitteR包描述的第9页上的示例对我也没有帮助。

感谢。

2 个答案:

答案 0 :(得分:0)

我自己回答了原来的问题。我退出了我正在工作的R-studio项目,从twitter开发者网站中重新创建了我的访问令牌和访问令牌秘密,然后将这个代码应用到一个新的R-studio项目中:

requestURL <-  "https://api.twitter.com/oauth/request_token"
accessURL =    "https://api.twitter.com/oauth/access_token"
authURL =      "https://api.twitter.com/oauth/authorize"
consumerKey =   "------------"
consumerSecret = "-----------"
twitCred <- OAuthFactory$new(consumerKey=consumerKey,
                         consumerSecret=consumerSecret,
                         requestURL=requestURL,
                         accessURL=accessURL,
                         authURL=authURL)
download.file(url="http://curl.haxx.se/ca/cacert.pem",
          destfile="cacert.pem")
twitCred$handshake(cainfo="cacert.pem")

我从这里得到了:TwitteR, ROAuth and Windows: register OK, but certificate verify failed

这种组合阻止了我从twitter获取请求令牌无效的消息。所以我然后获得了现在有效的twitter链接: 要启用连接,请将您的网络浏览器指向: https://api.twitter.com/oauth/authorize?oauth_token=xxxx

但是我没有进一步深入,所以我在这里写了一个新问题:Where does twitteR PIN code appear during R oauth authentication?

答案 1 :(得分:0)

我遇到了同样的问题。我通过两种方式管理: (1)使用R控制台代替R studio 要么 (2)您使用OCR软件(此)

拍摄链接的快照并转换为文本

谢谢和问候!!!