2

我正在尝试使用 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。

这似乎与这个问题非常相似, 在 R oauth 身份验证期间,推特 PIN 码出现在哪里?但是那里的补救措施(确保请求、访问和身份验证 URL 都是 http 而不是 https)对我不起作用。

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

4

1 回答 1

0

授权应用后从 Twitter 返回的 url 有一个“oauth_verifier”。我将其用作 R 中的 PIN。我可以将其复制并粘贴到 R 中要求输入 PIN 的位置。在我按 Enter 之前,R 中没有出现任何文本。PIN 似乎被接受了。我尝试了 registerTwitterOAuth(cred) 并返回了 TRUE 响应。但是,我仍然无法从搜索中获取任何返回的信息:

download.file(url="http://curl.haxx.se/ca/cacert.pem", destfile="cacert.pem") 选项(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert .pem", package = "RCurl")))
r_stats<- searchTwitter("#Rstats", n=100, cainfo="cacert.pem")

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

于 2013-06-03T16:10:36.780 回答