簡體   English   中英

使用Facebook Graph Api搜索帖子

[英]Search for posts using Facebook Graph Api

我想在過去30天的數據中使用圖API搜索帖子(新聞Feed)? 這樣做的最佳做法是什么? Facebook Graph API是否有API限制來限制HTTP請求的請求?

注意:以下都不適用。 截至Facebook Graph API的2.3版本,已棄用搜索端點。

在“搜索”下從此處復制:

搜索

您可以使用https://graph.facebook.com/search搜索社交圖中的所有公共對象。 格式為:

https://graph.facebook.com/search?q=QUERY&type=OBJECT_TYPE

我們支持搜索以下類型的對象:

 * All public posts: https://graph.facebook.com/search?q=watermelon&type=post * People: https://graph.facebook.com/search?q=mark&type=user * Pages: https://graph.facebook.com/search?q=platform&type=page * Events: https://graph.facebook.com/search?q=conference&type=event * Groups: https://graph.facebook.com/search?q=programming&type=group * Places: https://graph.facebook.com/search?q=coffee&type=place&center=37.76,122.427&distance=1000 * Checkins: https://graph.facebook.com/search?type=checkin 

您還可以通過向主連接URL添加aq參數來搜索僅限該用戶的朋友的單個用戶的新聞Feed:

 * News Feed: https://graph.facebook.com/me/home?q=facebook 

這是實現這一目標的一種方式。 但是你最好的選擇是使用JavaScript SDK使用的FQLfb.dataquery方法 您要做的是使用流表獲取用戶的狀態帖子。

現在,根據您的問題,我了解您更喜歡使用PHP版本而不是Javascript版本。 根據這個,你需要做的是解碼(使用json_decode )這個url json_decode的json對象:

https://graph.facebook.com/[USERNAME/USERID]?fields=posts&access_token=[A VALID ACCESS TOKEN]

據我所知,這個沒有限制。 但是,請看一下這里文檔

最好的方法是使用PHP的file_get_contents函數和該URL。

失敗的cURL會得到相同的回應; 請記住,任何響應都是JSON格式,因此請使用json_decode開始處理信息

一個典型的Facebook提要應該是這樣的;

$feedurl = "https://graph.facebook.com/$user_id/feed?access_token=$valid_access_token";
$feed = file_get_contents($feedurl);
$feed = json_decode($feed);
foreach ($feed->data as $post){
     //process each post
}

對於搜索,據我所知,沒有特定的方法來搜索頁面或用戶新聞提要; 但可以通過他們的搜索API搜索Facebook。 https://developers.facebook.com/docs/reference/api/

它可以使用Graph API完成

正如文件中所提到的, 因為 PARAM 30天返回設定的。 (從當前時間戳減去30天即30 * 24 * 60 * 60將提供價值或者也可以使用strtotime

並且,是的,對於API調用的數量有限制,如Facebook平台政策中所述, 目前的限制是:

〜(5M MAU):為應用程序提供500萬經過身份驗證的用戶

〜( 每天100M API調用

〜(每天50萬次印象)。

2016年8月17日,FQL將不再可用,無法查詢...

我不知道為什么Facebook改變整個SDK / API而不是更新它。

您可以將此調用與圖表資源管理器中的訪問令牌一起使用,其中數字代表page ID

123123123123123?fields=posts.limit(5)

親愛的,只需使用登錄按鈕或登錄URL(在php sdk的情況下)獲得用戶的擴展許可,然后您只需要獲取訪問令牌,調用make json調用以獲取您喜歡的任何信息。

<fb:login-button perms='read_stream' autologoutlink='true'></fb:login-button>

如果您有用戶訪問令牌,那么您只需調用圖api即可

$name=json_decode(file_get_contents('https://graph.facebook.com/USERID/feed?access_token='.Your ACCESS TOKEN));

它會返回你需要的東西。 但請記住更換

USERID
用你的用戶名和
  你的訪問權限 
使用您的訪問令牌。

暫無
暫無

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

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