使用PHP SDK从Facebook Group存储Feed

时间:2014-10-20 13:06:06

标签: php facebook-graph-api facebook-php-sdk

我有一个项目,需要我存储我想在本地存储的一个Facebook群组的群组供稿(MySQL)。我使用PHP的Facebook SDK成功检索并存储了前24个帖子。其余的是分页的,如响应中所示:

"paging": {
    "previous": "https://graph.facebook.com/v2.1/197349856967661/feed?limit=25&since=1413803847&__paging_token=enc_Aezfg88j7xOEW28BENBXvchQql9OYz00t6siBT2MviwZdOCcIFV8nyMyBmrUu39eOHbve68h6yUWLb0Lc12v_HD7k4_q299PnvIq7gz4BAZMZA", 
    "next": "https://graph.facebook.com/v2.1/197349856967661/feed?limit=25&until=1413803553&__paging_token=enc_AeyKAdBaClRXLJ7nBulYeqDEfzW1ovuAXSuDkPMSnbmIxpPXKh24vli0tOpF_OOtnFCXZLNTZki3j2umR8WKKyo3nLmZtICF1zfq7ZASIk2PdQ"
}

我想知道是否有一种方法可以循环同一段代码,直到所有条目都存储在我的数据库中。我想有没有办法检测是否有下一页并使用“下一个”URL执行另一个请求?请帮帮我。我将非常感激。

1 个答案:

答案 0 :(得分:1)

免责声明:我将为您提供程序而不是代码,您可以根据需要对其进行编码。

 login.
 make the first request. //don't handle just yet.
 if (![paging][next]) escapeLoop =1;
 do  //using do .. while
    if (escapeLoop ==1) break; //exits loop if all posts are received in one page
    handle the request   //insert to DB
    make the new request using the link provided in the response.
 while ([paging][next]);
 handle the last request & requests with one page response.