getPhotoUrl() 或带有谷歌登录的个人资料图片



我正在使用Google Api将Google Login集成到我的Android应用程序中。 目前它运行良好,我能够检索用户名和电子邮件,但我无法检索用户个人资料图片

当我尝试执行account.getPhotoUrl();时,我总是得到"null"。 我在我的谷歌帐户中设置了个人资料图片,所以我很确定我应该得到与"null"不同的东西。 显然,photo_url被声明为 Uri。

当我在Google开发人员上阅读时,我添加了.requestProfile()来检索有关用户个人资料的信息,但我总是null个人资料照片。

如何解决问题?

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestProfile()
.build();
mGoogleSignInClient = GoogleSignIn.getClient(this, gso);
....
private void handleSignInResult(Task<GoogleSignInAccount> completedTask) {
try {
GoogleSignInAccount account = completedTask.getResult(ApiException.class);
googleName = account.getDisplayName();
goofleEmail = account.getEmail();
photo_url = account.getPhotoUrl();
Log.w(TAG, "test url" + photo_url);
mainPresenter.dataSocialAPI(googleName, goofleEmail, userType);
signOut();
} catch (ApiException e) {
Log.w(TAG, "signInResult:failed code=" + e.getStatusCode());
}
}

可能迟到了,但我在毕加索找到了这个解决方案:

在依赖项下添加此内容 app/build.grade

implementation 'com.squareup.picasso:picasso:2.5.2'

在您的活动中:

Uri personPhoto = acct.getPhotoUrl();
photo = root.findViewById(R.id.accPhoto);
Picasso.with(this).load(personPhoto).into(photo);

相关内容

最新更新