2014-04-18 53 views
0

我試圖讓用戶的朋友,我嘗試了所有從下面的問題的查詢和請求共享的所有環節,獲取用戶的Facebook好友共享任何形式的所有環節

How do I get a friend's links with Facebook's graph api?

Finding who shared a link publicly and finding who reshared a given link

Facebook API: All links shared by all friends?

get shared links on facebook newsfeed

但unabl e找出確切的FQL或請求URL,以便在定義的過去的時間間隔內從朋友分享所有鏈接。我是一個圖形API和FQL的新手,所以請幫助我找出解決方法。

我想一個簡單的查詢

SELECT link_id, owner, owner_comment, created_time, title, summary, url, image_urls FROM link WHERE owner IN (SELECT uid2 FROM friend WHERE uid1 = me() LIMIT 100) 

,但我得到

{ 
    "error": "Request failed" 
} 

從API瀏覽器的響應。

回答

1

您的查詢對於FQL構建答案來說太長。如果你試試這個:

SELECT link_id, owner, owner_comment, created_time, title, summary, url, image_urls 
     FROM link WHERE owner IN 
     (SELECT uid2 FROM friend WHERE uid1 = me() LIMIT 10) 

(相同的查詢,只限制設置爲10,而不是100)FQL探險家會覺得〜5-8secs但後來退給你的結果。或者如果您不會收到結果,則必須再次減少限制。

所以,你有兩個選擇:

  1. 您可以降低你從100限制在10以下,不改變運行查詢
  2. 您可以運行查詢

    SELECT UID2從相知WHERE uid1 = me()

然後對於每個收到的朋友ID運行另一個查詢

SELECT link_id, owner, owner_comment, created_time, title, summary, url, image_urls 
     FROM link WHERE owner = FRIEND_ID 
+0

我想你是對的,我試圖限制查詢10甚至2但請求失敗。我厭倦了第二種選擇,它似乎工作正常,但它有這麼多的服務電話的開銷。無論如何,現在最好的解決方案是這樣的。 – satheeshwaran

相關問題