Gur*_*ngh 87 android google-plus
我正在使用gplus登录,并且当我在onActivityResult时收到此错误....
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
client.onActivityResult(requestCode, resultCode, data);
if (requestCode == 0) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if (result.isSuccess()) {
GoogleSignInAccount acct = result.getSignInAccount();
// Log.d("Result","details"+ acct.getDisplayName() + acct.getEmail());
mEmail = acct.getEmail();
String mFullName = acct.getDisplayName();
String mGoogleplusId = acct.getId();
SocialUser user = new SocialUser();
user.setType("googleplus");
user.setEmail(mEmail);
user.setFullname(mFullName);
user.setId(mGoogleplusId + "");
loginParams.put("email_id", mEmail);
loginParams.put("googlePlusId", mGoogleplusId);
loginParams.put("full_name", mFullName);
loginParams.put("registrationType", "googleplus");
SignUpService(user);
} else {
Toast.makeText(CustomerLogIn.this, "Unable to fetch data, Proceed manually", Toast.LENGTH_SHORT).show();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我要求按钮点击gplus登录.在按下代码后执行代码....
GoogleSignInOptions googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.build();
mGoogleApiClient = new GoogleApiClient.Builder(CustomerLogIn.this)
.addApi(Auth.GOOGLE_SIGN_IN_API, googleSignInOptions)
.build();
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent, 0);
Run Code Online (Sandbox Code Playgroud)
而且我发现了这个错误......
Status{statusCode=DEVELOPER_ERROR, resolution=null}
Run Code Online (Sandbox Code Playgroud)
在这条线上....
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
Run Code Online (Sandbox Code Playgroud)
请建议解决方案.
Sol*_*ety 187
您需要将SHA1密钥添加到firebase控制台配置.你可以这样做:
Firebase控制台(https://console.firebase.google.com) - >您的项目 - >配置 - >滚动到
您可以在Android Studio中找到运行"登录报告"的SHA1密钥:
然后,查看"运行选项卡"并单击按钮:
我认为这是更简单的方法.希望这有帮助.
小智 28
您可能使用生产令牌的SHA1创建了配置文件,使用androiddebugkey
别名来收集与应用程序调试版本对应的SHA1并将配置文件复制到"app"目录,您应该有两个配置文件(一个用于调试目的,另一个用于生产环境).
基于https://developers.google.com/identity/sign-in/android/start中发布的演练
Udi*_*ahi 10
我有同样的问题,我通过这些步骤使它工作:
1.将DEBUG_KEYSTORE SHA1指纹添加到firebase项目.使用以下命令(MAC/LINUX)
keytool -exportcert -list -v \-alias androiddebugkey -keystore ~/.android/debug.keystore
Run Code Online (Sandbox Code Playgroud)
2.Now生成项目的签名apk.该过程包括为应用程序的发布版本生成密钥库.
Copy the path of the newly generated .jks file.
Run Code Online (Sandbox Code Playgroud)
3.现在使用以下命令生成RELEASE_KEYSTORE SHA1指纹
keytool -list -v -keystore FULL_PATH_TOJKS_FILE -alias ALIAS_NAME
Run Code Online (Sandbox Code Playgroud)
4.从输出中复制新的SHA1,并将其作为另一个SHA1指纹添加到firebase应用程序控制台中.
现在你很高兴!----希望!它有助于.
我遇到了同样的问题,我解决的问题是我的gradle文件中的applicationId与清单文件中的包名不同.我曾经使用applicationId来创建json文件.我不得不将我的包名更改为我的applicationId,并为我修复了它.
这是一个老问题,但最近我一直遇到错误 10 (DEVELOPER_ERROR),因为我使用的是我在 google 开发者控制台中创建的 Android 客户端 ID。
对我来说,解决方案是仅在 google 开发者控制台中使用 Android 凭据来指示我的 apk 的 SHA 密钥,并在我的 cordova 应用程序中使用来自 google 开发者控制台的 Web 应用程序的客户端 ID (!) 凭据。
配置.xml:
<plugin name="cordova-plugin-googleplus" spec="^5.3.0">
<variable name="REVERSED_CLIENT_ID" value="com.googleusercontent.apps.[web-application-client-id]" />
<variable name="WEB_APPLICATION_CLIENT_ID" value="[web-application-client-id].apps.googleusercontent.com" />
</plugin>
Run Code Online (Sandbox Code Playgroud)
代码:
window.plugins.googleplus.login(
{
'webClientId': '[web-application-client-id].apps.googleusercontent.com'
},
...
Run Code Online (Sandbox Code Playgroud)
我不使用火力基地。
归档时间: |
|
查看次数: |
70546 次 |
最近记录: |