Graph API - Search

Graph API提供了Search的功能讓你可以尋找Facebook上Public的資料。這個功能可能會用在:

  1. 我愛紅娘: 尋找某一個單身的正妹、失散多年的前女(男)友。
  2. 監控者: 誰在塗鴉牆上罵我?
  3. 腥羶色收集者: 李宗翰那29.7G的連結、很兇的正妹。
  4. 我愛這個點: 哪裡有搖X店? 最廉價的Moxel?

友藏今天早點出來獨白: 你腦袋到底裝些什麼阿?

事實上,這個Search功能沒那麼強大,並不是每一個欄位都可以讓你Query,但你可以把它當參考的資料來源。言歸正傳,Search的功能是透過HTTP Get達到。發出請求的標準格式為:

https://graph.facebook.com/search?q=QUERY&type=OBJECT_TYPE
type就是你想搜尋的目標物件,q則是此物件的name。我就以大家最想知道的: type為place,g為天堂鳥,讓我們來看看天堂鳥Motel在哪裡。

Search支援的object type有posts、people、pages、events、groups、places、checkins、object locations,能找到的內容大致上就與Search bar相同。

另外給大家小小幾點提醒:

  • 雖然不多,但某些物件是可以設定條件的。例如place你可以透過center參數設定中心經緯度,distance設定中心的距離,以搜尋範圍內的地點。其它可以參考文件或自行嘗試。像我就發現User物件可以使用id=xxx去做過濾。
  • 可以透過field參數決定要顯示的欄位。例如search?field=name,gender&q=tony&type=users,會顯示出名字內有tony的名字與性別。
  • 如果要針對某個user搜尋它的塗鴉牆POST,可以透過https://graph.facebook.com/USER_OBJECT_ID/home?q=QUERY。但它必須設定能讓你看的見喔!
  • Search也支援Paging的能力,可以透過limit、until、since、offset等參數去限制取得結果的筆數與內容。更多可以參考這裡