如何通过谷歌驱动器API使用刷新令牌生成访问令牌?

我已完成授权步骤并获得访问令牌和刷新令牌。

接下来我应该如何使用我已经通过谷歌驱动器API存储的刷新令牌来生成访问令牌?

因为我在Force.com上工作,所以我不能使用任何sdk,所以请build议直接通过API实现的方式。

如果您想要自己实现这一function,则可以在https://developers.google.com/accounts/docs/OAuth2WebServer上logging用于Web服务器应用程序的OAuth 2.0stream程,特别是您应该查看有关使用刷新令牌的部分:

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

这是一个古老的问题,但在我看来,它并没有完全回答,我也需要这些信息,所以我会张贴我的答案。

如果您想使用Google Api客户端库,那么您只需要拥有包含刷新令牌的访问令牌,然后即使访问令牌在一小时后过期,库也会为您刷新令牌自动。

为了获得带有刷新令牌的访问令牌,您只需要询问离线访问types(例如在PHP: $client->setAccessType("offline"); ),您将获得它。 请记住,只有在第一次授权时才会使用刷新令牌获取访问令牌,因此请确保在第一次保存该访问令牌后,随时可以使用该令牌。

希望帮助任何人:-)

如果您使用的是web api,那么您应该使用以下请求主体对URL进行http POSThttps://www.googleapis.com/oauth2/v4/tokenhttps://www.googleapis.com/oauth2/v4/token

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

刷新令牌永不过期,所以你可以使用任何次数。 响应将是一个像这样的JSON:

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