I';我将谷歌登录集成到我的android应用程序和I';I’我不知道用户名和性别
以下是我的I';我将谷歌登录集成到我的android应用程序和I';I’我不知道用户名和性别,android,google-login,Android,Google Login,以下是我的onCreate()方法中的代码。我已经完成了此操作,我拥有所需的权限和所有权限: findViewById(R.id.sign_in_button).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { signI
onCreate()
方法中的代码。我已经完成了此操作,我拥有所需的权限和所有权限:
findViewById(R.id.sign_in_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
signIn();
}
});
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail().requestProfile().requestScopes(new Scope(PLUS_LOGIN), new Scope(PLUS_ME),
new Scope(PROFILE)).requestId().build();
Plus.PlusOptions options = Plus.PlusOptions.builder().build();
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
.addConnectionCallbacks(this)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.addScope(new Scope(Scopes.PLUS_LOGIN))
.addScope(new Scope(Scopes.PLUS_ME))
.addScope(new Scope(Scopes.PROFILE))
.addOnConnectionFailedListener(this)
.addApi(Plus.API, options)
.addScope(Plus.SCOPE_PLUS_LOGIN)
.addApi(Plus.API)
.build();
SignInButton signInButton = (SignInButton) findViewById(R.id.sign_in_button);
signInButton.setScopes(gso.getScopeArray());
这是我的另一个功能,我在其中得到了登录响应:
private void signIn() {
System.out.println("Inside signIn");
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);
System.out.println("Inside onActivityResult");
if (requestCode == RC_SIGN_IN) {
System.out.println("Inside requestCode == RC_SIGN_IN" + resultCode);
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
//I am able to reach here
System.out.println("After GoogleSignInResult result" + result);
if (result.isSuccess()) {
System.out.println("Inside isSuccess");
GoogleSignInAccount acct = result.getSignInAccount();
mFullName = acct.getDisplayName();
mEmail = acct.getEmail();
System.out.println(acct.describeContents());
System.out.println(acct.getGrantedScopes());
System.out.println("Result +++++" + result);
Plus.PeopleApi.loadVisible(mGoogleApiClient, null).setResultCallback(this);
Person person = Plus.PeopleApi.getCurrentPerson(mGoogleApiClient);
System.out.println("Google Plus name and Email" + mFullName + " " + mEmail + " " + person);
//I am getting the person as null in here so i m not abel to get the profile informations and all
}
}
}
我在这上面搜索了很多,研究了所有的谷歌文档,但是没有找到相关的答案,或者是否有任何链接可以帮助我解决这个问题。我可以获得电子邮件id,显示名称也作为电子邮件id。请尝试写一个电子邮件。另外,请阅读关于。你应该包括你想要的功能的完整描述,你的代码目前做什么,以及你期望它做什么。同时发布您收到的任何错误消息。我只希望我能够访问通过谷歌帐户登录到我的应用程序的人的个人资料。尝试编写一个。另外,请阅读关于。你应该包括你想要的功能的完整描述,你的代码目前做什么,以及你期望它做什么。同时发布你收到的任何错误消息。我所希望的是,我应该能够访问通过谷歌帐户登录到我的应用程序的人的个人资料。