2009-10-10 108 views
0

我正在使用Facebook連接和JS客戶端庫在我的Facebook帳戶中檢索我的照片。Facebook專輯中的照片未顯示

下面是我的代碼:

<div id="photos_pics"></div> 
<script type="text/javascript"> 
    var widget_div = document.getElementById("photos_pics"); 
    FB.ensureInit(function() { 
     FB.Facebook.get_sessionState().waitUntilReady(function() { 
      FB.Facebook.apiClient.photos_get('12345678', null, null, function(photos,e) { 
       var markup = ""; 
       for (var i = 0; i < photos.length; i++) { 
        var photo = photos[i]; 
        var photo_pid = photo.pid; 
        markup += '<fb:photo size="small" pid="'+photo_pid+'"></fb:photo>'; 
       } 
       widget_div.innerHTML = markup; 
       FB.XFBML.Host.parseDomElement(widget_div); 
      }); 
     }); 
    }); 
</script> 

下面的方法檢索照片:
FB.Facebook.apiClient.photos_get(UID,援助,空,結果)

當我只指定uid,這是我的Facebook的ID,它的作品和照片(不在任何相冊)返回。但是,當我指定我的相冊之一,沒有結果返回。

任何人都知道我犯的錯誤是什麼?提前致謝。

回答

0

我最近一直在從facebook上檢索照片的問題,以及大量的問題。幾乎總是圍繞着他們對pid做出的最近的改變而旋轉。在Facebook上查看照片時,您會在您的url pid和幫助中看到兩個查詢變量。

http://www.facebook.com/home.php#/photo.php?pid=9513212&id=672915455 

雖然這是欺騙,因爲近期的變化,Facebook的做出pid的是,他們實際上是在形式id_pid所以如果我是包括在FB照片標籤上面的照片看起來會像下面

<fb:photo size="small" pid="672915455_9513212"></fb:photo> 

雖然我有很多問題,因爲在多個地方的facebook與哪種形式的PID將返回或正在尋找不一致。

所以我的第一個建議是看你正在接受哪種風格的pid,以及你正在嘗試使用哪種風格的pid。這很可能是您當前的問題。

您的下一個問題將是fb:photo標記的xfbml版本中存在當前錯誤。目前標籤在解析其中包含「_」的新樣式標籤時出錯。爲了解決這個問題,我們簡單地查詢了facebook用於圖像的直接url,並使用簡單的html img標籤進行顯示