API de Google Analytics V3.0: uso de OAuth 2.0 con la contraseña de inicio de sesión dada en el código del programa

StackOverflow https://stackoverflow.com/questions/8881415

  •  29-10-2019
  •  | 
  •  

Pregunta

Estoy intentando utilizar las últimas bibliotecas de cliente .NET para acceder a la versión 3.0 de la API de Google Analytics (API de informes centrales). Registré mi aplicación en la consola de API de Google y utilicé OAuth 2.0 para acceder a la API.

Dado que todavía no hay ejemplos de cómo utilizar la API de Google Analytics, Usé una muestra que demuestra el caso de uso más simple para un servicio OAuth2 y apliqué ese esquema a mi contexto, con éxito.

(Observación: también encontré ayuda para corregir los errores en el código fuente de la biblioteca Google.Apis.Analytics.v3.dll)

Si utilizo mi programa, debo iniciar sesión en Google, otorgar permisos a mi aplicación y copiar un código de autorización.

Me gustaría omitir este flujo escribiendo mi contraseña de inicio de sesión en el código del programa (- en texto sin cifrar). Mi problema es que no puedo encontrar esta función en las bibliotecas. En la versión 2.3 de Google Analyitcs, funcionó con las líneas simples de C #:

AnalyticsService asv = new AnalyticsService("");
asv.setUserCredentials(CLIENT_USERNAME, CLIENT_PASS);

¿Alguien puede ayudarme?

¿Fue útil?

Solución

Poner un nombre de usuario y una contraseña es un problema de seguridad.Google agregó acceso sin conexión solo para este propósito.

Utilice un token de actualización.Puede almacenarlo y usarlo para acceder a sus datos analíticos sin tener que iniciar sesión cada vez que es esencialmente lo que está haciendo con el nombre de usuario y la contraseña que describió.

Las instrucciones de acceso sin conexión se pueden encontrar aquí:

http://code.google.com/apis/accounts/docs / OAuth2WebServer.html # offline

Otros consejos

Bueno, esta es una pregunta antigua.Pero aquí hay un ejemplo de código de cómo hacerlo funcionar.

PM> install-package google.apis -pre
PM> install-package google.apis.analytics.v3 -pre

Descargue el archivo json secreto del cliente desde la consola de Apis y agréguelo a su proyecto con el nombre client_secret.Json.Es posible que deba cambiar las propiedades para crear contenido de acción y copiarlo en la salida si es más nuevo.

// Autentication
UserCredential credential;
using (var stream = new System.IO.FileStream("client_secret.json", System.IO.FileMode.Open,      System.IO.FileAccess.Read))
 {
  credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
  GoogleClientSecrets.Load(stream).Secrets,
  new[] { AnalyticsService.Scope.AnalyticsReadonly },
  "user", CancellationToken.None, new FileDataStore("Analytics.Auth.Store")).Result;
  }

// crea el servicio

AnalyticsService service = new AnalyticsService(new BaseClientService.Initializer() {
     HttpClientInitializer = credential,
     ApplicationName = "Analytics API sample",
 });
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top