2013-04-11 65 views
3

我正在修改我的原始查询,以明确询问是否有人可以看到下面给出的R代码会导致无效请求令牌的原因。如果没有,我会知道我的问题在别处。使用OAuth和R的请求令牌无效 - R代码是否正确?

我试图使用twitteR软件包,因为我在Jeffrey Stanton的关于数据科学的免费电子书的Twitter章节中帮助我学习R.我到目前为止,然后Twitter给我这个消息:

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

我已经安装了bitur,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页上的例子也没有帮助我。

谢谢。

+0

是的无法复制粘贴该网址是一个真正的麻烦,我知道你的意思是...你100%肯定你没有犯错误吗? – Ben 2013-04-12 00:52:56

+0

我曾尝试过四次复制网址,但每次我想我都有可能犯了一个错误。我想我应该问的第一个问题是,在我的代码中是否有任何奇怪的东西?如果没有,也许我已经在Twitter端做了一个错误或什么? – 2013-04-12 02:04:03

+0

你使用粘贴的消费者密钥和秘密?还是一个真正的? – ndoogan 2013-04-12 02:11:25

回答

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上的链接,现在工作: 要启用连接,请直接将您的Web浏览器: https://api.twitter.com/oauth/authorize?oauth_token=xxxx

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

0

我面临同样的问题。我以两种方式进行管理: (1)使用[R控制台,而不是[R工作室 OR (2)你把链接的快照,并使用OCR软件(本)

感谢和问候转换成文本!

相关问题