美文网首页移动产品PMInstagram
用 Instagram API 来理解,接口是什么?接口是怎么运

用 Instagram API 来理解,接口是什么?接口是怎么运

作者: 刘英滕 | 来源:发表于2018-06-18 23:22 被阅读44次

打开 Authentication 页面,我们需要获取一个 access_token,这是访问令牌。简单来说,就是可以让你在一定时间内,不需要每次都验证 ID 和 Secret,来获取数据的一个令牌。

为了安全,令牌有有效期,过了有效期令牌就会失效,我们要重新获取领取。这是为什么有些 app 我们太久没打开,要求重新登录的原因。

怎么获得 access_token,根据提示,我们需要访问下面这个地址:

https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code

注意,不是复制这段 URL 去访问,大写字母是需要我们替换的内容。我们刚才拿到了 Client ID 和 Redirect URIs,所以最终我需要访问的 URL 是:

https://api.instagram.com/oauth/authorize/?client_id=a273c29c3ff64fc1804beb63cb85ca17&redirect_uri=http://localhost&response_type=code

怎么访问?直接复制到浏览器地址栏,回车即可。(你要替换成你自己的资料,我的肯定是失效的。)

这时,我们会打开一个授权页面,问你是否授权测试这个应用,点授权即可,然后页面会重新跳转。

等下,页面挂了?别担心,只是重定向了,留意地址栏,变成了:

http://localhost/?code=7d4bd932226747c1ad022855e6d2f356

code 是 7d4bd932226747c1ad022855e6d2f356。

我们获得了 code 信息,暂时还没拿到 access_token,但就差最后一步了。往下翻,我们需要再有这样一个请求:

    curl -F 'client_id=CLIENT_ID' \
    -F 'client_secret=CLIENT_SECRET' \
    -F 'grant_type=authorization_code' \
    -F 'redirect_uri=AUTHORIZATION_REDIRECT_URI' \
    -F 'code=CODE' \
    https://api.instagram.com/oauth/access_token

同样地,我们把大写字母都替换一下,换了我们刚才拿到的资料,即变成:

    curl -F 'client_id=a273c29c3ff64fc1804beb63cb85ca17' \
    -F 'client_secret=b548b985e53749518c4c22f693b6c9fb' \
    -F 'grant_type=authorization_code' \
    -F 'redirect_uri=http://localhost' \
    -F 'code=7d4bd932226747c1ad022855e6d2f356' \
    https://api.instagram.com/oauth/access_token

注意检查一下,复制粘贴的时候不要多出空格。然后这次我们不是在浏览器输入,Mac 是在「终端 (Term)」这个 app 里面,Windows 是在命令行。

输入后回车,就能得到我们想要的结果了。

{
  "access_token": 
  "631487536.a273c29.573aa95fa1b6403db80fe6ac60191c4f", 
  "user": {
    "id": "631487536", 
    "username": "ethonlau", 
    "profile_picture": "https://scontent.cdninstagram.com/vp/8a497f3eebaea72dda8fe47ddee1d3a8/5BBAF55E/t51.2885-19/s150x150/13129637_1738545199758157_1620655362_a.jpg", 
    "full_name": "\u5218\u82f1\u6ed5"
  }
}

这时,我们的 access_token 已经拿到,access_token 是 631487536.a273c29.573aa95fa1b6403db80fe6ac60191c4f,依然是把它记下来。

(code 只能用一次,如果你刚才没把 access_token 记下来,请重来一遍。)

咦?我们还发现了一些熟悉的信息。比如 username 不就是我 Instagram 的名字吗?把 profile_picture 的地址在浏览器访问一下,居然就是我的头像图片了!没错,这是我们刚才用于授权的那个用户的资料。

这就是一次简单的接口请求。接口的地址是 https://api.instagram.com/oauth/access_token,把所需要的资料填对,一并发送,接口就会给我们返回数据了,而这种数据交换格式便是 json。只不过实际上,我们会用更复杂和强大的工具去请求数据而已。

现在有了 access_token,我们可以去请求更多数据了。


下一篇

相关文章

网友评论

    本文标题:用 Instagram API 来理解,接口是什么?接口是怎么运

    本文链接:https://www.haomeiwen.com/subject/hghoeftx.html