在 Google Play 游戏的服务器授权期间发生 redirect_uri_mismatch 错误
Posted
技术标签:
【中文标题】在 Google Play 游戏的服务器授权期间发生 redirect_uri_mismatch 错误【英文标题】:redirect_uri_mismatch error during server authorization for Google Play Games 【发布时间】:2019-09-17 19:51:04 【问题描述】:我正在使用 play-games-plugin-for-unity 通过 Google Play Games 对我的 Unity (android) 游戏进行身份验证,并将身份验证代码传递给我的 Python (Flask) 服务器。
虽然客户端代码运行良好,但从我的服务器(我在本地运行)发送身份验证请求时出现redirect_uri_mismatch
错误。
我已经调试了我的服务器代码并确认:
我从客户端正确获取了验证码 我的 redirect_uri 设置为postmessage
(由 oauth2client 设置的默认值)
我尝试删除“授权重定向 URI”(当我在 Google Play 游戏控制台中将链接的网络应用程序添加到我的游戏时默认创建的)。
虽然这似乎是一个常见问题,但我在使用 play-games-plugin-for-unity
时未能找到任何示例/参考来解决此问题。据我所知,我似乎没有发送任何redirect_uri
s,但如果不重建原生 Android 插件并尝试调试它,我无法确定。我觉得我在这里遗漏了一些简单的东西。
这是我的服务器代码:
from oauth2client import client
credentials = client.credentials_from_code(LINKED_WEB_APP_CLIENT_ID,
LINKED_WEB_APP_CLIENT_SECRET,
['https://www.googleapis.com/auth/games'],
server_auth_code)
【问题讨论】:
【参考方案1】:查看clientserverskeleton Java 示例后,我发现传递 ""(空字符串!!)作为 redirect_uri 有效:
from oauth2client import client
credentials = client.credentials_from_code(LINKED_WEB_APP_CLIENT_ID,
LINKED_WEB_APP_CLIENT_SECRET,
['https://www.googleapis.com/auth/games'],
server_auth_code,
redirect_uri="")
【讨论】:
以上是关于在 Google Play 游戏的服务器授权期间发生 redirect_uri_mismatch 错误的主要内容,如果未能解决你的问题,请参考以下文章
Unity Google Play 游戏插件:错误未授权代码 13
用户退出 Google Play 服务后保存游戏的最佳做法?