2015-09-27 107 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,它會工作,但它不會自動獲得聯合的。 –