2010-12-08 12 views
8

Encontré un gran proyecto llamado r-google-analytics que me gustaría usar para poder manipular GA dat en R en este sitio web http://code.google.com/p/r-google-analytics/.Uso de R con Google Analytics

que ejecutar esta parte del código:

library(RCurl) 

library(XML) 

# 1. Create a new Google Analytics API object 
ga <- RGoogleAnalytics() 
# 2. Authorize the object with your Google Analytics Account Credentials 
ga$SetCredentials("INSERT_USER_NAME", "INSERT_PASSWORD") 

y me sale este mensaje de error:

Error in postForm("https://www.google.com/accounts/ClientLogin", Email = username, : 
    SSL certificate problem, verify that the CA cert is OK. Details: 
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed 

alguna idea de lo que podría estar causando el error?

Gracias!

Kim

Respuesta

4

ver http://www.omegahat.org/RCurl/FAQ.html para una explicación detallada y en particular (dependiendo de su preferencia para la seguridad):

Si usted no tiene un certificado de un agente de la firma apropiada, puede suprimir la verificación del certificado con la opción ssl.verifypeer:

x = getURLContent ("https://www.google.com", ssl.verifypeer = FALSO)

2

tuve un problema similar y esto me ayudó a salir:

Utilice la internet2.dll alternativa por a partir de R con la bandera --internet2 (Ver ¿Cómo instalo R para Windows?) o llamando setInternet2 (TRUE). Estos hacen que R utilice las partes internas de Internet Explorer , que pueden ser ya configuradas para su uso con proxies. Tenga en cuenta que esto no funciona con los proxies que necesitan autenticación.

Mientras yo estaba investigando el tema, también descubrí que otros usuarios reportado este problema cuando tenían caracteres no alfanuméricos (es decir, no A-Za-z0-9) en su contraseña.

+0

Gracias por esto. Solo tengo caracteres alfanuméricos en mi contraseña, pero ese es un buen comienzo. – Btibert3

2

Como una buena práctica, algunas referencias a R sessionInfo() y al sistema operativo (uname -a en sistemas unix) podrían ser de alguna utilidad.

Algunos googlear básica también se podría orientar en encontrar una solución, véase por ejemplo:

http://curl.haxx.se/docs/sslcerts.html

http://www.linuxquestions.org/questions/slackware-14/openssl-ssl-error-code-14090086-verify-the-ca-cert-is-ok-certificate-verify-failed-703523/

HIH!

+0

Hola Paolo. Soy completamente nuevo en CURL y nunca lo uso directamente. Leí el primer enlace y parece tener sentido para mí. Mi pregunta es esta ¿Cómo puedo "actualizar" mi curvatura para que funcione para R y, posteriormente, este paquete? – Btibert3

+0

@ Btibert3 No es una respuesta fácil. Depende del sistema operativo que esté utilizando. En el sistema operativo tipo Unix (como Linux y Mac OS X), generalmente todo funciona de la manera correcta (al menos para versiones recientes). Como punto de partida, puede usar la etiqueta [curl] en StackOverflow, por ejemplo, http://stackoverflow.com/search?q=%5Bcurl%5D+install - ¡Buena suerte! – Paolo

2

Aquí es el acceso directo, simplemente copia, camino para el cambio y pegar:

source("C:\\Users\\cloudstat\\Desktop\\Google analytics Plus\\RGoogleAnalytics.R") 
source("C:\\Users\\cloudstat\\Desktop\\Google analytics Plus\\QueryBuilder.R") 

install.packages("C:\\Users\\cloudstat\\Desktop\\Google analytics Plus\\RGoogleAnalytics_1.1.tar.gz",repos=NULL,type="source") 

library(XML) 
library(RCurl) 
library(RGoogleAnalytics) 

download.file(url="http://curl.haxx.se/ca/cacert.pem", destfile="cacert.pem") 
curl <- getCurlHandle() 
options(RCurlOptions = list(capath = system.file("CurlSSL", "cacert.pem", package = "RCurl"), ssl.verifypeer = FALSE)) 
curlSetOpt(.opts = list(proxy = "proxyserver:port"), curl = curl) 

ga <- RGoogleAnalytics() 
ga$SetCredentials("USERNAME", "PASSWORD") 

Buena suerte :)

0

Intenta ejecutar esto. Ingrese el Id. De cliente y el Servidor desde el administrador API de Google Console.

install.packages("RGoogleAnalytics") 
install.packages("googleAuthR") 
library(RGoogleAnalytics) 

client.id <-"################.apps.googleusercontent.com" 
client.secret <-"##############_TknUI" 
token<-Auth(client.id,client.secret)