请求id_token时Google oauth INVALID_AUDIENCE

时间:2013-02-13 11:57:13

标签: android google-oauth

我在我的Android应用程序中实现了http://android-developers.blogspot.fi/2013/01/verifying-back-end-calls-from-android.html。我在google api项目的开发版本中添加了应用程序的客户端ID,并使android应用程序要求id_token

idToken = GoogleAuthUtil.getToken(AuthenticatorActivity.this, accountName, "audience:server:client_id:1234567890.apps.googleusercontent.com");

所有这一切都非常接近完美。然后我想测试它是否适用于生产。我在生产版本google api项目中添加了客户端ID,在代码中使用它并重建了生产版本应用程序。从那以后我总是得到

GLS error: INVALID_AUDIENCE <Removed>@gmail.com audience:server:client_id:1234567890.apps.googleusercontent.com

作为回复和带有相同消息的GoogleAuthException。

我曾尝试一次删除并重新创建一个客户端ID(所以我只使用了昨天的开发client_id和未修改的代码进行了测试,结果相同。),我检查过我确实使用了正确的SHA1& #39;在创建客户端ID时,我重新构建了应用的两个版本,并使用多个设备和Google帐户进行了测试。

我是否通过在两个项目中添加一个具有相同android包名称的client_id来打破google api项目服务器,或者只是忽略了一些东西?

编辑:似乎我真的破坏了一些东西,因为在第三个项目中创建一个新的客户端ID使我能够在不更改代码的情况下再次获取id_token。

1 个答案:

答案 0 :(得分:2)

谷歌处理新创建的client_ids时出现了一个错误(自修复以来)(它不会影响实时应用,只会影响新注册的应用)。你在过去几天再试过一次吗?