google identity toolkit PHP Quick Start应用程序提供了以下代码块,用于在用户成功登录后显示有关用户的一些信息。
<?php if ($gitkitUser) { ?>
Welcome back!<br><br>
Email: <?= $gitkitUser->getEmail() ?><br>
Id: <?= $gitkitUser->getUserId() ?><br>
Name: <?= $gitkitUser->getDisplayName() ?><br>
Identity provider: <?= $gitkitUser->getProviderId() ?><br>
<?php } else { ?>
You are not logged in yet.
<?php } ?>
页面上的输出如下所示:
Email: someuser@hotmail.com
Id: 123
Name: Bob User
Identity provider: facebook.com
我想显示用户的头像/照片,但似乎不能理清如何做到这一点。我试过$gitkitUser->getPhotoUrl();
,但似乎没有返回任何东西,我找不到任何好的文档。
如果我print_r
$gitkitUser
对象,我可以看到确实有一个photoUrl
和URL是正确的,但它被设置为私有,我似乎无法访问它:
Gitkit_Account Object(
[localId: Gitkit_Account: private] => 123
[email: Gitkit_Account: private] => someuser@hotmail.com
[providerId: Gitkit_Account: private] => facebook.com
[providerInfo: Gitkit_Account: private] => Array([0] => Array(
[providerId] => facebook.com
[displayName] => Bob User
[photoUrl] => https: //scontent.xx.fbcdn.net/.....
[federatedId] => http://facebook.com/123 )
)
[displayName:Gitkit_Account:private] => Bob User
[photoUrl:Gitkit_Account:private] =>
[emailVerified:Gitkit_Account:private] =>
[passwordHash:Gitkit_Account:private] =>
[salt:Gitkit_Account:private] =>
)
关于如何访问用户的图像以显示在页面上的任何想法?
是的,我也注意到$gitkitUser->getPhotoUrl()
检索一个空值。我猜photoUrl
不会像其他的那样自动填充。他们最近增加了一个getProviderInfo
方法,你可以像这样使用它从第一个联邦ID获取照片URL:
$provider_info = $gitkitUser->getProviderInfo();
$photo_url = $provider_info[0]['photoUrl'];