如何从谷歌驱动器android获取邮件ID

时间:2016-10-18 06:23:12

标签: google-drive-android-api

我尝试使用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);
}

这里我的意图数据为空

1 个答案:

答案 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。请注意,任何配置文件字段都可以为空,具体取决于您请求的范围以及用户配置文件包含的信息。

希望这有帮助。