2017-10-09 36 views
0

我使用這個API請求獲取使用Facebook Places API的所有FITNESS_RECREATION中心。如何把Facebook的地方過濾器圖形API

https://graph.facebook.com/search?type=place&q=FITNESS_RECREATION&fields=name,location&limit=5&access_token=API_ID|SECRET_KEY

我試圖做兩件事情:1 )篩選和獲取哪個國家=馬來西亞的請求。 2)獲得至少5000個退貨清單。 Facebook似乎將響應限制爲最多100個。有沒有解決方法。

這是一個示例響應:

{ 
    "data": [ 
     { 
     "name": "Recreation Fitness", 
     "location": { 
      "city": "Long Beach", 
      "country": "United States", 
      "latitude": 33.833224817855, 
      "longitude": -118.1849527359, 
      "state": "CA", 
      "street": "4234 Atlantic Ave", 
      "zip": "90807" 
     }, 
     "id": "420888681274648" 
     }, 
     { 
     "name": "Extreme Fitness- West Coast Recreation", 
     "location": { 
      "city": "Singapore", 
      "country": "Singapore", 
      "latitude": 1.30975, 
      "longitude": 103.764183, 
      "street": "12 West Coast Walk \u0040 West Coast Recreation", 
      "zip": "127157" 
     }, 
     "id": "982344108463873" 
     }, 
     { 
     "name": "TMP Fitness Sports and Recreation Club", 
     "location": { 
      "city": "Singapore", 
      "country": "Singapore", 
      "latitude": 1.3196699, 
      "longitude": 103.84262, 
      "street": "55 Newton Road, #05-02 Revenue House", 
      "zip": "307987" 
     }, 
     "id": "336128976479984" 
     }, 
     { 
     "name": "Fitness First Platinum Trinoma", 
     "location": { 
      "city": "Quezon City", 
      "country": "Philippines", 
      "latitude": 14.654392396144, 
      "located_in": "322295778137", 
      "longitude": 121.03377838573, 
      "street": "North Ave" 
     }, 
     "id": "516897225075490" 
     }, 
     { 
     "name": "Launceston PCYC Weight Gym, Fitness & Recreation Centre", 
     "location": { 
      "city": "Newstead", 
      "country": "Australia", 
      "latitude": -41.44732, 
      "longitude": 147.15653, 
      "state": "TAS", 
      "street": "146 Abbott St", 
      "zip": "7250" 
     }, 
     "id": "169928146489153" 
     } 
    ], 
    "paging": { 
     "cursors": { 
     "after": "NAZDZD" 
     }, 
     "next": "https://graph.facebook.com/v2.10/search?access_token=737434766443796\u00257Cb10e3ea49284dc815b25910e6fb39aea&pretty=1&fields=name\u00252Clocation&q=FITNESS_RECREATION&type=place&limit=5&after=NAZDZD" 
    } 
} 
+0

嘗試過使用這種格式來篩選國家=馬來西亞: https://graph.facebook.com/search?type=place&q=FITNESS_RECREATION&fields=name,location{country=Malaysia}&limit=5000&access_token=APP_ID|secret_key 然而,得到了錯誤: { 「錯誤」:{ 「消息」: 「(#100)試圖在節點類型訪問不存在的字段(國家=馬來西亞)(位置)」, 「類型」 : 「OAuthException」, 「代碼」:100, 「fbtrace_id」: 「DfofQreXq/8」 } } –

回答

1

我試圖做兩件事情:1)篩選和獲取哪個國家=馬來西亞的請求。

不可能。

您可以搜索圍繞給定地理位置的地方(使用centerdistance參數,請參見https://developers.facebook.com/docs/graph-api/using-graph-api/#search

也可以添加Malaysia到您正在搜索的name,以獲得實際在全國的地方他們的名字。比

更多 - 不可能的。你必須在你的最後做額外的過濾。

2)要獲得至少5000返回列表。 Facebook似乎將響應限制爲最多100個。有沒有解決方法。

沒有,沒有,這是一個故意的限制。您需要使用分頁來獲得更多結果。 https://developers.facebook.com/docs/graph-api/using-graph-api/#paging


僅供參考,如果不應該清楚:Facebook的提供搜索端點,讓您的應用程序可以執行用戶的名稱進行搜索,一段特定的,他們可能需要的信息那時。這並不意味着作爲一種方式,任何應用獲取/「下載」了一套完整的針對特定搜索詞來使用他們自己的目的的數據。