适用于Mac应用程序的Instagram API

时间:2016-06-05 05:16:47

标签: macos oauth-2.0 instagram instagram-api

我已经浏览了Instagram身份验证文档,我可以看到除了将用户带到Instagram指定的URL之外,没有直接的身份验证方式。

这是Instagram文档所说的。

In order to receive an access_token, you must do the following:
  1. 将用户定向到我们的授权网址。如果用户未登录 在,他们将被要求登录。     系统将询问用户是否要授予您的应用程序访问其Instagram数据的权限。

    The server will redirect the user in one of two ways that you choose:
    
    • 服务器端流程(推荐):将用户重定向到您的URI 选择。获取提供的代码参数并将其交换为 access_token通过将代码发布到我们的access_token网址。

      隐式流程:我们不是处理代码,而是包含 access_token作为URL中的片段(#)。这种方法较少 安全,但允许没有任何服务器组件的应用程序 收到access_token。

  2. 请参阅我们应该将用户带到特定的网址。 Instagram使用OAuth 2.0。 但问题是有一个名为Flume的Mac应用程序,它不会将用户带到URL。这很简单,用户可以输入他们的usernamepasswordFlume连接到Instagram API,用户成功登录并能够看到他的媒体内容。

    我想知道Flume是怎么做到的?我是否错误地理解了文档?

    请帮忙。提前谢谢。

2 个答案:

答案 0 :(得分:3)

您正在正确阅读文档。

Flume不使用Instagram API,因此不受其限制。相反,它可能会通过在一个不可见的浏览器实例中打开Instagram网站来使用网页抓取,代表用户输入用户数据和命令,然后从下一个不可见的浏览器页面等处抓取结果。

有关如何在OS X中实现此目的的不同方法,起点可能是Web scraping in Objective C。对于概念性概述,您可以查看RoboBrowser,它是一个Python库,但可以让您了解其工作原理。

答案 1 :(得分:1)

  相反,它可能会通过在一个不可见的浏览器实例中打开Instagram网站来使用网页抓取,代表用户输入用户数据和命令,然后从下一个不可见的浏览器页面等中抓取结果。

这实际上是假的。 Flume找到了一种使用Instagram的内部API来显示内容的方法。使用像Charles这样的中间人代理客户端将显示网络请求Flume应用程序与Instagram的不同本机应用程序发出的网络请求非常相似。 Flume模仿Instagram的网络请求,以便设置HTTP标头/ cookie / auth数据来检索/发布信息。

我很乐意发布图片/文件,以便为可能希望进一步证明这一点的任何人进行验证。