【问题标题】:Getting facebook place id from instagram place从 instagram place 获取 facebook place id
【发布时间】:2015-03-17 07:42:35
【问题描述】:

我从 instagram API 的文档中知道 instagram 映射了 facebook 位置,因此您可以通过 facebook place id 搜索并从 instagram 获取位置详细信息,即

https://api.instagram.com/v1/locations/search?facebook_places_id=273471170716&access_token=[ACCESS-TOKEN]

如您所见,我正在通过 facebook place id 检索位置详细信息。

但在我的场景中,我想要的是使用来自 instagram 位置详细信息的 instagram id 获取 facebook place id。以下是我的意思:

我已经获得了 instagram 位置 ID,并且可以使用以下方法获取该地点的详细信息:

https://api.instagram.com/v1/locations/2862169?access_token=[ACCESS-TOKEN]

但上面的调用只返回位置名称和地理坐标。而我也想要该位置的 Facebook 位置 ID。有什么方法可以让我也从 instagram 中获取 facebook 位置 ID?

检查了他们关于位置端点 (https://instagram.com/developer/endpoints/locations/) 的文档,但找不到任何相关信息。

我想要这样做的原因是,我需要获取位置详细信息,例如类别等,以及 instagram API 不提供的,所以我计划在 facebook graph API 上使用这个检索到的 facebook place id 来检索这个额外的位置详细信息。

【问题讨论】:

    标签: facebook facebook-graph-api instagram instagram-api


    【解决方案1】:

    我认为您只能使用 Facebook Graph API 搜索。因此,您可以使用 Instagram API 的输出 latitudelongitudename 来构造一个 Graph API 调用,该调用会返回一个匹配 Facebook 地方页面的列表

    例如,如果 Instagram 位置 id788029,API 将返回以下 JSON:

    {
        "id": "788029",
        "latitude": 48.858844300000001,
        "longitude": 2.2943506,
        "name": "Eiffel Tower, Paris"
    }
    

    因此,如果您获取此结果并使用数据构建 Facebook Graph API 搜索 url,它将产生如下结果:

    https://graph.facebook.com/search?q=Eiffel%20Tower,%20Paris&type=place&center=48.858844300000001,2.2943506&distance=100&limit=3&access_token={app_access_token}

    您可以根据需要选择distancelimit。如果您设置limit=1,您只会收到 Facebook 认为最匹配的位置。将{app_access_token} 替换为实际的应用访问令牌。

    Facebook 的响应类似于

    {
      "data": [
        {
          "category": "Local business", 
          "category_list": [
            {
              "id": "276651312419490", 
              "name": "Monument"
            }
          ], 
          "location": {
            "street": "", 
            "city": "Paris", 
            "state": "", 
            "country": "France", 
            "zip": "75007", 
            "latitude": 48.858385562198, 
            "longitude": 2.2944861654879, 
            "located_in": "141184112585566"
          }, 
          "name": "Level 2 Eiffel Tower, Paris", 
          "id": "380503552017025"
        }, 
        {
          "category": "Local business", 
          "category_list": [
            {
              "id": "186825111351005", 
              "name": "Tourist Attraction"
            }
          ], 
          "location": {
            "street": "", 
            "city": "Paris", 
            "state": "", 
            "country": "France", 
            "zip": "", 
            "latitude": 48.858205346341, 
            "longitude": 2.2944900587791
          }, 
          "name": "Eiffel Tower Sommett, Paris, France", 
          "id": "1458706024363987"
        }, 
        {
          "category": "Restaurant/cafe", 
          "category_list": [
            {
              "id": "168976549819329", 
              "name": "French Restaurant"
            }
          ], 
          "location": {
            "street": "", 
            "city": "Paris", 
            "state": "", 
            "country": "France", 
            "zip": "75007", 
            "latitude": 48.858532957713, 
            "longitude": 2.2941094631632, 
            "located_in": "141184112585566"
          }, 
          "name": "58 Tour Eiffel (officiel)", 
          "id": "148894855169991"
        }
      ], 
      "paging": {
        "next": "https://graph.facebook.com/v2.2/search?limit=3&type=place&q=Eiffel Tower, Paris&center=48.858844300000001,2.2943506&distance=100&offset=3&__after_id=enc_AdCYS3bVKOc29JFMrqlsouSZCvBxUTYZC7nHvqDHKAiBNrOs2ehUIaOsJ2wL9TxF9KOfgGmqEPOaLwotDM4pIUqyFf"
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-23
      • 2015-03-23
      相关资源
      最近更新 更多