无法获得Google Play授权的刷新令牌

时间:2012-10-24 19:43:03

标签: android

我无法获得Google Play授权的刷新令牌。

我按照Google Play Android Developer中的说明操作 API授权页面。我创建了一个OAuth 2.0客户端ID。我成功获得了客户端ID。我把所有的信息都放在了 获取刷新令牌的URI,我发送请求,我提示 用于“允许访问”。当我点击“允许访问”时,我得到一个无法访问 连接错误。 这是我的URI:

https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/androidpublisher&response_type=code&access_type=offline&redirect_uri=https://localhost/oauth2callback&client_id=345674341799.apps.googleusercontent.com

2 个答案:

答案 0 :(得分:2)

当您创建“Web”类型的客户端ID并调用/ o / oauth2 / auth服务时,您的用户代理(/ browser)将尝试重定向URI。如果它像你的例子中那样是假的(这是默认的)那么用户代理当然会失败。授权代码仍然是失败URL的参数部分,但可能并不明显。

使用授权代码,您需要使用正确部署的POST调用/ o / oauth2 / token服务。我犹豫是否要指向特定的Google指令页面,因为它们可能是出了名的不完整,矛盾和过时,但这是对整个过程的合理概述https://developers.google.com/accounts/docs/OAuth2WebServer

要记住的一件事是,第一次成功调用给定客户端ID的/ o / oauth2 / token将返回难以捉摸的刷新令牌,但除非您重试/ o / oauth2,否则不会再次返回/ auth服务提供URL参数approval_prompt = force。这一点信息是你阅读这篇文章的奖励,可以为你节省数小时毫无意义的挫败感。

答案 1 :(得分:0)

无法连接错误包含"代码"参数值。那个价值应该是 用作"代码" POST请求中的参数值https://accounts.google.com/o/oauth2/token