【发布时间】:2016-03-26 19:45:23
【问题描述】:
大家好!
我正在用 Java 编写一个应用程序,它通过他们的 API 从 Instagram 服务器检索信息、积累信息并构建可视化地图。 问题是我无法自动化身份验证过程。 Instagram 官方 API 文档指出: 为了接收 access_token,您必须执行以下操作:
将用户引导至我们的授权网址。 如果用户未登录,他们将被要求登录。 系统将询问用户是否愿意授予您的应用程序访问她的 Instagram 数据的权限。 服务器将以您选择的两种方式之一重定向用户:"
因此,用户必须手动登录他/她的帐户。我相信这样做是为了向在用户行为上使用 Instagram API 的应用授予权限,例如,如果它在他/她的帐户中发布一些帖子。但是,我不会使用任何用户的个人帐户。事实上,我为我的应用程序设置了一个单独的帐户并注册了应用程序(我得到了 client_id、client_secret 并设置了 redirect_uri)。所以我只想使用这些凭据来获取更新的访问令牌并向 Instagram 发布一些 REST API 帖子。
我现在做什么,我发出一个 GET 请求,接收一个登录 html 页面,解析它,插入我的帐户凭据,然后在我发出一个 POST 请求后,我收到 400 代码:
向 URL 发送“GET”请求:instagram.com/oauth/authorize/?client_id=CLIENT_ID&redirect_uri=localhost&response_type=code
响应代码:200 正在提取表单数据...
向 URL 发送“POST”请求:instagram.com/oauth/authorize/?client_id=CLIET_ID&redirect_uri=localhost&response_type=code 请求内容:CONTENT&username=LOGIN&password=PASSWORD&=Log+in
响应代码:302
向 URL 发送“POST”请求:www.instagram.com/oauth/authorize/?client_id=CLIENT_ID&redirect_uri=localhost&response_type=code 请求内容:CLIENT_ID&username=LOGIN&password=PASSWORD&=Log+in
响应代码:400
我不明白为什么要再重定向一次。我假设这是因为一些安全问题,也许是一些隐藏的领域......你有什么想法吗? 我对这个问题有任何想法和可能的解决方案。谢谢!
【问题讨论】:
标签: java instagram instagram-api