试着从签名的个人资料中获取照片。但总是返回null。姓名和电子邮件返回值,麻烦只与照片。
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestProfile()
.requestEmail()
.build();
mGoogleApiClient = new GoogleApiClient.Builder(StartActivity.this)
.enableAutoManage(StartActivity.this, StartActivity.this)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.build();
acct = gResult.getSignInAccount();
String name = acct.getDisplayName(); //okay, value != null
String email = acct.getEmail(); //okay, value != null
Uri photoUri = acct.getPhotoUrl() //not okay, value == null为甚麽会这样呢?帐户签名,电子邮件和姓名得到,但照片总是失败。
发布于 2015-11-26 06:20:56
公共Uri getPhotoUrl () 获取已签名用户的照片url。 返回 图片网址的谷歌帐户。如果配置了requestProfile(),并且用户确实有Google+配置文件图片,则只有非null。
请检查您的Google帐户是否有Google+配置文件图片。
P/S:有时,如果已经创建了Google+配置文件图片,但是在您将Google帐户添加到设备中之后,您可能需要从设备中删除现有的Google帐户,然后重新添加。
发布于 2019-05-21 12:44:02
面临着同样的问题,即获得photoURL和tokenID作为null。
因为@BNK已经解释了什么是其他原因
因此,只是将我的解决方案加入其中,对于面临同样问题的人来说(希望这能帮助他们)。
同时使用下面的代码(用kotlin编写)
val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.build()我能够获取'DisplayName‘、'Email’、'FamilyName‘、'ID'等信息,但photoUrl和tokenId除外
因此,我刚刚将'requestIdToken'添加到中,如下所示:
val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestIdToken(resources.getString(R.string.googleAccountWebClientID)) // This line did the magic for me
.build()因此,我可以获取所有的信息以及'idToken'和'photoUrl'的信息。
注意:请使用'WebClientId'进行requestIdToken(),您可以从(https://console.developers.google.com/apis/credentials?project=)获得

发布于 2016-07-06 07:31:13
如果acct.getPhotoUrl()返回null
意味着您的google帐户与Google Plus没有关联。如果您有一个适当的google加号帐户,这将不会给您空值。
解决方案:
下面给出了一个获得空...Solution的机会
有一个rest webservice,您可以通过它获得映像
https://www.googleapis.com/plus/v1/people/{id}?fields=image&key={API_KEY}
"id“您将通过acct.getId()方法调用和API_KEY从您的开发人员console...make确定API_KEY是浏览器、key....not、安卓或服务器密钥.
在开发人员控制台中启用Google+ + api .
现在您可以通过上述服务获得您的个人资料图像。
https://www.googleapis.com/plus/v1/people/{id}?fields=image&key={API_KEY}
你会得到如下的回复
{“图像”:{ "url":"Rm9E/photo.jpg?sz=50","isDefault":false }
现在你得到了imageUrl的网址..。
现在请微笑,继续编码!
https://stackoverflow.com/questions/33931578
复制相似问题