Excepción lanzada al utilizar la API de análisis de GData .NET
Me enfrento a un problema al intentar obtener datos de la API de GoogleAnalytics en un fragmento de código que ha estado funcionando bien hace unos días.
Para esto estoy haciendo referencia a los siguientes archivos DLL:
Google.GData.Analytics.dll
Google.GData.Client.dll
Google.GData.Extensions.dll
Y estoy usando el siguiente código:
Dim visits As String = String.Empty
Dim username As String = "[email protected]"
Dim pass As String = "mypassword"
Const dataFeedUrl As String = "https://www.google.com/analytics/feeds/data"
Dim query As AccountQuery = New AccountQuery()
Dim service As AnalyticsService = New AnalyticsService("MyWebAnalyticsService")
service.setUserCredentials(username, pass)
Dim accountFeed As AccountFeed = service.Query(query) ''----------> Exception thrown in this line: GDataRequestException Execution of request failed: https://www.google.com/analytics/feeds/accounts/default
Pensé que tenía que ver con un bloqueo en la cuenta que estaba usando, pero no fue así porque verifiqué el registro del sitio para otra cuenta de análisis y aún no funciona.
Este código ha funcionado perfectamente, como he dicho, pero de repente dejó de hacerlo ayer.
¿Podría por favor ayudarme a averiguar qué está mal? Tal vez la forma en que se configuran las credenciales de usuario ha cambiado y me estoy perdiendo algo.
Muchas gracias por su ayuda.
'----Actualizar---- Logré que funcionara y ahora puedo consultar las visitas para un dominio deseado. El código va de la siguiente manera:
Dim visits As String = String.Empty
Dim username As String = "[email protected]"
Dim pass As String = "mypassword"
'Sigue las instrucciones enhttps://developers.google.com/analytics/resources/articles/gdata-migration-guide (Cree un proyecto en la Consola de API de Google) para generar su clave 'Una vez que lo haya configurado como parte de la cadena de consulta para solicitar nuestro servicio GA
Dim gkey As String = "key=yourkeystring"
'Configure el nuevo URI para recuperar los datos del feed y adjuntarlos a la clave generada
Dim dataFeedUrl As String = "https://www.google.com/analytics/feeds/data?" & gkey
'Crear y autenticar en nuestra instancia de servicio
Dim service As AnalyticsService = New AnalyticsService("MyAnaliticsService")
service.setUserCredentials(username, pass)
'Use el ID de perfil para la cuenta de la que desea obtener estas visitas, puede encontrarlo
'iniciando sesión en su cuenta de análisis, seleccione el dominio deseado en su lista (enlace azul), haga clic en el botón del administrador y en la pestaña de perfiles encuentre el perfil
'subficha de configuración, allí mismo encontrará la identificación del perfil en este caso, la identificación de ocho caracteres de largo 12345678
Dim query1 As DataQuery = New DataQuery(dataFeedUrl)
With query1
.Ids = "ga:12345678"
.Metrics = "ga:visits"
.Sort = "ga:visits"
.GAStartDate = DateTime.Now.AddMonths(-1).AddDays(-2).ToString("yyyy-MM-dd")
.GAEndDate = DateTime.Now.ToString("yyyy-MM-dd")
.StartIndex = 1
End With
'Use la fuente de datos generada en base a la consulta anterior para obtener las visitas
Dim dataFeedVisits As DataFeed = service.Query(query1)
For Each entry As DataEntry In dataFeedVisits.Entries
Dim st As String = entry.Title.Text
Dim ss As String = entry.Metrics(0).Value
visits = ss
Next