0

我不确定这是一个 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>

这是为什么?

4

1 回答 1

1

即使活动创建者从未提供过地理位置数据,Facebook 也会显示地图。因此,如果您没有收到位置数据,那是因为事件创建者从未提供过数据。

补充:来自下面讨论的相关信息......

Facebook 可以通过将该地址转换为纬度/经度来绘制给定地址的地图,但是,作为程序员的您无权访问这些坐标。如果用户特别输入坐标(通常通过在地图上选择一个点),Facebook 只会返回坐标。

补充:所以也许上面是错误的......

重新阅读您的问题后,我意识到我的回答可能不适用于您的情况。看起来 Facebook 实际上在做的是返回位置 ID 并让您查询有关该地点的信息。请记住,Facebook 过去常常在其数据库中存储事件,其中包含地址、城市、州等的单独数据字段。然而,Facebook 似乎正在慢慢过渡到仅存储地点 ID。(但它仍然为程序员提供这些字段)。

过去,您可以以编程方式创建包含街道、城市、州等的事件。现在,您可以提供的唯一字段是地点 ID。从您的活动页面创建活动前端也是如此——您必须找到 Facebook 识别的位置,您不能简单地输入任意地址。

但是,如果您以编程方式创建事件,然后从 Facebook 编辑它,您会发现您可以手动输入地址。

于 2012-03-30T21:35:54.753 回答