0

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对象确实是 aphotoUrl并且 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] => 
)

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

4

1 回答 1

0

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

$provider_info = $gitkitUser->getProviderInfo();
$photo_url = $provider_info[0]['photoUrl'];
于 2015-09-27T03:55:16.830 回答