2015-09-27 112 views
0

的谷歌身份的工具包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: [email protected] 
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] => [email protected] 
    [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] => 
) 

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

回答

0

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

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

你是我的英雄! – yaryar123

+0

你是对的莫利。 Google Identity Toolkit PHP库刚刚更新了修复程序。现在,$ gitkitUser-> getPhotoUrl()和$ gitkitUser-> getDisplayName()将在Identity Toolkit标记中返回用户的photoUrl和displayName。抓住最新版本1.0.6。 –

+0

更新库后,'$ gitkitUser-> getPhotoUrl()'仍然不适用于我。我猜如果我使用'$ gitkitUser-> setPhotoUrl()'先设置用户的照片URL,它会工作,但它不会自动获得联合的。 –