我试图通过twitteR获得大量Twitter用户的数量.许多
other
questions发布对我来说非常有用,但是似乎没有一个与我的问题直接相关,只要我能看到.
我可以将OAuth凭据注册到twitter R会话,但是我根本看不到什么,我只是得到这个消息:
函数中的错误(类型,msg,asError = TRUE):
SSL证书问题,验证CA证书是否正常.细节:
错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败
当我使用twitteR功能而不使用OAuth时,他们可以正常工作,没有错误或警告,但是我碰到限制和受保护的帐户,我以为我可以避免使用OAuth.
以下是详细信息:
library(twitteR) library(ROAuth) library(RCurl) # # Here's how I register my credentials # 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") To enable the connection,please direct your web browser to: https://api.twitter.com/oauth/authorize?oauth_token=xxxx When complete,record the PIN given to you and provide it here: xxxxxx registerTwitterOAuth(twitCred) [1] TRUE # so the OAuth bit appears to be ok... # # save it for a future sessions... save(list="twitCred",file="twitteR_credentials") # works,in future I can just load("twitteR_credentials") registerTwitterOAuth(twitCred) # # try to get follower numbers,here's where it goes south me <- getUser("Rbloggers") me$followersCount Error in function (type,asError = TRUE) : SSL certificate problem,verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify Failed # # another method,same problem getUser("Rbloggers")$followersCount Error in function (type,asError = TRUE) : SSL certificate problem,verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify Failed # # Here are the packages and versions I'm using sessionInfo() R version 2.14.1 (2011-12-22) Platform: i386-pc-mingw32/i386 (32-bit) locale: [1] LC_COLLATE=English_Australia.1252 LC_CTYPE=English_Australia.1252 [3] LC_MONETARY=English_Australia.1252 LC_NUMERIC=C [5] LC_TIME=English_Australia.1252 attached base packages: [1] stats4 stats graphics grDevices utils datasets methods base other attached packages: [1] ROAuth_0.9.2 digest_0.5.1 twitteR_0.99.19 rjson_0.2.6 RCurl_1.91-1.1 [6] bitops_1.0-4.1 igraph_0.5.5-4 topicmodels_0.1-4 tm_0.5-7 slam_0.1-23 [11] modeltools_0.2-18 lasso2_1.2-12 loaded via a namespace (and not attached): [1] tools_2.14.1
更新:尝试@ Btibert3的建议给出了相同的错误:
> ## Authenticate with Twitter = this is an important peice of code > registerTwitterOAuth(cred) [1] TRUE > ########################################################################## > ## lets test out what our session limits look like > ########################################################################## > rate.limit <- getCurRateLimitInfo() Error in function (type,asError = TRUE) : SSL certificate problem,verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify Failed
UPDATE以下@ flz的建议添加cainfo =“cacert.pem”无处不在修复了我的问题:
rate.limit <- getCurRateLimitInfo( cainfo="cacert.pem") rate.limit resource limit remaining reset 1 /lists/subscribers 180 180 2013-03-27 09:35:37 2 /lists/list 15 15 2013-03-27 09:35:37 3 /lists/memberships 15 15 2013-03-27 09:35:37 4 /lists/ownerships 15 15 2013-03-27 09:35:37 5 /lists/subscriptions 15 15 2013-03-27 09:35:37 6 /lists/members 180 180 2013-03-27 09:35:37 7 /lists/subscribers/show 15 15 2013-03-27 09:35:37 8 /lists/statuses 180 180 2013-03-27 09:35:37 9 /lists/show 15 15 2013-03-27 09:35:37 10 /lists/members/show 15 15 2013-03-27 09:35:37 11 /application/rate_limit_status 180 179 2013-03-27 09:35:37 (etc)
会话信息:
sessionInfo() R version 2.15.3 (2013-03-01) Platform: x86_64-w64-mingw32/x64 (64-bit) locale: [1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 [3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C [5] LC_TIME=English_United States.1252 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] ROAuth_0.9.2 digest_0.6.3 twitteR_1.1.0 rjson_0.2.12 RCurl_1.95-4.1 bitops_1.0-5 loaded via a namespace (and not attached): [1] tools_2.15.3
尝试:
原文链接:https://www.f2er.com/windows/371632.htmlgetUser("Rbloggers")$followersCount Error in function (type,verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify Failed getUser("Rbloggers",cainfo="cacert.pem")$followersCount [1] 2752
每个get / update操作都需要一个cainfo =“cacert.pem”.那个烦人