我知道有人问过类似的问题了。但是,我已经尝试了我在这里和谷歌上找到的所有东西,似乎没有什么对我有用。
我的代码如下:
reqURL <- "http://api.twitter.com/oauth/request_token"
accessURL <- "http://api.twitter.com/oauth/access_token"
authURL <- "http://api.twitter.com/oauth/authorize"
consumerKey <- "xxxxxxxxxxx"
consumerSecret <- "xxxxxxxxxxxxxxxxxxx"
twitCred <- OAuthFactory$new(consumerKey=consumerKey,
consumerSecret=consumerSecret,
requestURL=reqURL,
accessURL=accessURL,
authURL=authURL)
twitCred$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl"))
registerTwitterOAuth(twitCred)
我得到:
[1] TRUE
但如果我试试这个:
tweets = searchTwitter('blabla', n=1500)
我收到以下错误:
[1] "SSL certificate problem, verify that the CA cert is OK. Details:\nerror:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed"
Error in twInterfaceObj$doAPICall(cmd, params, "GET", ...) :
Error: SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
以下是我的电脑上的软件包和版本:
sessionInfo() R版本2.15.1(2012-06-22) 平台:i386-pc-mingw32 / i386(32位)
locale:
[1] LC_COLLATE=Greek_Greece.1253 LC_CTYPE=Greek_Greece.1253
[3] LC_MONETARY=Greek_Greece.1253 LC_NUMERIC=C
[5] LC_TIME=Greek_Greece.1253
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] ROAuth_0.9.2 digest_0.6.2 twitteR_1.1.0 rjson_0.2.12
[5] RCurl_1.95-4.1 bitops_1.0-5
loaded via a namespace (and not attached):
[1] tools_2.15.1
任何帮助都非常有用!!
答案 0 :(得分:17)
首先执行以下操作,然后运行代码:
library(RCurl)
# Set SSL certs globally
options(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))
这通常会纠正您遇到的问题。
EDIT(2014年8月): 或者更好的是,尝试使用httr包(这是RCurl的友好包装,并为您设置了有用的默认选项)
答案 1 :(得分:2)
最后我得到了解决方案,请尝试这种方法。这很容易
library(devtools)
install_github("twitteR", username="geoffjentry")
library(twitteR)
api_key = "aaa"
api_secret = "bbb"
access_token = "ccc"
access_token_secret = "ddd"
setup_twitter_oauth(api_key,api_secret,access_token,access_token_secret)
答案 2 :(得分:1)