API更新2016后,获取用户喜欢的Instagram图像

时间:2016-06-03 08:21:21

标签: api instagram self

喂!

Instagram于2016年6月1日更新其API后,我们无法让JavaScript Instagram实施工作。我们检查了客户端设置,发现它已经进入沙盒模式。在尝试重新提交时,没有任何有效的用户案例确实合适,我们理解他们已经删除了我们通过该帐户获取其他人内容的权利,而未获得每个所有者的许可。

据我所知,新参数“scope”需要设置为“public_content”,这需要用户权限。

所以目前下面的解决方案只提取用户自己喜欢的图片。在我们获得用户喜欢的其他人的图像之前。

那么,有没有人知道如何获取帐户帖子的受欢迎内容1. 2016年6月? 获取Instagram商业帐户是否可以帮助您显示其他人的内容?

以下是在主题标签上附加过滤器的代码示例。 如果有人能够更好地了解如何同时过滤主题标签和喜欢的内容,请告诉我们:)

$.fn.instagramFeedInit = function()
{
    if(!$('#instagram-content').length)
    {
        return;
    }
    var container = $('#instagram-content');
    var tag = container.data('hashtag');
    var image_display_count = container.data('image-count');
    var access_token = [INSERT_TOKEN_OR_SOUTH_PARK_REFERENCE_HERE];
    $.ajax({
        type:'GET',
        url: 'https://api.instagram.com/v1/users/self/media/liked?access_token=' + access_token + '&callback=callback&count=99999',
        jsonp: 'callback',
        dataType: 'jsonp',
        success: function(response) {
            var container = $('#instagram-content');
            var i = 0;

            // Loops through images
            $(response.data).each(function(i, el){
                // Check that it has correct tag
                if(jQuery.inArray(tag, el.tags) !== -1)
                {
                    var imageTitle = el.caption.text;
                    var image = el.images.low_resolution.url;
                    var refImage = el.images.standard_resolution.url;
                    if (el.type === 'video') {
                        var videoLink = el.videos.standard_resolution.url;
                        container.append('<a class="lightbox instagramimage mfp-iframe"  title="' + imageTitle + '" href="' + videoLink + '" ><img  src="' + image + '"></a>');
                    }
                    else {
                        container.append('<a class="lightbox instagramimage" title="' + imageTitle + '" href="' + refImage + '" ><img src="' + image + '" class="img-responsive"></a>');
                    }
                    i++;
                    // If we have reached maximum display images
                    if(i == image_display_count) return false;
                }
            }); 
        }
    });
};

1 个答案:

答案 0 :(得分:0)

请注意,如果您处于沙盒模式,则只有来自授权沙盒用户的帖子才会出现在任何api请求中。无论您是否拥有public_access范围。

注意:您现在需要将scope=public_access添加到授权网址。它不再包含在默认情况下

例如,A和B都是沙盒用户C不是。
A喜欢C.的帖子 A的喜欢的媒体端点将不包括来自C的帖子。他对您的沙箱应用程序不可见 然后就像是B的帖子 A的喜欢的媒体端点现在将包含来自B的帖子,因为他对您的沙箱应用程序可见