使用ROAuth在Twitter上进行身份验证时不会生成PIN

时间:2013-04-17 10:07:58

标签: r twitter-oauth roauth

我正在尝试使用R对Twitter进行身份验证,但我无法获取PIN。

我的代码如下:

download.file(url="http://curl.haxx.se/ca/cacert.pem", destfile="cacert.pem")

reqURL <- "http://api.twitter.com/oauth/request_token"
accessURL <- "http://api.twitter.com/oauth/access_token"
authURL <- "http://api.twitter.com/oauth/authorize"
consumerKey <- "foo"
consumerSecret <- "bar"
twitCred <- OAuthFactory$new(consumerKey=consumerKey,
                             consumerSecret=consumerSecret,
                             requestURL=reqURL,
                             accessURL=accessURL,
                             authURL=authURL
                             )
twitCred$handshake(cainfo="cacert.pem", ssl.verifypeer=FALSE)

然而,当我收到授权URL并输入时,我仍然没有获得PIN:我只有一个按钮来授权应用程序,然后我回到我以前的返回URL指定。

这个问题看起来非常类似 Where does twitteR PIN code appear during R oauth authentication?但是那里的补救措施(确保请求,访问和身份验证网址都是http而不是https)对我不起作用。

我在Windows 7上运行R 3.0.0,ROAuth是0.9.2,twitteR 1.1.0 - 其中任何一个都表明为什么会出现此问题?

1 个答案:

答案 0 :(得分:0)

授权应用程序后,从Twitter返回的网址有一个“oauth_verifier”。我用它作为R中的PIN码。我能够将它复制并粘贴到R中,要求输入PIN码。在我点击输入之前,R中没有文字出现。 PIN似乎被接受了。我尝试了registerTwitterOAuth(cred)并返回了TRUE响应。但是,我仍然无法从搜索中返回任何信息:

download.file(url =“http://curl.haxx.se/ca/cacert.pem”,destfile =“cacert.pem”) options(RCurlOptions = list(cainfo = system.file(“CurlSSL”,“cacert.pem”,package =“RCurl”))) r_stats&lt; - searchTwitter(“#Rstats”,n = 100,cainfo =“cacert.pem”)

[1]“SSL证书问题,验证CA证书是否正常。详细信息:\ nerror:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败” twInterfaceObj $ doAPICall中的错误(cmd,params,“GET”,...):   错误:SSL证书问题,验证CA证书是否正常。细节: 错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败