如何在入住前获得place_id?

Shi*_*oft 4 facebook checkin facebook-graph-api

我的应用程序允许用户使用lat,lon和地名登录Facebook.但我不知道如何处理"地方"参数.

有没有办法获得或创建一个?

小智 6

每个可签入的地方必须有一个有效的Place Facebook页面.

place参数page_id包含Place Facebook页面.

例如,page_id104999729569954 of Place Facebook Page http://www.facebook.com/pages/Nanyang-Polytechnic/104999729569954


如果您的应用程序允许您的用户根据其当前位置进行签入

1)使用Google Map的Geolocation等外部地图服务获取用户当前位置的坐标(lat&lon).

从Google Map返回的坐标集与Facebook自己的坐标集不同.

2)要解决此问题,请执行FQL查询以查找Facebook坐标与Google Map坐标的最接近匹配.

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

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

3)现在你有page_id,latitudelongitude.分配page_idplace参数.分配latitudelongitude输入coordinates参数.然后,您就可以发布签到.

您可以参考我在此处发布的发布签到示例.Facebook - 使用PHP SDK/JavaScript SDK发布Checkins


如果您的应用程序允许您的用户根据地名列表或图片库(在游戏中等)中的选择进行签入

您只需要找到page_id每个地方的位置并将它们绑定到相应的地名或图像.


文档

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

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