获取访问令牌 Google Play Android Developer API

Posted

技术标签:

【中文标题】获取访问令牌 Google Play Android Developer API【英文标题】:Get access token Google Play Android Developer API 【发布时间】:2014-03-08 03:56:42 【问题描述】:

我已经使用了这个主题的代码:Unable to get the subscription information from Google Play android Developer API

我可以从 uri 中获取刷新令牌

https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/androidpublisher&response_type=code&access_type=offline&redirect_uri=REDIRECT_URI&client_id=CLIENT_ID

我打电话给getRefreshToken(token from URI),答案是:


    "access_token" : "ya29.1.AADtN_XSr_9GwIybDh0fT5kt487DGYEed2sTzugp_MDOLEJAiMOTY3o17HwnvA7BIgP6",
    "token_type" : "Bearer",
    "expires_in" : 3407

使用此访问令牌,我可以获得有关我的 google android 开发者帐户的信息。

问题是访问令牌在 1 小时后过期,我无法重新生成它。 我试着打电话给getAccessToken(token from uri),答案是:


    "error" : "invalid_grant"

我在 JAVA 中的谷歌应用引擎服务器上使用此代码。

如果有人用 com.google.api.client.auth.oauth2 重新编码这样的方法会很棒。

【问题讨论】:

你在这里问什么? (另外,我认为您将自己的访问令牌放在这里是不可取的) 它不是有效令牌 ^^。我在问,如何使用刷新令牌获取新的访问令牌 检查***.com/a/24264696/165708 【参考方案1】:

获取刷新令牌时的默认第一响应是:

 
"access_token" : "****", 
"token_type" : "Bearer", 
"expires_in" : 3600,
"refresh_token" : "****" 

每个下一个响应都会返回:

 
"access_token" : "****", 
"token_type" : "Bearer", 
"expires_in" : 3600,

您需要从 google 帐户中删除 oAuth 或在请求中使用“approval_prompt=force”来强制获取刷新令牌。

【讨论】:

以上是关于获取访问令牌 Google Play Android Developer API的主要内容,如果未能解决你的问题,请参考以下文章

无法获取 google play 授权的刷新令牌

Google Play 服务返回使用非 Google 密钥签名的令牌

带有 Google Play 游戏服务的 OAuth 令牌

NetSuite 如何免Google Play取得安装包

Google Analytics:从刷新令牌中获取访问令牌

向 Google Play Android Developer API 发出 HTTP 发布请求