Gitkit Android : gms.StatusHelper 来自线路的状态: INVALID_AUDIENCE 状态: null
Gitkit Android : gms.StatusHelper Status from wire: INVALID_AUDIENCE status: null
我在一年前下载了 Android 入门应用程序,并在其上编写了我的代码。 Google 身份验证在不久前还可以正常工作。
我启用了 Google、Facebook 和 Yahoo 身份验证。
我在我的网站上实施了 Gitkit v3,目前 Google 登录工作正常。
现在,在我的 Android 应用程序上,自定义用户 ID 身份验证工作正常,但 Google 身份验证不正常。
选择 Gmail Id 时,没有任何反应:onSignIn()
和 onSignInFailed()
都不会被触发。
在过去的一年里,这部分是否有任何不向后兼容的服务器端代码更改?
===================================
In logcat, the following exception is seen when a Gmail Id is selected for Sign In :
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: Unrecoverable auth exception: Unknown
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: com.google.android.gms.auth.GoogleAuthException: Unknown
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at com.google.identitytoolkit.idp.google.GoogleIdpClient.call(GoogleIdpClient.java:131)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at com.google.identitytoolkit.idp.google.GoogleIdpClient.call(GoogleIdpClient.java:125)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at com.google.identitytoolkit.executor.ProgressRequestExecutor.doInBackground(ProgressRequestExecutor.java:84)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at com.google.identitytoolkit.executor.ProgressRequestExecutor.doInBackground(ProgressRequestExecutor.java:71)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at android.os.AsyncTask.call(AsyncTask.java:295)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at android.os.AsyncTask$SerialExecutor.run(AsyncTask.java:234)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at java.lang.Thread.run(Thread.java:818)
10-16 21:29:40.933 6453-6480/com.application.my_app E/Surface: getSlotFromBufferLocked: unknown buffer: 0x9f1fb160
============================
更新 1
我尝试为 Android 使用新的客户端 ID,并在我的 Python 端点代码中使用它。这没有帮助。
============================
更新 2
我创建了一个新的 Client ID for Web application
并在端点 python 文件(作为 WEB_CLIENT_ID
)和 AndroidManifest.xml (作为 identitytoolkit.server_client_id
的值)中使用它。仍然出现以下异常:
10-18 09:43:38.000 12063-15754/? W/GLSActivity: gms.StatusHelper Status from wire: INVALID_AUDIENCE status: null
10-18 09:43:38.000 12063-15754/? I/GLSUser: [GLSUser] getAuthtoken(<ELLIDED:-2092860235>, audience:server:client_id:My_NEW_Client_Id__For_Web_Application.apps.googleusercontent.com) -> status: UNKNOWN)
10-18 09:43:38.000 12063-15754/? I/GLSUser: [GLSUser] Extracting token using key: Auth
10-18 09:43:38.000 12063-15754/? W/GLSActivity: gms.StatusHelper Status from wire: INVALID_AUDIENCE status: null
10-18 09:43:38.050 1914-3643/? I/ActivityManager: Start proc 2421:com.google.android.partnersetup/u0a11 for broadcast com.google.android.partnersetup/.RlzPingBroadcastReceiver
10-18 09:43:38.117 12147-12257/? W/Icing: GetUsageReports fallback to slow seek
10-18 09:43:38.120 1914-2954/? I/ActivityManager: Killing 32316:com.android.defcontainer/u0a4 (adj 15): empty #17
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: Unrecoverable auth exception: Unknown
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: com.google.android.gms.auth.GoogleAuthException: Unknown
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at com.google.identitytoolkit.idp.google.GoogleIdpClient.call(GoogleIdpClient.java:131)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at com.google.identitytoolkit.idp.google.GoogleIdpClient.call(GoogleIdpClient.java:125)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at com.google.identitytoolkit.executor.ProgressRequestExecutor.doInBackground(ProgressRequestExecutor.java:84)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at com.google.identitytoolkit.executor.ProgressRequestExecutor.doInBackground(ProgressRequestExecutor.java:71)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at android.os.AsyncTask.call(AsyncTask.java:295)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at android.os.AsyncTask$SerialExecutor.run(AsyncTask.java:234)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at java.lang.Thread.run(Thread.java:818)
10-18 09:43:38.178 1233-1272/com.application.my_app E/Surface: getSlotFromBufferLocked: unknown buffer: 0x9f355b50
请帮忙。
我能够至少部分地解决问题。问题是我提供了 "package"
名称,其中要求包名称作为 Google 开发人员控制台上的密钥。我应该提供我的 "build.gradle"
中提到的 "applicationId"
。就我而言,两者都是不同的。由于在所有文档中都提到提供包名称,所以我感到困惑。
进行更改后,Google 身份验证工作正常。我正在调查仍然无法正常工作的 Facebook 身份验证。
我已经迁移到最新的 Gitkit 库,我发现新的 android 库中缺少以下功能:
我正在尝试找出他们的解决方法:
IdToken idToken = client.getSavedIdToken();
Account account = client.getSavedAccount();
下面link会解释这部分
http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename
以上相关摘录link
Therefore, we have decoupled the two usages of package name: The final
package that is used in your built .apk's manifest, and is the package
your app is known as on your device and in the Google Play store, is
the "application id". The package that is used in your source code to
refer to your R class, and to resolve any relative activity/service
registrations, continues to be called the "package".
我在一年前下载了 Android 入门应用程序,并在其上编写了我的代码。 Google 身份验证在不久前还可以正常工作。
我启用了 Google、Facebook 和 Yahoo 身份验证。
我在我的网站上实施了 Gitkit v3,目前 Google 登录工作正常。
现在,在我的 Android 应用程序上,自定义用户 ID 身份验证工作正常,但 Google 身份验证不正常。
选择 Gmail Id 时,没有任何反应:onSignIn()
和 onSignInFailed()
都不会被触发。
在过去的一年里,这部分是否有任何不向后兼容的服务器端代码更改?
===================================
In logcat, the following exception is seen when a Gmail Id is selected for Sign In :
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: Unrecoverable auth exception: Unknown
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: com.google.android.gms.auth.GoogleAuthException: Unknown
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at com.google.identitytoolkit.idp.google.GoogleIdpClient.call(GoogleIdpClient.java:131)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at com.google.identitytoolkit.idp.google.GoogleIdpClient.call(GoogleIdpClient.java:125)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at com.google.identitytoolkit.executor.ProgressRequestExecutor.doInBackground(ProgressRequestExecutor.java:84)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at com.google.identitytoolkit.executor.ProgressRequestExecutor.doInBackground(ProgressRequestExecutor.java:71)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at android.os.AsyncTask.call(AsyncTask.java:295)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at android.os.AsyncTask$SerialExecutor.run(AsyncTask.java:234)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
10-16 21:29:40.928 6453-14199/com.application.my_app E/GooglePlusIdpClient: at java.lang.Thread.run(Thread.java:818)
10-16 21:29:40.933 6453-6480/com.application.my_app E/Surface: getSlotFromBufferLocked: unknown buffer: 0x9f1fb160
============================
更新 1
我尝试为 Android 使用新的客户端 ID,并在我的 Python 端点代码中使用它。这没有帮助。
============================
更新 2
我创建了一个新的 Client ID for Web application
并在端点 python 文件(作为 WEB_CLIENT_ID
)和 AndroidManifest.xml (作为 identitytoolkit.server_client_id
的值)中使用它。仍然出现以下异常:
10-18 09:43:38.000 12063-15754/? W/GLSActivity: gms.StatusHelper Status from wire: INVALID_AUDIENCE status: null
10-18 09:43:38.000 12063-15754/? I/GLSUser: [GLSUser] getAuthtoken(<ELLIDED:-2092860235>, audience:server:client_id:My_NEW_Client_Id__For_Web_Application.apps.googleusercontent.com) -> status: UNKNOWN)
10-18 09:43:38.000 12063-15754/? I/GLSUser: [GLSUser] Extracting token using key: Auth
10-18 09:43:38.000 12063-15754/? W/GLSActivity: gms.StatusHelper Status from wire: INVALID_AUDIENCE status: null
10-18 09:43:38.050 1914-3643/? I/ActivityManager: Start proc 2421:com.google.android.partnersetup/u0a11 for broadcast com.google.android.partnersetup/.RlzPingBroadcastReceiver
10-18 09:43:38.117 12147-12257/? W/Icing: GetUsageReports fallback to slow seek
10-18 09:43:38.120 1914-2954/? I/ActivityManager: Killing 32316:com.android.defcontainer/u0a4 (adj 15): empty #17
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: Unrecoverable auth exception: Unknown
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: com.google.android.gms.auth.GoogleAuthException: Unknown
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at com.google.identitytoolkit.idp.google.GoogleIdpClient.call(GoogleIdpClient.java:131)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at com.google.identitytoolkit.idp.google.GoogleIdpClient.call(GoogleIdpClient.java:125)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at com.google.identitytoolkit.executor.ProgressRequestExecutor.doInBackground(ProgressRequestExecutor.java:84)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at com.google.identitytoolkit.executor.ProgressRequestExecutor.doInBackground(ProgressRequestExecutor.java:71)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at android.os.AsyncTask.call(AsyncTask.java:295)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at android.os.AsyncTask$SerialExecutor.run(AsyncTask.java:234)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
10-18 09:43:38.163 1233-2364/com.application.my_app E/GooglePlusIdpClient: at java.lang.Thread.run(Thread.java:818)
10-18 09:43:38.178 1233-1272/com.application.my_app E/Surface: getSlotFromBufferLocked: unknown buffer: 0x9f355b50
请帮忙。
我能够至少部分地解决问题。问题是我提供了 "package"
名称,其中要求包名称作为 Google 开发人员控制台上的密钥。我应该提供我的 "build.gradle"
中提到的 "applicationId"
。就我而言,两者都是不同的。由于在所有文档中都提到提供包名称,所以我感到困惑。
进行更改后,Google 身份验证工作正常。我正在调查仍然无法正常工作的 Facebook 身份验证。
我已经迁移到最新的 Gitkit 库,我发现新的 android 库中缺少以下功能:
我正在尝试找出他们的解决方法:
IdToken idToken = client.getSavedIdToken();
Account account = client.getSavedAccount();
下面link会解释这部分
http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename
以上相关摘录link
Therefore, we have decoupled the two usages of package name: The final package that is used in your built .apk's manifest, and is the package your app is known as on your device and in the Google Play store, is the "application id". The package that is used in your source code to refer to your R class, and to resolve any relative activity/service registrations, continues to be called the "package".