【问题标题】:facebook api how to get lat/long from user_locationfacebook api如何从user_location获取纬度/经度
【发布时间】:2015-02-28 07:17:29
【问题描述】:

这里有一个讨论:location (lat long) using facebook api 但它没有说明如何获取它...

我可以得到基本信息:

"location": {
 "id": "104146386288393", 
 "name": "Newton, Massachusetts"
   }, 

但是如何使用位置 ID 发出请求以获取

{
  "id": "104146386288393", 
  "name": "Newton, Massachusetts", 
  "picture": "http://external.ak.fbcdn.net/safe_image.php?d=AQDygUYzFOcjhDoD&w=100&h=300&url=http\u00253A\u00252F\u00252Fupload.wikimedia.org\u00252Fwikipedia\u00252Fen\u00252Fe\u00252Fe6\u00252FNewton_City_Hall\u0025252C_Massachusetts.jpg&fallback=hub_city&prefix=s", 
  "link": "http://www.facebook.com/pages/Newton-Massachusetts/104146386288393", 
  "likes": 3741, 
  "category": "City", 
  "is_published": true, 
  "is_community_page": true, 
  "description": "<snipped data>", 
  "location": {
    "latitude": 42.3369, 
    "longitude": -71.2097
  }, 
  "checkins": 310, 
  "talking_about_count": 8912
}

这是我的 facebook 代码:

$user_profile = (new FacebookRequest($session, 'GET', '/me?fields=id, first_name, location'))->execute()->getGraphObject(GraphUser::className());

谢谢

【问题讨论】:

    标签: php facebook api location


    【解决方案1】:

    这是你可以做的:

    • 使用user_location 授权用户
    • /me?fields=location发出GET请求
    • 向您在/me 的结果中获得的位置 ID 发出 GET 请求

    ...意思是,你只需要做一个额外的 API 调用来获取纬度/经度。

    【讨论】:

    • 我不知道如何从我的数组中获取我的位置 ID...如果我使用 $_SESSION["fb_user_details"]["location"]["id"] 它不起作用...知道如何从数组?
    • 不确定您是如何实现这一目标的。为什么会议?为什么是 fb_user_details?只需对 /me 进行 api 调用,它就会在返回的结果中。
    • 只是一个更新,它不会在默认的 /me 结果中返回。您现在必须执行 /me?fields=location。此外,location 现在还指代 ID 为 location.id 的 Page。然后该页面有一个位置字段,该字段属于位置类型,具有坐标等。
    【解决方案2】:

    您可以在实施前使用the graph api 工具进行检查。

    获得位置ID后,您需要调用“location_id”?fields=location来获取long/lat

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多