Я могу вернуть данные о местоположении, отправив запрос через API графика с идентификатором местоположения, однако я хочу добиться обратного - эффективно найти идентификатор местоположения, отправив запрос, содержащий имя местоположения (город, штат и т. д.) . Это возможно?
Facebook - получить идентификатор местоположения / места через название местоположения
Ответы (3)
Это возможно при нескольких различных подходах. Вы можете выполнить поиск, используя длинные/широтные позиции, и указать название места в запросе. Этот поиск будет искать только места.
Сделайте следующее
Это вернет ритуальный кофе.
Другой способ — выполнить поиск по страницам Facebook, используя следующий https://graph.facebook.com/search?q=ritual%20coffee&type=page&access_token=mytoken
Этот способ более сложен, так как вам, очевидно, потребуется более детально разобрать список.
Вы также можете использовать место 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();
Если я правильно понял ваш вопрос, вы можете использовать fql: https://api.facebook.com/method/fql.query?query=QUERY, где запрос должен быть примерно таким: выберите page_id из места, где name = ;
Вот страница для справки: http://developers.facebook.com/docs/reference/fql/place/