3

我正在修改我的原始查询,专门询问是否有人可以看到我在下面给出的 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 链接,所以我将它(!)手动输入到我的浏览器中,然后我从 Twitter 收到了我开始提问的消息。我已经尝试了很多次,结果都是一样的。r-project 上的 TwitteR 小插图中的 OAuth 位对此没有任何帮助(它假设我做对了我想!)并且 TwitteR 包描述的第 9 页上的示例也对我没有帮助。

谢谢。

4

2 回答 2

0

我面临同样的问题。我通过两种方式进行管理:(1)使用 R 控制台而不是 R studio 或(2)您拍摄链接的快照并使用 OCR 软件转换为文本(this)

谢谢并恭祝安康!!!

于 2013-08-14T18:22:50.817 回答
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 和 Windows:注册正常,但证书验证失败

这些事情的结合阻止了我从 twitter 收到请求令牌无效的消息。因此,我获得了现在可以使用的 twitter 链接:要启用连接,请将您的网络浏览器定向到: https ://api.twitter.com/oauth/authorize?oauth_token=xxxx

但是我没有走得更远,所以我在这里写了一个新问题:在 R oauth 身份验证期间,推特 PIN 码出现在哪里?

于 2013-04-16T16:31:34.447 回答