我正在尝试使用新的Google Play服务8.3获取用户令牌ID,并且如我所述,我传递了服务器ID:
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.server_client_id))
.requestEmail()
.build();
Run Code Online (Sandbox Code Playgroud)
但是我仍然得到如下结果:
{statusCode=unknown status code: 12501, resolution=null}
Run Code Online (Sandbox Code Playgroud)
并记录在这里 GoogleSignInStatusCodes
登录已被用户取消.即,用户取消了一些登录决议,例如,帐户选择或OAuth同意.
常数值:12501
这不是我的情况,因为我已经选择了一个帐户.任何想法可能是什么原因?
我正在关注Google的 Google Sign 文档.我打电话时有一个奇怪的问题
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent (mGoogleApiClient);
startActivityForResult (signInIntent, RC_SIGN_IN);
Run Code Online (Sandbox Code Playgroud)
似乎Intent已被解雇,但我看不到帐号选择器对话框.我在用
compile "com.google.android.gms:play-services-auth:9.6.1"
当我检查googleclient对象是否连接时,它返回true.
它在一些设备中工作,但不是在每个设备上(特别是xiaomi)
履行
@OnClick (R.id.google_singin_button)
void signInButtonClicked () {
HashMap<String, Object> map = new HashMap<> ();
map.put (AllAnalytics.LABEL, AllAnalytics.Label.SIGN_IN_GOOGLE);
map.put (AllAnalytics.ACTION, AllAnalytics.Action.CLICK);
map.put (AllAnalytics.CATEGORY, AllAnalytics.Category.REGISTRATION_SCREEN);
aa.analyticsEventOccur (map);
if (null != mGoogleApiClient) {
// Log.e(TAG,mGoogleApiClient.isConnected()+"");
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent (mGoogleApiClient);
startActivityForResult (signInIntent, RC_SIGN_IN);
}
}
@Override
public void onActivityResult (int requestCode, int resultCode, Intent data) {
super.onActivityResult (requestCode, resultCode, data);
// Result …Run Code Online (Sandbox Code Playgroud)