2012-12-27 66 views
0

我設計了我的教會移動網站,我想在網站上發佈我的教會的Facebook狀態更新。我試過Facebook的盒子,但我發現它的功能有限,而且在移動網站上效果不佳。如何「GET」通過圖形API的Facebook頁面的狀態爲移動網站

然後我發現了Facebook的Graph API。我在我的網站上找到了一個PHP腳本(http://stackoverflow.com/questions/9373645/can-you-get-a-public-facebook-pages-feed-using-graph-api-without-asking-a用戶),我在Facebook上創建了一個應用程序。使用Facebook的Graph API Express,我試圖自定義輸出,所以我只能獲取我的頁面的狀態更新和時間戳。

例如,我試圖https://graph.facebook.com/[profile ID] /訊息。但是,這包括我發佈圖片和創建活動時的情況;我只想要狀態更新。有什麼方法可以使用Graph API通過將「type」指定爲「status」來限制帖子?我無法讓它工作。

理想情況下,我想代碼即可獲得我的教會的Facebook頁面的狀態更新,尤其是「消息」和「CREATED_TIME」領域,我想結果限制爲10

如果有更好的如何做到這一點,請讓我知道。我是這方面的新手,我基本上只是想找到實現這一目標的代碼。

回答

1

Is there any way I can use Graph API to limit the posts by specifying the "type" as "status"?

Graph API包含一個「狀態」端點,作爲the User object的一部分。它以類似的方式訪問的「上崗」端點:

https://graph.facebook.com/[profile ID]/statuses 

要限制的結果,只有10的狀態,您可以添加一個「上限」參數的網址:

https://graph.facebook.com/[profile ID]/statuses?limit=10 

對於例如,使用應用程序訪問令牌的Boo facebook.com/boo的頁面。這和其他的方式來過濾API的輸出

<?php 
$access_token = '1111111111|2Cha_1-n5'; 
$graph_url = "https://graph.facebook.com/Boo/statuses?limit=10&access_token=" 
    . $access_token; 
$page_posts = json_decode(file_get_contents($graph_url), true); 

foreach($page_posts['data'] as $post){ 
    $message = $post['message']; 
    $post_time = $post['created_time']; 
} 

echo $message .' '. $post_time; 
?> 

更多信息可以在Graph API's Pagination documentation找到。

+0

我得到了我的應用程序訪問令牌並且使用了上面的代碼逐字,但是我得到了這個錯誤,「 解析錯誤:語法錯誤,意外的T_VARIABLE在...第4行」 第4行是$ graph_url定義。我哪裏做錯了? 'code'

+0

這裏有一個更好看的代碼... http://ideone.com/PKR71F –

+0

@NathanSchmitt $ graph_url變量定義分爲兩行,因此在第4行末尾應該沒有分號。 – Martey

相關問題