2012-05-17 19 views
38

He completado los pasos de autorización y he obtenido token de acceso y actualización.¿Cómo se genera el token de acceso mediante el token de actualización a través de la API de Google Drive?

¿Qué debo hacer después de generar el token de acceso utilizando el token de actualización que he almacenado a través de la API de Google Drive?

No podré usar ningún SDK ya que estoy trabajando en Force.com, por lo que le sugiero la forma de implementarlo directamente a través de la API.

Respuesta

19

Si desea implementar que usted mismo, el 2,0 flujo de OAuth para aplicaciones de servidor Web se documenta en https://developers.google.com/accounts/docs/OAuth2WebServer, en particular, usted debe comprobar la sección sobre el uso de un token de actualización:

https://developers.google.com/accounts/docs/OAuth2WebServer#refresh

+0

Los documentos que ha mencionado se refieren únicamente a la comunicación Raw-HTTP. ¿Hay algún método en PHP-API para refrescar los tokens? –

+0

Comprueba https://developers.google.com/drive/credentials –

+0

@ClaudioCherubino ... lamento interrumpirte ... pero podrías por favor contarme. es posible obtener la URL autorizada de Google Drive, que se puede usar públicamente, como reproducir audio y video con el reproductor de Internet Explorer ... en iOS – NextStep

14

Es una vieja pregunta, pero me parece que no fue completamente respondida, y también necesitaba esta información, así que publicaré mi respuesta.

Si desea utilizar la biblioteca de clientes de Google Api, solo necesita tener un token de acceso que incluye el token de actualización y, a pesar de que el token de acceso caducará después de una hora, la biblioteca actualizará el token para ti automáticamente

Para obtener un token de acceso con un token de actualización, solo tiene que solicitar el tipo de acceso sin conexión (por ejemplo, en PHP: $client->setAccessType("offline");) y lo obtendrá. Solo tenga en cuenta que obtendrá el token de acceso con el token de actualización solo en la primera autorización, así que asegúrese de guardar ese token de acceso la primera vez y podrá usarlo en cualquier momento.

la esperanza de que ayude a cualquiera :-)

13

Si está utilizando la API web a continuación, usted debe hacer una llamada http POST a URL: https://www.googleapis.com/oauth2/v4/token con petición siguiente cuerpo

client_id: <YOUR_CLIENT_ID> 
client_secret: <YOUR_CLIENT_SECRET> 
refresh_token: <REFRESH_TOKEN_FOR_THE_USER> 
grant_type: refresh_token 

token de actualización nunca caduca para que puede usarlo varias veces La respuesta será un JSON como este:

{ access_token: 'ya....', token_type: 'Bearer', expires_in: 3599 } 
+0

no está funcionando –

+0

trabajando pragmáticamente con httpclient, no trabajando desde el cartero en el caso de mayo también. –

+2

Por favor, intente solicitar cuerpo como x-www-form-urlencoded. –

Cuestiones relacionadas