现在(06/2016)还有办法在不使用访问令牌的情况下获取 Instagram feed 吗?

问题描述 投票:0回答:4

我有一个问题,我的 Instagram API 访问令牌经常过期,我红色了文档并了解虽然令牌通常不会过期,但 Instagram 可能会出于任何安全原因或任何原因随时决定使令牌过期。

我知道当它过期时,我需要设置一个身份验证过程并请求一个新的令牌等等。但问题是我的应用程序只是检索我自己的提要以在我自己的网站上显示,一旦令牌过期,设置这样的过程就没有意义,我唯一能做的就是手动检索和更新我的代码中的令牌。

所以我想知道是否还有一种方法可以在不使用访问令牌的情况下获取提要,因为我只是拉入自己的提要。或者有什么其他方法可以解决这个问题吗?

感谢您的帮助。

api instagram access-token instagram-api
4个回答
66
投票

https://www.instagram.com/anyuser/media
今天停止工作了。您可以使用
https://www.instagram.com/anyuser/?__a=1
代替。


25
投票

编辑:您现在只需通过此链接即可获取个人资料的 json 数据:https://www.instagram.com/anyuser/?__a=1


如果您的个人资料设置为公共模式,您可以从 json 响应中获取数据,只需编写: https://www.instagram.com/YOURUSERNAME/media

示例:https://www.instagram.com/bestcookingvideos/media

你可以通过以下方式查看json结构:http://json.parser.online.fr/

注意:此页面不再活动:https://www.instagram.com/YOURUSERNAME/media

2020.11.17

如答案所示,您可以通过 https://www.instagram.com/anyuser/?__a=1 通过

12 最近的帖子
获取个人资料详细信息,但问题是这不允许获取媒体分页。所以为此你需要使用

https://instagram.com/graphql/query/?query_id=17888483320059182&variables={"id":"15165085906","first":20,"after":null}

以上路由将返回属于该 id 的相关用户的前 20 个媒体,当我们需要获取下 20 个媒体时,我们需要传递初始调用中的

end_cursor

enter image description here

更多信息参考相关答案


7
投票

2021 更新:由于 Instagram 最新更改,这不再是可靠的解决方案。

原答案

你可以使用我开发的这个jquery库:

https://github.com/BanNsS1/jquery.instagramFeed

无需 API 令牌

编辑以下评论:

它只是 jquery 支持的库,允许您加载任何公共 Instagram 个人资料的前 12 项。

如何解决问题?无需访问令牌/API 密钥即可加载 1 到 12 篇最新帖子

<script type="text/javascript" src="jquery.instagramFeed.min.js"></script>
<script type="text/javascript">
    (function($){
        $(window).on('load', function(){
            $.instagramFeed({
                'username': 'instagram',
                'container': "#instagram-feed1",
                'display_profile': true,
                'display_biography': true,
                'display_gallery': true,
                'get_raw_json': false,
                'callback': null,
                'styling': true,
                'items': 8,
                'items_per_row': 4,
                'margin': 1 
            });
        });
    })(jQuery);
</script>

想要更多吗?需要点击 2 次并滚动一些。


3
投票

我构建了一个小型 SaaS,使这一切变得非常简单:https://behold.so - 它使用新的 Instagram API 处理所有混乱的东西,并且只为您提供一个 JSON 形式的帖子提要的 URL。像这样:https://feeds.behold.so/zFgp2Jbbk23Ovf1ZUOhq

一旦有了 Feed URL,代码就变得很简单:

fetch('https://feeds.behold.so/zFgp2Jbbk23Ovf1ZUOhq')
  .then(res => res.json())
  .then(feed => {
    feed.posts.forEach(({
      id,             // The post ID
      mediaUrl,       // The media source
      sizes,          // An object containing various image sizes
      colorPalette,   // An object containing extracted color values
      permalink,      // URL of the Instagram post
      caption,        // Post caption
      mediaType,      // 'IMAGE', 'VIDEO', or 'CAROUSEL_ALBUM'
      thumbnailUrl,   // Only returned for video posts
      timestamp,      // Post publish date,
      children        // An array of CAROUSEL_ALBUM children. Each with id, mediaUrl, mediaType and thumbnailUrl
    }) => {

      // Step 3. Make magic happen...
      
    });
  });

对于自我推销表示歉意,但事实是 2022 年没有简单的方法来解决这个问题。Meta 故意让事情变得非常困难。

© www.soinside.com 2019 - 2024. All rights reserved.