Facebook - 通过位置名称获取位置/地点ID

时间:2011-03-18 20:39:38

标签: facebook facebook-graph-api facebook-fql

我可以通过带有位置ID的图形api发送查询来返回位置的详细信息,但是我希望实现相反的方法 - 通过发送包含位置名称的请求(城市,国家等)。这可能吗?

3 个答案:

答案 0 :(得分: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

这种方式比较困难,因为您显然需要更详细地解析列表。

答案 1 :(得分:0)

你也可以使用facebook上的地方sdk:

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();

答案 2 :(得分:-1)

如果我理解你的问题你可以使用fql: https://api.facebook.com/method/fql.query?query=QUERY 查询应该是这样的: 从name =;

的地方选择page_id

以下是您的参考页面: http://developers.facebook.com/docs/reference/fql/place/