Google Cloud Endpoints Android客户端 - 验证错误

时间:2014-01-23 00:07:29

标签: android python google-app-engine google-cloud-endpoints

我已经设置了一个带有云端点的Python应用引擎项目。我遇到了一个问题,当我在本地测试时,使用端点的auth会失败但是当我部署到app引擎时似乎工作正常。

这是我做过的事情

  • 使用调试密钥库生成Android客户端ID
  • 生成了一个Web客户端ID
  • 使用allowed_clients_id = [API_EXPLORER_ID,ANDROID_CLIENT_ID,WEB_CLIENT_ID]和观众= [WEB_CLIENT_ID]
  • 修饰我的端点api
  • 在我的Android应用中,我创建了一个GoogleAccountCredential,其受众群体为“server:client_id:”+ WEB_CLIENT_ID

我已经部署了它,并且auth工作正常。当我在本地部署它时,auth可以在启用了OAuth的API资源管理器中正常工作。但是当我从我的Android应用程序拨打电话时,我会在日志中看到这个:

ERROR    2014-01-22 23:29:07,006 users_id_token.py:367] Token info endpoint returned status 400: Invalid Value

我不确定我错过了什么。

1 个答案:

答案 0 :(得分:4)

我刚刚修复了由于没有在本地安装pycrypto而导致的同样问题。

尝试安装,例如与pip:

pip install pycrypto

如果未安装pycrypto,App Engine SDK中的users_id_token.py模块似乎不会验证id_token。然后它尝试将id_token验证为auth_token,失败导致您看到的错误。