从 Instagram 地点获取 Facebook 地点 ID
Getting facebook place id from instagram place
我从 instagram API 的文档中得知 instagram 映射了 facebook 位置 因此您可以通过 facebook 地点 ID 从 instagram 搜索并获取位置详细信息,即
https://api.instagram.com/v1/locations/search?facebook_places_id=273471170716&access_token=[ACCESS-TOKEN]
如您所见,我正在通过 Facebook 地点 ID 检索位置详细信息。
但在我的场景中,我想要的是使用来自 instagram 位置详细信息的 instagram id 获取 facebook 地点 id。以下是我的意思:
我有 instagram 位置 ID,可以使用以下方法获取地点的详细信息:
https://api.instagram.com/v1/locations/2862169?access_token=[ACCESS-TOKEN]
但上面只调用了returns位置名称和地理坐标。而我也想要该位置的 Facebook 地点 ID。有没有办法让我也从 Instagram 获取 Facebook 地点 ID?
我检查了他们关于位置端点(https://instagram.com/developer/endpoints/locations/)的文档,但找不到任何相关信息。
我想要的原因是,我需要获取位置详细信息,例如类别等,而 instagram API 没有提供,所以我计划在 facebook 上使用这个检索到的 facebook 地点 id图 API 以检索此附加位置详细信息。
我认为您只能使用 Facebook Graph API 搜索此内容。因此,您可以使用来自 Instagram API 的 latitude
、longitude
和 name
的输出来构造一个图 API 调用 returns您是 列表 匹配的 Facebook 地方信息页。
例如,如果 Instagram 位置 id
是 788029
,则 API 将 return 以下 JSON:
{
"id": "788029",
"latitude": 48.858844300000001,
"longitude": 2.2943506,
"name": "Eiffel Tower, Paris"
}
因此,如果您采用此结果并使用数据构建 Facebook 图 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}
替换为实际的 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"
}
}
见
我从 instagram API 的文档中得知 instagram 映射了 facebook 位置 因此您可以通过 facebook 地点 ID 从 instagram 搜索并获取位置详细信息,即
https://api.instagram.com/v1/locations/search?facebook_places_id=273471170716&access_token=[ACCESS-TOKEN]
如您所见,我正在通过 Facebook 地点 ID 检索位置详细信息。
但在我的场景中,我想要的是使用来自 instagram 位置详细信息的 instagram id 获取 facebook 地点 id。以下是我的意思:
我有 instagram 位置 ID,可以使用以下方法获取地点的详细信息:
https://api.instagram.com/v1/locations/2862169?access_token=[ACCESS-TOKEN]
但上面只调用了returns位置名称和地理坐标。而我也想要该位置的 Facebook 地点 ID。有没有办法让我也从 Instagram 获取 Facebook 地点 ID?
我检查了他们关于位置端点(https://instagram.com/developer/endpoints/locations/)的文档,但找不到任何相关信息。
我想要的原因是,我需要获取位置详细信息,例如类别等,而 instagram API 没有提供,所以我计划在 facebook 上使用这个检索到的 facebook 地点 id图 API 以检索此附加位置详细信息。
我认为您只能使用 Facebook Graph API 搜索此内容。因此,您可以使用来自 Instagram API 的 latitude
、longitude
和 name
的输出来构造一个图 API 调用 returns您是 列表 匹配的 Facebook 地方信息页。
例如,如果 Instagram 位置 id
是 788029
,则 API 将 return 以下 JSON:
{
"id": "788029",
"latitude": 48.858844300000001,
"longitude": 2.2943506,
"name": "Eiffel Tower, Paris"
}
因此,如果您采用此结果并使用数据构建 Facebook 图 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}
替换为实际的 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"
}
}
见