Android和Google端点身份验证例外

时间:2017-02-25 02:02:00

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

我正在尝试将Udacity Conference中心Android应用程序连接到Google云端的应用引擎应用程序。

我遇到了异常

  

com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAuthIOException"引起:com.google.android.gms.auth.GoogleAuthException:INVALID_AUDIENCE"

我尝试过的事情:

  1. 生成" WebClient ID"和#34; Android客户端ID"在App Engine凭据页面中。使用Web客户端ID作为" Android_AUDIENCE"在应用引擎应用和"服务器:client_id:"在Android应用中。

  2. 生成我的密钥库并在创建android客户端ID时使用它。在命令行上对jar进行签名,并尝试通过复制apk来安装应用程序。

  3. 在build.gradle中添加我的密钥库凭据并运行该应用。

  4. 使用" android.keystore"发布密钥存在于应用程序文件夹中。

  5. 使用" debug.keystore"存在于/.android文件夹中。

  6. 尝试在Google云端控制台上删除并重新创建Android客户端ID,但没有运气。我使用此Udacity Android <-> Cloud Endpoints app configuration进行连接。

    @Api(name = "conference",
        version = "v1",
        scopes = {Constants.EMAIL_SCOPE, "https://www.googleapis.com/auth/plus.login email"},
        clientIds =
                {
                Constants.WEB_CLIENT_ID,Constants.WEB_CLIENT_ID_2, Constants.API_EXPLORER_CLIENT_ID, Constants.ANDROID_CLIENT_ID
                },
        audiences = {Constants.ANDROID_AUDIENCE},
        description = "API for the Conference Central Backend application.")
    

1 个答案:

答案 0 :(得分:0)

'INVALID_AUDIENCE'表示您在setup中没有正确Google Cloud Console您的Android应用,或者您的'网络应用客户ID'和'Android应用客户ID'不同Google Cloud项目。

在Google云端控制台中创建“Android应用客户端ID”时,请确保为您的Android应用使用正确的package name。还要确保正确生成SHA1指纹。

在同一个Google Cloud项目中,您还需要使用enable any APIs来使用您的客户ID。