我有一些问题。我可以从Instagram api获取公开标记的照片而无需获取任何代码或访问令牌吗?
请分享任何阅读链接,因为我找不到任何链接。我觉得它对网络上的Instagram api知之甚少。
谢谢!
答案 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;|<|/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)
})