如何从谷歌身份工具包

时间:2015-09-27 00:35:23

标签: php google-identity-toolkit

Google身份工具包PHP快速入门应用提供了以下代码块,可在用户成功登录后显示有关该用户的一些信息。

<?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并且网址是正确的但是它设置为私有,我似乎无法访问它:< / p>

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] => 
)

关于如何访问要在页面上显示的用户图像的任何想法?

1 个答案:

答案 0 :(得分:0)

是的,我也注意到$gitkitUser->getPhotoUrl()检索到一个空值。我猜photoUrl并没有像其他人一样自动填充。他们最近添加了一个getProviderInfo方法,您可以使用此方法从第一个联合ID获取照片网址:

$provider_info = $gitkitUser->getProviderInfo();
$photo_url = $provider_info[0]['photoUrl'];