Google Play游戏的服务器授权期间redirect_uri_mismatch错误

时间:2019-04-29 07:55:32

标签: android unity3d google-oauth google-play-games google-api-client

我正在使用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消息,但是如果不重建本机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 个答案:

答案 0 :(得分:0)

在查看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="")