Android Wear OAuth2.0 未收到刷新令牌
Posted
技术标签:
【中文标题】Android Wear OAuth2.0 未收到刷新令牌【英文标题】:Android Wear OAuth2.0 Not receiving Refresh Token 【发布时间】:2018-03-26 20:50:35 【问题描述】:在我的 android Wear 应用中:
我打电话来获取我的授权码:
https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/books&access_type=offline&redirect_uri=https://www.android.com/wear/3p_auth/com.apps.greyrobe.wordrunner&response_type=code&client_id=[MY_CLIENT_ID]
然后我在手机上授权该应用程序。我进行 POST 调用以获取我的令牌(访问和刷新):
https://www.googleapis.com/oauth2/v3/token?code=[MY_CODE]&client_id=[MY_CLIENT_ID]&client_secret=[MY_CLIENT_SECRET]&redirect_uri=https://www.android.com/wear/3p_auth/com.apps.greyrobe.wordrunner&grant_type=authorization_code
然后我收到回复:
"access_token": "[MY_ACCESS_TOKEN]", "token_type": "Bearer", "expires_in": 3574
我在初始代码请求中包含了参数 access_type=offline。为什么我没有得到刷新令牌?我在 OAuth2.0 Playground 中进行了尝试,并将 redirect_uri "https://developers.google.com/oauthplayground" 添加到开发人员控制台中的项目中,我可以在那里接收它。有什么区别,我该如何解决?提前致谢。
【问题讨论】:
【参考方案1】:分辨率
转到https://myaccount.google.com/permissions 并从我的帐户中删除了我的应用程序的权限。再次尝试请求,我收到了刷新令牌。
【讨论】:
以上是关于Android Wear OAuth2.0 未收到刷新令牌的主要内容,如果未能解决你的问题,请参考以下文章
具有 3 个风格、3 个 buildTypes 和 2 个 applicationIdSuffixes 的 Android Wear 项目
支持Android Wear的APK必须至少具有至少23的SDK版本