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

Я не уверен, что это ошибка 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 Ответ

1 голос
/ 31 марта 2012

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

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

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

Добавлено: возможно, вышеприведенное неверно ...

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

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

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

...