2011-01-04 21 views
6

que estoy tratando de conseguir el acceso a la alimentación de tareas del Google con esta url:La autorización para Google Lista de Tareas (authToken, secid)

https://www.google.com/calendar/tdl?secid=<SECID>&tdl={%22action_list%22%3A[{%22action_type%22%3A%22get_all%22%2C%22action_id%22%3A%221%22%2C%22list_id%22%3A%2215052708471047222911%3A0%3A0%22%2C%22get_deleted%22%3Afalse}]%2C%22client_version%22%3A-1}

Si abro esto en mi navegador con un secid correcta, me muestra lo que quiero.

Ahora, la pregunta es: ¿cómo puedo obtener secid programáticamente (específicamente, en un programa Java)? Tengo acceso a authToken (desde CalendarService), pero no tengo ni idea de cómo usarlo para autorizar mi acceso a la URL anterior.

He intentado usar la url http://google.com/accounts/ServiceLogin, pero no encontré ningún ejemplo.

¿Alguna ayuda, por favor?

Respuesta

1

Por lo que leo secid es un identificador de sesión obtenida de las cookies del navegador. Mientras que su caso usa Java, lo que implica una aplicación de servidor. Si ese es el caso, desea descartar por completo la idea de usar secid.

En su lugar, desea verificar Google's OAuth2 documentation. Si está utilizando Java, lo más probable es que esté interesado en the web-server OAuth flow. Preste especial atención a los diagramas de secuencia.

Los pasos clave incluyen:

1) obtener un código de autorización de Google OAuth con el consentimiento del usuario. Para eso, redirige al usuario a Google con el alcance apropiado. Consulte la lista de calendar scopes para su caso. Una vez que el usuario da su consentimiento, Google le redirige a usted con un código de autorización.

2) Llame a Google OAuth con el código de autorización y las credenciales de su aplicación para intercambiar un token de acceso.

3) Llamar a Google Calendar API utilizando el token de acceso.

Y si utiliza el cliente de Java de Google como lo sugiere @ChaosPredictor, es probable que algunos de los pasos ya estén incluidos en el cliente de Java (y su código será mucho más simple).

Cuestiones relacionadas