Я пытаюсь получить число подписчиков большого числа пользователей Твиттера с twitteR
. Многие из других вопросов , которые были опубликованы, были очень полезны для меня, но, насколько я понимаю, ни один из них не имеет прямого отношения к моей проблеме.
Я могу зарегистрировать свои учетные данные OAuth в сеансе Twitter R, но тогда я, похоже, ничего не могу сделать, я просто получаю следующее сообщение:
Error in function (type, msg, asError = TRUE) :
SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify fail
Когда я использую функции 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, msg, 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, msg, 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
Как заставить работать функции twitteR
после регистрации учетных данных?
ОБНОВЛЕНИЕ : Попытка предложения @ 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, msg, asError = TRUE) :
SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
ОБНОВЛЕНИЕ Следуя предложению @ 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