使用 Instagram API 加速多查询

Speed up multiquery with Instagram api

本文关键字:查询 加速 API Instagram 使用      更新时间:2023-09-26

我正在获取带有媒体/搜索内点的图像,像这样传递纬度和纬度

 url = Instagram.Config.apiHost + "/v1/media/search?lat=28.46555600&lng=-16.25113310&distance=5000&callback=?&client_id=" + Instagram.Config.clientID;

然后我只得到带有特定标签的图片 #instabeachpro,如果找不到图片,我会通过下一组图片将最后一个图片created_time添加到带有 max_timestamp 参数的 url,这是我正在使用的代码

 (function(){
 var url,tags,menos,photos = new Array(),i=90;
 function search(){
    generateResource(tag;
    $.getJSON(url, toScreen);
 }
function init(){
    bindEventHandlers();
}
 function generateResource(){
    url = Instagram.Config.apiHost + "/v1/media/search?lat=28.46555600&lng=-16.25113310&distance=5000&callback=?&client_id=" + Instagram.Config.clientID;
   return url;
 }
function toScreen(){
    var next_url=url+"&max_timestamp="+data.data[data.data.length - 1].created_time;
    $.each(data.data, function(index, photo){
    i--;
   tags=photo.tags;
   menos=jQuery.inArray( "instabeachpro", tags );
   if(menos!=-1)
   { 
       $('div#photos-wrap').append("<div id='"+i+"' ><a href='"+photo.link+"'><img     src='"+photo.images.low_resolution.url+"'/></a></div><div><img class='second'    src='"+photo.user.profile_picture+"'/></div>"); 
   }
  else{
    i++;
   }

   });
   if(next_url!=undefined+"&callback=?" && i>=0){    
      console.log(i);
      pagination(next_url);
    }
 }
 function pagination(url)
 {
   $.getJSON(url, toScreen);
 }
   Instagram.App = {
search: search,
init: init
 };
  function bindEventHandlers(){
     $('body').on('click', '#loadObject', function(){
        url=$(this).attr('data-next-url');
        i=90;
       if(url=='undefined')
      {
         alert("undefined");
      }
     else{
        pagination(url);
        return false;
      }
  });
 }
 }());
 $(function(){
    Instagram.App.init();
    Instagram.App.search(); 
 });

这有效,但它非常慢,我不知道该怎么做才能加快速度,因为 api 不支持像我想做的那样搜索,我需要在某个位置获取带有特定标签的所有内容,我已经多次被告知这是唯一的方法, 但必须有一个更快的方法。谢谢。

您的方法效率极低,因为您正在搜索的标签并不受欢迎,而且使用它的人比例很小,因此在位置周围获取 API,然后按标签过滤在 API 调用次数上是昂贵的。

反过来搜索,对标签进行 API 调用,然后检查该照片的位置。检查此实现:http://www.gramfeed.com/instagram/tags#instabeachpro您可以获取标记照片并在Google地图上绘制地图,滚动以加载更多照片,并看到很少有#instabeachpro照片被标记为位置