2009-10-15 16 views
0

我正在使用Facebook Connect應用程序。我已啓動並運行「連接」按鈕,用戶可以通過Facebook成功進行身份驗證。但是,我無法使用XFBML顯示其個人資料圖片和名稱。下面是我在做什麼:當使用facebook-logo =「true」選項時,Facebook Connect API未填充用戶數據

<script type="text/javascript"> 
function fb_login_handler() { 
    var userbox = document.getElementById("fb_userbox"); 

    userbox.innerHTML = 
     "<span>" 
     + "<fb:profile-pic uid=loggedinuser facebook-logo='true'></fb:profile-pic>" 
     + "Welcome, <fb:name uid=loggedinuser useyou='false'></fb:name>" 
     + "</span>"; 

    FB.XFBML.Host.parseDomTree(); 
} 
</script> 

... 

<div id="fb_userbox"> 
    <fb:login-button onlogin="fb_login_handler();" autologoutlink="1" length="long"></fb:login-button> 
</div> 

... 

<!-- Facebook Connect initialization --> 
<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/en_US" type="text/javascript"> 
</script> 

<script type="text/javascript"> 
    FB.init("[MY_API_KEY]", "/xd_receiver.htm", 
      { "ifUserConnected" : fb_login_handler }); 
</script> 

我可以連接按鈕登錄成功,以及JavaScript回調獲取運行,但我剛剛結束了與此:

http://www.friedo.com/fbuserbox.png

因此,圖片和名稱都沒有被填充。即使我硬編碼我的FB配置文件ID代替loggedinuser,也會發生同樣的情況。

更新:好像(後隨機亂搞),我可以得到它的工作,如果我關掉從fb:profile-pic標籤facebook-logo屬性。將其設置爲false(或刪除它)會導致用戶框正確呈現。但我也需要Facebook徽標才能工作。 :(

+1

您是否試圖查看這是否是特定於瀏覽器的? –

+0

這是一個很好的觀點,我還沒有在其他瀏覽器中嘗試過。 – friedo

回答

1

,你有優秀作品this test console下確切的標記,你確定你沒有得到任何JavaScript錯誤?

而且,你可以用一個相對較老用戶的UID測試。似乎有是a bug with displaying pictures for new users。我的uid似乎沒有這個問題,如果你想用我的測試它:685184151

+0

幾天前我試過時,我遇到了與測試控制檯相同的問題。我會再試一次,看看是否有任何改變 - 或者如果我錯過了我的睡眠剝奪狀態的一些細節。 – friedo

+0

看起來這是您提到的錯誤的一個實例;在傳播了幾天之後,它似乎正常工作。 – friedo

0

我試過這個代碼在我的服務器,它的作品完美,我得到我的名字和圖片與fb標識,我在IE8,Chrome 4.0,Safari 3.21和Firefox 3.5上試過了,都成功了。您必須添加這些標籤,以便FBML標籤可在IE,Safari和其他瀏覽器的某些版本中使用。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml"> 

我想粘貼整個腳本,所以你可以看到它,但我新來這個網站,所以我不知道如何(代碼標籤沒有工作)。我沒有對你的代碼做任何修改,只是添加了我上面提到的標籤以及body和head標籤。

+1

選擇一些代碼文本並點擊「101010」按鈕。將其格式化爲代碼。 –