2011-03-18 70 views

回答

15

這下幾種不同的方法是可能的。您可以使用長/緯位置進行搜索並將地名放入查詢中。此搜索僅會搜索位置。

執行以下操作

https://graph.facebook.com/search?q=ritual&type=place&center=37.76,-122.427&distance=1000&access_token=mytoken

這將返回儀式咖啡。

另一種方法是使用通過Facebook網頁搜索以下 https://graph.facebook.com/search?q=ritual%20coffee&type=page&access_token=mytoken

這種方式是比較困難的,因爲你會明顯需要分析更詳細的列表。

+0

聽起來非常有希望 - 我將進一步調查,謝謝 – BrynJ 2011-03-31 15:45:13

+0

我無法找到該端點的文檔參考是否這種解決方案某種類型的黑匣子? – 2015-03-08 03:52:34

-1

如果我正確理解你的問題,你可以使用FQL: https://api.facebook.com/method/fql.query?query=QUERY 哪裏查詢應該是這樣的:從一個地方 選擇PAGE_ID其中name =;

這裏是您refrence頁: http://developers.facebook.com/docs/reference/fql/place/

+0

您也可以使用PHP SDK或JS SDK到同樣的效果。 – 2011-03-27 16:41:59

+0

感謝您的回答Elad。不幸的是,這不是一個可行的解決方案 - 我收到這樣的錯誤:「你的語句不是可索引的,WHERE子句必須包含一個可索引列,這些列在http://developers.facebook.com鏈接的表中用*標記。 /文檔/參考/ FQL」。看看你鏈接到的FQL地方頁面,它顯示page_id是唯一的索引列:( – BrynJ 2011-03-27 18:14:14

+0

那麼我猜這裏面沒有解決方案,在facebook架構。理論上,你可以創建自己的數據庫,通過從地方選擇*從1到任何表,但這似乎是一個不好的解決方案 – 2011-03-27 19:56:07

0

您還可以使用的地方SDK從Facebook:

compile group: 'com.facebook.android', name: 'facebook-places', version: '4.30.0' // For latest version, see https://developers.facebook.com/docs/android/

然後:

PlaceSearchRequestParams.Builder builder = new PlaceSearchRequestParams.Builder(); 

builder.setSearchText("Cafe"); 
builder.setDistance(1000); // 1,000 meter maximum distance. 
builder.setLimit(10); 
builder.addField(PlaceFields.ID); 

GraphRequest request = PlaceManager.newPlaceSearchRequestForLocation(builder.build()); 

request.setCallback(new GraphRequest.Callback() { 
    @Override 
    public void onCompleted(GraphResponse response) { 
     // Handle the response. The returned ID in JSON is the placeId. 
    } 

request.executeAsync(); 
+0

更多信息請訪問:https://developers.facebook.com/docs/places/android/search – 2018-02-24 21:42:10