获取没有访问令牌的标记照片

时间:2013-09-10 02:25:32

标签: api access-token instagram

我有一些问题。我可以从Instagram api获取公开标记的照片而无需获取任何代码或访问令牌吗?

请分享任何阅读链接,因为我找不到任何链接。我觉得它对网络上的Instagram api知之甚少。

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以按标签提取公共媒体而无需身份验证。

查看get / tags / tag-name / media / recent端点的API文档。这是网址:http://instagram.com/developer/endpoints/tags/#get_tags_media_recent

文档可能令人困惑,它在示例中使用access_token显示此端点,但不是必需的。您需要注册一个应用程序并获取客户端ID。

答案 1 :(得分:0)

我使用MeteorJS并调用方法服务器端,该方法基本上返回instagram页面的“视图源”。因此,如果您可以在标记网址上运行服务器端scrape,您将能够使用下面的内容处理响应,并将所有图像推送到数组中。

//服务器端方法

Meteor.methods({
'scrapeInst':function(tag){
    return Scrape.url('https://www.instagram.com/explore/tags/'+tag+'/')
}})

//客户端逻辑

Meteor.call('scrapeInst',Session.get('params').tag,function(err,resp){


    var theInstResp = resp;

    cleanOne = resp.replace(/>|window._sharedData = |;<&#47;|;|#47;|<|/g,'').split('script')
    var splitter = cleanOne[22].split(',');
    var theArr = [];


    _.each(splitter,function(e){
        var theFinal = {};
        var theS = e.split(":");


        if(theS[0].replace(/"| |/g,'') === "display_src"){
            theFinal[theS[0].replace(/"| |/g,'')] = theS[2].replace(/%22/g,'');
            theArr.push(theFinal)
        }


    });

    Session.set('photos',theArr);
    setTimeout(function(){
        Session.set('loading',false)
    },1000)

})