笔记:获取 Instagram API 的 access token


前言

今天想试一下 Instagram 的 API,找了一个 package:node-instagram,里面提供了两种方法授权:比如做了一个 web app,使用 app 在 Instagram 注册的 client_idclicnt_secret 让用户自己授权;第二种,也就是我想用的,就是直接使用 Instagram 提供的 sandbox 直接用 access_token 交换我自己的数据。

node-instagram 也对应提供了两种方式:

但是问题就来了,怎么拿到自己的 access_token,Instagram 不像 twitter 的 API 可以在 developer 页面获取一个自己测试 access_token,查了一下,主要参考 Stack Overflow 上这个问题的这个答案,大致写一下步骤:

获取 access_token 的步骤

  1. 首先去 Instagram 的开发者中心创建一个 app,获取后续需要的 client_idclicnt_secret
  2. 通过得到了的 client_idclicnt_secret 授权需要的获取 authorization_code;
  3. 使用 client_idclicnt_secretauthorization_code 换取 access_token

详细步骤过程

第一步

首先去 Instagram 的开发者中心创建一个 app。创建 app 的时候注意一下 field Valid redirect URIs,这个之后需要用到。

第二步

创建完毕之后通过得到了 app 的 client_idclicnt_secret 通过以下这个链接公式获取 authorization_codeREDIRECT-URI 需要严格一致;

这一步会直接在浏览器中返回至之前填写的 redirect_uri,紧跟着一串 code,比如我填写的 redirect_urihttp://localhost:3000/oauth/callback/ 这个时候就会被 redirect 到;

记录下这里得到的 code,下一步会用到;

第三步

套用 Stack Overflow 相关回答 给的请求模版进行 access_token 的获取

模版如下,打了中括号的地方填入相关数据,复制到终端中获取自己的 access_token(这一步获取,终端本身是需要可以访问 Instagram 🙂)。

获得到内容类似如下:

![](/assets/2017-03-14-node-instagram-get-access-token/01.png)
那大 `access_token`,但这里获得的 code 只能使用一次。

回到 node_instagram 里,就可以直接使用来测试了,截图:

感谢阅读

你们好, 2018 年初把小站从 Jekyll 迁移到 Hugo 的过程中,删除了评论区放的 Disqus 插件,考虑有二:首先无论评论、还是对笔记内容的进一步讨论,读者们更喜欢通过邮件、或者 Twitter 私信的方式来沟通;其次一年多以来 Disqus 后台能看到几乎都是垃圾留言(spam),所以这里直接贴一下邮件、以及 Twitter 账户 地址。

技术发展迭代很快,所以这些笔记内容也有类似新闻的时效性,不免有过时、或者错误的地方,欢迎指正 ^_^。

BEST
Lien(A.K.A 胡椒)
本站总访问量 本站总访客量 本文总阅读量