Kam*_*med 3 facebook facebook-graph-api instagram instagram-api
我从 instagram API 的文档中知道instagram 已映射 facebook 位置,因此您可以通过 facebook place id ie 从 instagram 搜索并获取位置详细信息
https://api.instagram.com/v1/locations/search?facebook_places_id=273471170716&access_token=[ACCESS-TOKEN]
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我正在通过 Facebook 地点 ID 检索位置详细信息。
但在我的场景中,我想要的是使用 instagram id 从 instagram 位置详细信息获取facebook 地点 id 。下面是我的意思:
我已经获得了 Instagram 位置 ID,并且可以使用以下命令获取该地点的详细信息:
https://api.instagram.com/v1/locations/2862169?access_token=[ACCESS-TOKEN]
Run Code Online (Sandbox Code Playgroud)
但上述调用仅返回位置名称和地理坐标。而我也想要该位置的 Facebook 地点 ID。有什么办法让我也从 Instagram 获取 facebook 地点 id 吗?
我已经检查了他们关于位置端点的文档(https://instagram.com/developer/endpoints/locations/),但无法找到任何相关信息。
我想要这样做的原因是,我需要获取位置详细信息,例如类别等,以及 instagram API 不提供的位置详细信息,因此我计划在 facebook graph API 上使用此检索到的 facebook 位置 id 来检索此附加位置详细信息。
我认为您只能使用 Facebook Graph API 搜索此内容。因此,您可以使用 Instagram API 的输出latitude
,longitude
并name
构建一个 Graph API 调用,该调用会返回匹配的 Facebook 地点页面列表。
id
例如,如果 Instagram 位置788029
,API 将返回以下 JSON:
{
"id": "788029",
"latitude": 48.858844300000001,
"longitude": 2.2943506,
"name": "Eiffel Tower, Paris"
}
Run Code Online (Sandbox Code Playgroud)
因此,如果您获取此结果并使用该数据构建 Facebook Graph API 搜索 url,则会产生如下结果:
https://graph.facebook.com/search?q=Eiffel%20Tower,%20Paris&type=place¢er=48.858844300000001,2.2943506&distance=100&limit=3&access_token= {app_access_token}
您可以选择您想要的distance
以及limit
您想要的。如果您进行设置,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¢er=48.858844300000001,2.2943506&distance=100&offset=3&__after_id=enc_AdCYS3bVKOc29JFMrqlsouSZCvBxUTYZC7nHvqDHKAiBNrOs2ehUIaOsJ2wL9TxF9KOfgGmqEPOaLwotDM4pIUqyFf"
}
}
Run Code Online (Sandbox Code Playgroud)
看
归档时间: |
|
查看次数: |
2348 次 |
最近记录: |