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版本

在openGl android(Wear)中绘制基于图像的纹理

Android Wear 布局开始太低

圆形 Android Wear 设计的 Snackbar

Xamarin.Forms - 创建 Android Wear 应用程序时出现问题