Facebook - получить идентификатор местоположения/мест по названию местоположения

Я могу вернуть данные о местоположении, отправив запрос через график api с идентификатором местоположения, однако я ищу для достижения обратного - эффективно найти идентификатор местоположения, отправив запрос, содержащий имя местоположения (город, состояние и т.д.). Возможно ли это?

Ответы

Ответ 1

Это возможно под несколькими разными подходами. Вы можете выполнять поиск с использованием позиций long/lat и помещать имя места в запрос. Этот поиск будет искать только места.

Сделайте следующее

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

Этот способ сложнее, так как вам, разумеется, потребуется более детально проанализировать список.

Ответ 2

Вы также можете использовать место sdk из facebook:

compile group: 'com.facebook.android', name: 'facebook-places', version: '4.29.0'

а затем:

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.
}