簡體   English   中英

使用Facebook graph API以逆向時間順序檢索狀態注釋

[英]Using the Facebook graph API to retrieve comments for statuses in REVERSE chronological order

我正在嘗試以REVERSE的時間順序從Facebook的Graph API中檢索狀態的注釋,這是最新的注釋應該放在最上面。 我不確定這是否可能。

我知道Facebook默認情況下按時間順序降序排列帖子,默認情況下,評論按時間順序升序排列(最早出現在頂部)。 默認情況下,我的意思是在Facebook.com中以及從API中檢索它們的方式。

使用Graph API,我可以按降序檢索狀態,但是注釋按升序返回。 我想以相反的順序從API獲取注釋,而不必在程序中對它們進行排序。 原因是該程序僅限於它將下載的注釋數,因此設置limit = xx實際上將檢索前xx條注釋,而不是最新的xx條注釋。 這對我沒有好處,因為如果狀態包含500條評論,且xx = 100,則它將始終檢索同一組評論(前100條要發布)。

我可以找到的Html請求的最佳參數是“ order_by”,它查找時間/日期參數(updated_time),但這實際上不起作用,因為update_time已經對其進行了排序(但是升序)。 如果可能的話,我想通過降序update_time來指定order_。

任何幫助將不勝感激。

使用該API並沒有直接的方法,但是要實現這一工作的一種方法是檢索狀態的所有注釋,將它們分配給數組,然后以相反的順序循環遍歷結果。

下面的示例從Guinness Ireland頁面獲取最新狀態更新,並將所有消息分配到一個數組中。 一旦有了這個數組,我們就可以用循環吐出結果。

例:
$ data = file_get_contents('https://graph.facebook.com/GuinnessIreland/statuses?limit=1&access_token='。$ ACCESS_TOKEN);

$ comments = json_decode($ data);
$ messages =($ comments-> data [0]-> comments-> data);

for($ counter = count($ messages); $ counter> = 0; $ counter = $ counter-1){
echo $ messageArray [$ counter]-> message;
echo $ messageArray [$ counter]-> created_time;
}

您可以通過此URL使用get請求獲取評論。您將獲得json響應。

https://graph.facebook.com/ “ StatusID” / comments?limit = 500&access_token =“ accessToken”

StatusID = 132343454_54346345 userID statusid accessToken =用戶訪問令牌。

您將得到JSOn響應。 獲取所有詳細信息,例如評論用戶,commentid,消息...的用戶,您將獲得JSON response。 解析它們。通過在JSON頁面底部的“頁面”對象中的“下一個”字符串中連接url,檢查下一頁上的注釋。 請享用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM