我的应用程序允许用户使用lat,lon和地名登录Facebook。但我不知道如何处理“地方”参数。
有没有办法获得或创建一个?
答案 0 :(得分:6)
每个可检查的地方必须有有效的地方Facebook页面。
place
参数接收Place Facebook页面的page_id
。
例如,page_id
104999729569954 Place Facebook Page http://www.facebook.com/pages/Nanyang-Polytechnic/104999729569954
如果您的应用程序允许您的用户根据其当前位置进行签入
1)使用Google Map的Geolocation等外部地图服务获取用户当前位置的坐标(lat& lon)。
Google地图返回的坐标集与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
,latitude
和longitude
。将page_id
分配到place
参数中。将latitude
和longitude
分配到coordinates
参数中。然后,您就可以发布签到。
您可以参考我在此处发布的发布签到示例。 Facebook - Publish Checkins using PHP SDK/JavaScript SDK
如果您的应用程序允许您的用户根据地名列表或图片库列表中的选择进行签名(在游戏中等)
您只需要找到每个地方的page_id
并将它们绑定到相应的地名或图片。
<强>文档强>
页面FQL - http://developers.facebook.com/docs/reference/fql/page/
Checkins API - http://developers.facebook.com/docs/reference/api/user/#checkins
答案 1 :(得分:1)
也许这就是你想要的。 打开图形浏览器只需用任何Facebook页面URL替换URL
fql?q=SELECT id FROM object_url WHERE url="https://www.facebook.com/LegendCinema"