如何获取Gmail帐户的个人资料图片

Dee*_*h M 5 java android google-oauth2

我想在android上获取与gmail帐户相关的个人资料图片.我已经使用帐户选择器意图在我的应用程序中选择/登录gmail(身份验证).我使用了以下代码

 mCredential = GoogleAccountCredential.usingOAuth2(
 getApplicationContext(), Arrays.asList(SCOPES))
 .setBackOff(new ExponentialBackOff())
 .setSelectedAccountName(settings.getString("PREF_ACCOUNT_NAME", null));
Run Code Online (Sandbox Code Playgroud)

在启动oAuth后,我最终得到以下结果方法

  protected void onActivityResult(
        int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch(requestCode) {

        case REQUEST_ACCOUNT_PICKER:
            if (resultCode == RESULT_OK && data != null &&
                    data.getExtras() != null) {
                String accountName =
                        data.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);



                            Log.e("ghfyg",""+accountName);
                if (accountName != null) {
                    mCredential.setSelectedAccountName(accountName);
                    SharedPreferences settings =
                            AccountSync.this.getSharedPreferences("deep",Context.MODE_PRIVATE);
                    SharedPreferences.Editor editor = settings.edit();
                    editor.putString("PREF_ACCOUNT_NAME", accountName);
                    editor.apply();
                }
            } else if (resultCode == RESULT_CANCELED) {
                Toast.makeText(this,"Account unspecified.",Toast.LENGTH_SHORT).show();
            }
            break;

    }

    super.onActivityResult(requestCode, resultCode, data);
}
Run Code Online (Sandbox Code Playgroud)

我不知道如何在上述案例中检索到个人资料图片的URL,任何帮助将不胜感激.

Abh*_*CTO 3

引用来自 - https://developers.google.com/identity/sign-in/android/people的答案。

检索已登录用户的个人资料信息

使用 GoogleSignInResult.getSignInAccount 方法请求当前登录用户的个人资料信息。

登录意图成功后,您可以调用 getSignInAccount 方法。

GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
GoogleSignInAccount acct = result.getSignInAccount();
String personName = acct.getDisplayName();
String personEmail = acct.getEmail();
String personId = acct.getId();
Uri personPhoto = acct.getPhotoUrl();
Run Code Online (Sandbox Code Playgroud)