2010-06-23 15 views
5

Google Reader API ¡Parece que espera algo diferente para la autenticación hoy!Problema de autenticación de Google Reader

Hace aproximadamente una semana, descargué this, y todo está funcionando e intento conectarlo a java. Para mi código, está funcionando perfectamente (con la ayuda de sus ejemplos) hasta el día de hoy. Apile el rastreo de todo y descubrí que, de repente, el lector de Google no acepta solo el SID como cookie. Y por supuesto, pruebo ejecutar también su aplicación de muestra y tampoco funciona.

Luego fui a alterar los datos de Google Reader, y eliminé todas las entradas de cookies excepto el SID, y no está funcionando (bueno, da 401, al igual que mi aplicación y tu muestra); Probé de nuevo y descubrí que ahora necesita otra entrada de cookie llamada HSID, que, en comparación con SID (que tiene más de 100 palabras), es de 10 a 20 palabras. ¿Alguien sabe dónde podemos obtener ese HSID adicional?

PD Puedo hacer el HTTPS para la autenticación y google me devuelve tres tokens (SID, LSID, AUTH). Pero en ninguna parte puedo adivinar qué es el HSID.

Respuesta

10

Lo hice. Sí, el link provisto por sfa es correcto. Pero el formato es demasiado confuso. Así es como lo hago.

  1. Publica en https://www.google.com/accounts/ClientLogin con las credenciales de acceso.
  2. A cambio, se pasarán tres tokens si el inicio de sesión correcto es a. SID b. LSID c. Auth
  3. Guarde la autenticación en algún lugar de la aplicación. Olvidarse de SID y LSID (supongo que podría eliminarlos más adelante)
  4. En cada solicitud, añadir siguiente en el encabezado: headername: Autorización valor: GoogleLogin auth = {} cadena de autenticación por ejemplo, (en java)

    HttpGet method = new HttpGet (CommandUrl + QueryString); method.addHeader ("Autorización", "GoogleLogin auth =" + Auth);

Esto funciona. Gracias sfa por el enlace.

+0

No recibí un 'Auth = ...' en la respuesta de inicio de sesión hasta que pasé 'service: reader' en la solicitud de inicio de sesión. –

3

Tienes que agregar la Autorización GoogleLogin auth = xxx a tu encabezado. Aquí está la cita de la message:

aquí es un breve resumen de cómo hacer este cambio: Para aquellas aplicaciones que el área ya la obtención de autenticación desde https://www.google.com/accounts/ClientLogin debe volver como parte de su respuesta un Auth = valor. Por cada solicitud de que envíe a Reader debe proporcionar ese valor como encabezado HTTP y las cosas funcionarán como siempre. El formato cabecera es: Autorización: GoogleLogin auth = [valor obtenida de ClientLogin]

Conferm que funciona! Obtuve el mismo error y ya resolví el problema. See it here.

+0

sí. Lo que intento hacer es alterar el lector de Google y ver qué parámetro es necesario, como lo que escribí en mi pregunta. Y no está funcionando a menos que el HSID esté allí. – xandy

Cuestiones relacionadas