FbGraph: у событий в Фейсбуке есть карта, но возвращаемое место не имеет геолокации

Я не уверен, что это ошибка fbgraph. На самом деле я уверен, что это не так, но я хотел бы понять, почему некоторые события в Facebook отображают карту, но когда я получаю их с помощью FbGraph, возвращаемое место не имеет информации о месте.

Я делаю:

FbGraph::Event.fetch("1314214...", access_token: "ABABZ...")

И место, которое является частью ответа, является

@venue=#<FbGraph::Venue:0x007f8657de20a8 @latitude=nil, @longitude=nil, @street=nil, @city=nil, @state=nil, @zip=nil, @country=nil>

Это почему?

1 ответ

Решение

Facebook покажет карту, даже если создатель мероприятия никогда не предоставил данные о географическом местоположении. Итак, если вы не получаете данные о местоположении, это потому, что создатель события никогда не предоставлял данные.

Добавлено: соответствующая информация из обсуждения ниже...

Facebook может нарисовать карту данного адреса, преобразовав этот адрес в широту / долготу, однако у вас, как у программиста, нет доступа к этим координатам. Facebook будет возвращать координаты только в том случае, если пользователь специально ввел их (обычно выбирая точку на карте).

Добавлено: так что, возможно, выше сказанное не так...

Перечитав ваш вопрос, я понимаю, что мой ответ может не относиться к вашей ситуации. Похоже, что на самом деле Facebook возвращает идентификатор местоположения и оставляет за вами право запрашивать информацию об этом месте. Имейте в виду, что Facebook использовал для хранения событий в своей базе данных с отдельными полями данных для адреса, города, штата и т. Д. Однако Facebook, похоже, постепенно переходит на хранение только идентификаторов мест. (Но эти поля все еще доступны программистам).

Раньше вы могли программно создавать событие с улицей, городом, штатом и т. Д. Теперь единственное поле, которое вы можете указать, - это идентификатор места. То же самое касается внешнего интерфейса создания событий со страницы событий - вы должны найти место, которое распознает Facebook, вы не можете просто ввести произвольный адрес.

Однако, если вы создадите событие программно, а затем перейдете к его редактированию в Facebook, вы обнаружите, что вы можете ввести адрес вручную.

Другие вопросы по тегам