與FQL

2011-06-30 28 views
12

我試圖讓所有用戶的喜好與FQL獲取所有用戶的喜歡的(所有的)。以下是我的研究成果,包括我嘗試過的以及每次嘗試的問題。與FQL

1)最簡單的方法是對查詢的UID的表。所以這返回57(對我來說)喜歡在其他的流。

SELECT object_id, post_id, user_id 
FROM like 
WHERE user_id = me() 

XML看起來是這樣的(注意不明原因缺席POST_ID的)

<like> 
    <object_id>10150695050005313</object_id> 
    <post_id></post_id> 
    <user_id>xxxxxxxxxxx</user_id> 
</like> 

上面似乎是一個合乎邏輯的步驟,但Facebook doesn't index the user_id field,所以我不能使用下面的代碼來獲得進一步的細節。此代碼不起作用。

SELECT post_id, message 
FROM stream 
WHERE post_id IN (
    SELECT object_id, post_id, user_id 
    FROM like 
    WHERE user_id = me() 
) 

2)使用圖形API:/我/愛/檢索的95個頁的信息,而不是從照片,視頻,鏈接,或脫機內容。完整的URL是:https://graph.facebook.com/me/likes?access_token=

例如:

{ 
"data": [ 
    { 
    "name": "BStU", 
    "category": "Organization", 
    "id": "136978696319967", 
    "created_time": "2011-06-29T12:09:17+0000" 
    }, 
    { 
    "name": "Euchre", 
    "category": "Interest", 
    "id": "112355915446795", 
    "created_time": "2011-06-29T12:06:07+0000" 
    }, 

3)本FQL返回同上面的代碼,95個頁:

SELECT page_id,name 
FROM page 
WHERE page_id IN (
    SELECT page_id 
    FROM page_fan 
    WHERE uid=me() 
) 

因此,要總結,理想我想無論對象如何,都能夠爲用戶返回任何類似內容。我願意與粉絲頁面和流職位的混合物向前不過,如果我能回到他們,連同數據一起,用一個FQL查詢。

有什麼建議嗎?我要補充的是,我試圖做到這一點,而無需使用REST API,因爲它會被降解(哪天?),所以因此要用fql.multiquery是不是一種選擇。

回答

1

對不起,你不能把所有使用/likes端點的人的喜歡的。我們將其限制在任何具有FB頁面的任何內容中,該頁面是任何打開的圖形對象,不包含文章。例如,如果您喜歡有og:typearticle的開放圖形對象,我們不會在圖表api likes端點中返回該對象。

+3

HI傑夫,限制了用戶的別人的(私人)圖片喜歡道理,但爲什麼不能在用戶訪問他們的東西是公衆喜歡?從本質上講,這與reddit或stumbleupon相同,它允許用戶跟蹤他們在社交網絡中在線閱讀的內容。 – ow3n

+0

@Jeff,我很困惑,你是說Facebook會讓我們的應用程序查詢類似的表嗎?並且只有當我們的應用程序的已驗證用戶是演員,電影或運動隊? – DMCS

+0

不,我要說的是,除了文章之外,你可以將喜歡的東西拉到任何東西上。 –

2

我已經能夠使用FQL得到一些,但不是所有的流喜歡。請參閱:http://facebook.stackoverflow.com/questions/8496980/fql-like-table-not-returning-any-results

我有疑問是:

1)讓我流我頁面上喜歡的項目提要:

SELECT post_id, source_id, message 
    FROM stream 
    WHERE source_id 
    IN (SELECT target_id FROM connection WHERE source_id=me() and is_following=1) 
    AND likes.user_likes=1 
    LIMIT 10 

2)讓我流的項目我VE從我的飼料,我自己很喜歡貼:

SELECT post_id, source_id, message 
    FROM stream 
    WHERE source_id=me() 
    AND likes.user_likes=1 
    LIMIT 10 

什麼可氣的是我不能克用戶喜歡從事件流項目的流項目,朋友流項目,組流項目等,儘管我已經接受了該用戶的所有權限。這不是我要求提供祕密信息。當然,用戶可以通過我的應用程序來喜歡並移除喜歡的流項目。只是我無法查詢用戶喜歡的當前流項目的完整列表。

+0

等待一個完美的答案。未來,我想...... – ow3n

0

試試這個FQL查詢:

SELECT user_id, object_id, post_id, object_type 
FROM like 
WHERE user_id = me()