如何通过API标签获取所有Instagram帖子(不仅仅是我自己帐户的帖子)

KRO*_*ers 7 instagram instagram-api

如何通过API标签获取所有 Instagram帖子(不仅仅是我自己帐户的帖子)

我正在尝试使用精确的标签标记所有Instagram图片,但我只收到我自己的开发人员帐户帖子标记了标签.

我目前在当地的开发环境中工作,也许这就是问题所在?

什么是沙盒模式,我该怎么做才能进入"真实"模式?

在平台策略中,它写道:" 未经他们明确同意,您不能使用API​​平台来抓取或存储用户的媒体. "

这是否意味着我想做的事情根本不可能?

谢谢你的帮助

Leg*_*ary 11

您只需访问以下网址即可获取原始JSON中的帖子:https://www.instagram.com/explore/tags/summer/?___ a = 1

然后只需使用javascript/jquery通过帖子获取数据循环.您将收到12个帖子和一个变量,以查看是否有更多页面.

获取最新的6个帖子的示例:

$.get('https://www.instagram.com/explore/tags/summer/?__a=1', function (data, status) {
    for(var i = 0; i < 6; i++) {
        var $this = data.graphql.hashtag.edge_hashtag_to_media.edges[i].node;
        $('#container').append('<img src="'+  $this.thumbnail_resources[2].src +'">');
    }
});
Run Code Online (Sandbox Code Playgroud)

这是一个可以使用的codepen

  • @iamnobody URL端点不支持多个主题标签。因此,您必须为每个主题标签进行ajax调用。您可以使用has_next_page来执行if语句,以确定是否应该对相同的hashtag进行另一个ajax调用。然后,您在URL中添加另一个参数,并将end_cursor作为值。像这样:`https://www.instagram.com/explore/tags/ {{hashtag}} /?__ a = 1&max_id = {{end_cursor}}`希望对您有所帮助,否则,请告诉我:) (2认同)

kri*_*rak 5

当您注册API客户端时,您将处于沙盒模式(开发/测试模式),在此模式下您将在API响应中仅获得您和您的沙盒用户的数据。

完成应用程序后,您必须提交到 Instagram 进行审核,如果获得批准,则可以将应用程序设置为 Live 模式,然后您将在 API 响应中看到所有帖子。

PS 请注意,您有权public_content在 oauth 范围内获取所有帖子