0

我对此有一些问题。我可以在不获取任何代码或访问令牌的情况下从 Instagram api 获取公共标记的照片吗?

请分享任何阅读链接,因为我找不到任何链接。我觉得对网络上的 Instagram api 了解较少。

谢谢!

4

2 回答 2

1

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

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

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

于 2013-09-12T02:11:24.723 回答
0

我使用 MeteorJS 并调用一个方法服务器端,该方法基本上返回 instagram 页面的“查看源代码”。因此,如果您可以在标签 url 上运行服务器端抓取,您将能够使用下面的内容处理响应,并将所有图像推送到数组中。

//服务器端方法

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)

})
于 2017-02-19T21:24:00.230 回答