我尝试使用Plus Api并试用下面的代码。对于Plus.APi它已被弃用。所以我尝试了下面的代码。我将意图数据作为null。我无法获得谷歌驱动器选择的帐户邮件id.Pls帮助解决这个问题?
@Override
public void onConnectionFailed(@NonNull ConnectionResult result) {
if(context!=null)
try {
result.startResolutionForResult(context, REQUEST_CODE_RESOLUTION);
} catch (IntentSender.SendIntentException e) {
e.printStackTrace();
}
}
@覆盖 protected void onActivityResult(int requestCode,int resultCode,Intent data){
switch (requestCode) {
case REQUEST_CODE_RESOLUTION:
if ((resultCode == RESULT_OK) && (data != null) && (data.getExtras() != null)) {
String email = data.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);
LogUtil.error("Email", email);
}
break;
}
super.onActivityResult(requestCode, resultCode, data);
}
这里我的意图数据为空
答案 0 :(得分:0)
如果您尝试获取current user using the app,请使用GoogleSignInResult.getSignInAccount
方法为当前登录的用户请求个人资料信息。
您可以在登录意图成功后调用getSignInAccount方法。
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
GoogleSignInAccount acct = result.getSignInAccount();
String personName = acct.getDisplayName();
String personGivenName = acct.getGivenName();
String personFamilyName = acct.getFamilyName();
String personEmail = acct.getEmail();
String personId = acct.getId();
Uri personPhoto = acct.getPhotoUrl();
有关可能提供的其他个人资料数据,请参阅GoogleSignInAccount。请注意,任何配置文件字段都可以为空,具体取决于您请求的范围以及用户配置文件包含的信息。
希望这有帮助。