使用instagrams新的api更改,似乎没有办法在没有某种用户交互的情况下获得access_token。我发现的所有文档都声明,在通过用户交互(https://www.instagram.com/developer/authentication/)授权应用程序时,必须通过loggin:
服务器端(显式)流
第一步:将用户引导至我们的授权网址
https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code 注意:您可以提供可选的范围参数来请求 “基本”权限范围之外的其他权限。学习 更多关于范围。
注意:您可以提供一个可选的状态参数来执行a 特定于服务器的状态。例如,您可以使用它来保护 反对CSRF问题。
此时,我们向用户显示登录屏幕,然后是 确认屏幕在哪里授予您的应用访问她的Instagram 数据
客户端(隐式)身份验证
第一步:将用户引导至我们的授权网址
https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=token 此时,我们向用户显示登录屏幕,然后是 确认屏幕,他们授予您的应用访问他们的权限 Instagram数据。请注意,与显式流不同的是响应类型 这是“令牌”。
使用可定期刷新的access_token,是否可以在没有用户交互的情况下获取访问令牌?
我正在尝试在我的网站上显示我的Feed,但除了API更改后提供的嵌入选项之外,我还没有找到方法。
编辑:我的问题被标记为Instagram OAuth Access Token expiration for app的欺骗,但我不是在考虑到期(在IG文档中没有明确定义)。我想要一种纯粹的编程方式来获取access_token。
答案 0 :(得分:0)
您可以将访问令牌存储在服务器中。 只要它有效,您无需要求您的用户登录。
请记住,访问令牌有一个到期日期。所以你必须处理这种情况[即,到期时,要求用户再次登录并获取并保存新的访问令牌]
答案 1 :(得分:0)
在Instagram开发者文档中,它声明:
https://www.instagram.com/developer/authorization/
个人网站的内容显示。如果您是开发人员和您 想在网站上展示Instagram内容,那么你就不需要了 提交您的应用以供审核。通过在沙盒模式下使用客户端,您 仍然可以访问任何沙盒用户的最后20个媒体 授予你许可。
因此,如果您已经在Instagram上设置了客户端,只要您处于“沙盒”模式,您就可以继续从API中获取帖子。您只能获取自己的用户帐户或任何已获得沙箱权限的帖子(限制为10)。
如果您还没有访问令牌,可以使用类似Oauth.io的内容。 (它是免费的。)
答案 2 :(得分:0)
我也有这个问题。我假设您想编写一个脚本来为您运行。
一个(相当蹩脚)的解决方案是使用selenium,幻像JS,无头chrome或任何其他类似技术来访问登录屏幕以填写帐户凭据(将安全性抛出窗外),然后从中获取代码以下重定向网址...
很遗憾Instagram不允许这种非用户需要的帐户选项。