2012-04-23 51 views

回答

1

您可以檢索她已與另一個應用程序上傳的當前用戶的圖像。當前用戶需要使用訪問令牌登錄,並且您需要

read_stream 
user_photos 

權限。

您可以檢索的URL將照片與FQL查詢和一些客戶端解析:

首先,查詢FQL流表流張貼該字段「APP_ID」 =的其他應用程序的ID。

SELECT attachment FROM stream WHERE source_id=me() AND app_id=OTHER_APP_ID 

這會檢索使用其他應用程序完成的所有帖子的附件。

這是可能的查詢可以進一步縮小如下,但我沒有一個數據集來測試它:

SELECT attachment FROM stream WHERE source_id=me() AND app_id=OTHER_APP_ID AND type=247 

,其中247表示照片。它可以爲你節省一些客戶端的工作(這兩個AND看起來很討厭,也許有人可以提出一個更好的說法......)。

一旦你有你的迴應,解析JSON。每個「附件」都有一個名爲「媒體」的字段,它是一個數組。對於每個數組項目,檢查type =「photo」。如果是,則「src」字段將包含指向上傳照片的小版本的url鏈接。

爲了說明,這裏是一個示例JSON響應的開頭:

"attachment": { 
    "media": [ 
     { 
     "type": "photo", 
     "src": "https://...._s.jpg", 
     //etc 

的JSON響應還包含鏈接到其他尺寸。請參閱Facebook Developers docs

1

是的,這是可能的,但用戶有權給你授權訪問他們的照片。

您可以通過獲取擴展權限做到這一點:

$uid = $facebook->getUser(); 

$url = $facebook->getLoginUrl(array( 
'req_perms' => 'user_photos')); 
+0

我認爲他希望能夠通過他的「應用程序」進行過濾。 – Nix 2012-04-23 14:50:23

相關問題