TwitteR, ROAuth y Windows: registro correcto, pero la verificación del certificado falló
Estoy tratando de obtener el número de seguidores de una gran cantidad de usuarios de Twitter contwitteR
. Mucho deotr preguntas publicado ha sido muy útil para llegar hasta aquí, pero ninguno parece ser directamente relevante para mi problema, por lo que puedo ver.
Puedo registrar mis credenciales de OAuth en una sesión de Twitter R, pero parece que no puedo hacer nada en absoluto, solo recibo este mensaje:
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
Cuando uso latwitteR
funciona sin usar OAuth, funcionan bien sin errores ni advertencias, pero me encuentro con límites y cuentas protegidas, que pensé que podría evitar con OAuth.
Aquí están los detalles
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
¿Cómo puedo obtener eltwitteR
funciones que funcionan después de registrar mis credenciales?
ACTUALIZA: Probar la sugerencia de @ Btibert3 da el mismo error:
> ## 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
ACTUALIZA siguiendo la sugerencia de @ flz para agregarcainfo="cacert.pem"
en todas partes ha solucionado mi problema:
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)
Información de la sesión:
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