Facebook API:如何使用位置(纬度+经度)发布状态更新?

时间:2012-08-30 07:48:52

标签: facebook facebook-graph-api location

需要发布状态更新并通过传递纬度和经度来附加用户位置。在FB docs他们说,我们需要传递“地方”FB实体:

“包含与此位置相关联的页面的ID和名称的对象,以及包含地理信息(如纬度,经度,国家/地区和其他字段)的位置字段(字段将根据地理位置和信息的可用性而有所不同) “

如何从纬度和经度创建/获取此类地名?我读过相关的post1post2,但无法找到有效的解决方案。

2 个答案:

答案 0 :(得分:4)

  

如何从纬度和经度创建/获取此类地名?

目前,开发人员无法使用创建 Facebook页面或地点。但是,您可以通过执行像这样的FQL查询获取地名...

'SELECT page_id,name,latitude,longitude FROM place WHERE distance(latitude, longitude, "LAT_HERE", "LON_HERE") < 250`

250指的是它将在其中搜索的半径(m),它可以达到50000

执行此FQL查询将返回Facebook Place Page的ID,地名,纬度和经度。

(实际上没有必要获取地名,因为page_id是你真正需要的。使用page_id,你将能够获得该Facebook Place Page的所有信息。)

  

需要发布状态更新并通过传递附加用户位置   纬度和经度。

假设您实际上是在尝试发布签到,您可以参考下面的参考资料继续深入了解从FQL查询中获得的数据......

正常状态更新(供稿对话框)不同于带有标记位置的状态更新(签入),它们使用不同的API

参考文献:

How to get place_id before checkin?

Facebook - Publish Checkins using PHP SDK/JavaScript SDK

Facebook文档

页面FQL - http://developers.facebook.com/docs/reference/fql/page/

Checkins API - http://developers.facebook.com/docs/reference/api/user/#checkins

答案 1 :(得分:1)


如果您有lat / long数据,则可以搜索该地点并获取可包含在POST消息中的place-id。
请查看这些相关的帖子 -
https://developers.facebook.com/docs/opengraph/actions/#taggingplaces
https://developers.facebook.com/blog/post/2012/03/07/building-better-stories-with-location-and-friends/