r - R 中 twitteR 的 SSL 证书失败

标签 r ssl twitter oauth twitter-oauth

我知道类似的问题又被问到了。但是,我已经尝试了在这里和在谷歌上找到的所有内容,但似乎没有任何效果。

我的代码如下:

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] 真

但如果我尝试这样做: tweets = searchTwitter('blabla', n=1500)

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

这是我电脑上的软件包和版本:

sessionInfo() R version 2.15.1 (2012-06-22) Platform: i386-pc-mingw32/i386 (32-bit)

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

任何帮助都会非常有用!!

最佳答案

首先执行以下操作,然后运行您的代码:

library(RCurl) 

# Set SSL certs globally
options(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))

这通常可以解决您遇到的问题。

编辑(2014 年 8 月): 或者更好的是,尝试使用 httr 包(它是 RCurl 的友好包装器,为您设置了有用的默认选项)

关于r - R 中 twitteR 的 SSL 证书失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15347233/

相关文章:

使用 R 中的查找表替换字符向量中的值

python - Pandas:解析 CSV,区分缺失值哨兵和恰好等于它的字符串

ssl - Paypal 快速结帐连接。客户端和服务器无法通信,因为它们不具备通用算法

python - 如何使用 twitter API V2 从用户推文时间轴获取源视频 URL

java - 使用 Jackson API 在 Java 中解析 JSON 文件

R model.matrix 在所有列中使用相同的因子集

r - 如何将经纬度网格添加到投影 map ?

spring - 如何为 spring ldap 提供 keystore 和信任库

ssl - YouTube IFrame API 使用 HTTPS + HTML5 生成混合内容警告

iOS 推文图片 - 我可以在上传前获取图片网址吗?