Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 状态代码12501正在通过google登录进行身份验证_Android_Google Play Services_Social Networking_Google Signin - Fatal编程技术网

Android 状态代码12501正在通过google登录进行身份验证

Android 状态代码12501正在通过google登录进行身份验证,android,google-play-services,social-networking,google-signin,Android,Google Play Services,Social Networking,Google Signin,我正在使用下面几行代码来实现G+登录android集成 应用内build.gradle: 编译'com.google.android.gms:play services auth:8.4.0' 编译'com.google.android.gms:play services plus:8.4.0' 在主要活动中: GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_I

我正在使用下面几行代码来实现G+登录android集成

应用内build.gradle:

编译'com.google.android.gms:play services auth:8.4.0'
编译'com.google.android.gms:play services plus:8.4.0'

在主要活动中:

 GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                    .requestEmail()
                    .requestIdToken("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.com")
                    .requestProfile()
                    .build();

            AppCompatActivity appCompatActivity = (AppCompatActivity) context;

            googleApiClient = new GoogleApiClient.Builder(context)
                    .enableAutoManage(appCompatActivity, this)
                    .addConnectionCallbacks(this)
                    .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
                    .addApi(Plus.API)
                    .build();
我还在应用程序级别添加了“googleservices.gson”文件。 我还制作了web应用程序,并将客户机id用于requestIdToken()参数

requestIdToken(webapp的客户端id)

在写了这段代码之后,我仍然得到状态代码=12501的响应和tokenId=null


我也读过。但找不到任何解决办法

您需要在
google services.json
文件中添加已签名和调试
客户端id
的凭据,如下所示:

"oauth_client": [
  {
    "client_id": "<your-client-id>",
    "client_type": 1,
    "android_info": {
      "package_name": "<your-package-name>",
      "certificate_hash": "<hash>"
    }
  },
   {
    "client_id": "<your-client-id-2>",
    "client_type": 1,
    "android_info": {
      "package_name": "<your-package-name-2>",
      "certificate_hash": "<hash-2>"
    }
  }
]
“oauth_客户端”:[
{
“客户id”:“,
“客户类型”:1,
“android_信息”:{
“程序包名称”:“,
“证书\u哈希”:”
}
},
{
“客户id”:“,
“客户类型”:1,
“android_信息”:{
“程序包名称”:“,
“证书\u哈希”:”
}
}
]

这可能是由于Sha-1和Sha-256释放和调试密钥不匹配造成的

将所有三个(Debug:Sha-1、Release:Sha-1和Sha-256)键添加到firebase控制台中,然后重新下载json并替换

这对我来说很好


有时OAuth 2.0客户端ID(Web应用程序密钥)可能不匹配

请确保在清单文件中包含以下内容:

<application ...>

    <meta-data
        android:name="com.google.android.gms.games.APP_ID"
        android:value="@string/app_id" />  <!-- if app is a game -->

    <meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />


您可能还需要仔细检查所使用的客户端ID以及包名是否不匹配。我不确定这是否对您有帮助,但我还是会粘贴它。这两个客户端ID是您通过使用调试密钥库和签名密钥库获得的。您可能希望在您的google-services.json文件中同时包含这两个内容。我想知道客户端id是android id还是web应用程序id?请告诉我们。@Akashsingla19和gerard谢谢,您的聊天和上述回答让我找到了我的解决方案;然而,我认为对Web客户端ID有点误解。我不知道Android Studio如何自动生成Web客户端ID,但它与我的google服务控制台中的调试键不同。6月,Android Studio为我的调试密钥自动创建了一个条目,可能与我对Android Studio的升级相对应,所以可能当你们都在处理这个问题时,AS没有自动生成调试密钥。。。继续…我们在中找到了解决方案