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,任何帮助将不胜感激.
引用来自 - 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)
| 归档时间: |
|
| 查看次数: |
1201 次 |
| 最近记录: |