2012-05-31 41 views
0

tl; dr:是否有某種方式來檢索發佈到一個頁面的帖子,但只有通過身份驗證的用戶的朋友所做的帖子?只有在頁面上通過Facebook的朋友獲取帖子通過GraphAPI

我工作的iOS應用程序,我可以使用GraphAPI方法[facebook requestWithGraphPath:@"pageID/feed" andDelegate:self];檢索所有的頁面所做的職位,也可使用[facebook requestWithGraphPath:@"me/friends" andDelegate:self];

檢索朋友的當前已驗證用戶的列表是有辦法過濾第一個數據集以獲得僅由第二個數據集服務器端的ids提交的數據集(即:通過GraphAPI),還是我最好的選擇客戶端(我的代碼)過濾結果?

+0

你有一個如何從facebook頁面獲取所有帖子的例子,請與我分享,謝謝 – Houcine

+1

@Houcine:你是什麼意思的所有職位?如果你嘗試'[facebook requestWithGraphPath:@「pageID/feed」andDelegate:self];'它會給你發佈到頁面的所有內容。你想要別的嗎? – codemonkey

+0

是的,這就是我的意思,但我想要一個例子或教程來看看如何解析結果,json結果的結構,委託的方法,我應該實現等:)感謝您的時間 – Houcine

回答

3

可以使用FQL有一個非常簡單的查詢來實現:

SELECT post_id FROM stream WHERE source_id = PAGEID AND actor_id IN (SELECT uid2 FROM friend WHERE uid1 = me())

此查詢在括號中的第二部分是選擇的當前用戶的朋友的用戶ID列表(由確定用於查詢的訪問令牌),然後使用此UID列表篩選查詢的第一部分,該部分選擇發佈到特定頁面ID的post_ids列表(確保將佔位符替換爲您自己的頁面標識)。

這會給你一個帖子ID的列表,但stream table documentation會顯示更多你可以選擇的字段。

請注意,FQL可能被認爲是一個獨立於API的API,但實際上它可以非常簡單地通過Graph API運行,如this blog post所示。

相關問題