【发布时间】:2014-02-27 12:16:45
【问题描述】:
是否可以同时基于标签和位置获取 Instagram 供稿?
我想要所有带有#stackExchange 标记的图片都位于约翰内斯堡(周围半径为 100 公里)
【问题讨论】:
是否可以同时基于标签和位置获取 Instagram 供稿?
我想要所有带有#stackExchange 标记的图片都位于约翰内斯堡(周围半径为 100 公里)
【问题讨论】:
没有 API 可以同时获取标签和位置的提要,标签和位置有独立的 API,但您目前无法进行一次调用并获得针对两者过滤的结果。
标签 API:
https://api.instagram.com/v1/tags/snow/media/recent?access_token=ACCESS-TOKEN
位置搜索 API:
https://api.instagram.com/v1/media/search?lat=48.858844&lng=2.294351&access_token=ACCESS-TOKEN
您可以制作位置 API 调用缓存,然后手动查找标签,但这可能会增加 API 调用的数量。这是位置搜索的实现,然后您可以按关键字过滤:http://www.gramfeed.com/instagram/map
【讨论】:
正如krisrak 所说-您需要选择:按位置获取然后按标签过滤,或者按标签获取然后按位置过滤。 检查instafeed.js - 例如,您可以使用它(按位置获取,然后按标签过滤):
var mylocation = 1234569; //must be a number!
var feed = new Instafeed({
get: 'location',
locationId: mylocation,
clientId: 'someId', //change this with the client id you get from Instagram
filter: function(image) {
return (image.tags.indexOf('myTag') >= 0);
}
});
feed.run();
您可以在谷歌地图中找到您想要的位置。右键单击地图上的特定点,然后选择“这里有什么?” - 这将显示坐标。现在使用这个site 来获取 Instagram locationId。
请注意,图像对象具有 Instagram api 返回的所有属性,因此您可以获取标签、位置、cmets... 要查看完整的字段列表,请查看 returned media api(单击响应按钮)。
但请记住:过滤函数必须返回布尔值!
【讨论】: