【问题标题】:Instagram feed based on tag and geolocation基于标签和地理位置的 Instagram 提要
【发布时间】:2014-02-27 12:16:45
【问题描述】:

是否可以同时基于标签和位置获取 Instagram 供稿?

我想要所有带有#stackExchange 标记的图片都位于约翰内斯堡(周围半径为 100 公里)

【问题讨论】:

    标签: c# instagram


    【解决方案1】:

    没有 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

    【讨论】:

    • 注意位置搜索的最大半径为5km
    • 我们目前正在通过位置搜索获取所有提要项目,然后以编程方式按标签过滤,但这可能会变得很麻烦。我只是想知道是否有像 twitter 这样的 api,您可以在其中结合两个搜索来节省处理。 @SteveCrawford 你在哪里看到半径的限制?
    • instagram.com/developer/endpoints/locations 在 GET /locations/search 下:“距离 - 默认为 1000m(距离=1000),最大距离为 5000。”
    • 看来只能在本地过滤了,好可惜
    【解决方案2】:

    正如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(单击响应按钮)。

    但请记住:过滤函数必须返回布尔值!

    【讨论】:

    • 当你像这样按位置搜索时,它有多具体?我的意思是,如果你把纽约市的绳子放进去,它怎么知道要走多大的半径?
    • 嘿,我想知道,如何获取位置 ID,以及从哪里获取?到目前为止,我无法在 Instagram API 文档中得到这个?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多