网站中的 Instagram 动态 - 使用 Instagram 基本显示 API
Posted
技术标签:
【中文标题】网站中的 Instagram 动态 - 使用 Instagram 基本显示 API【英文标题】:Instagram Feed in website - using Instagram Basic Display API 【发布时间】:2020-03-19 12:53:20 【问题描述】:我正在尝试使用 https://developers.facebook.com/docs/instagram-basic-display-api/getting-started 的开发者文档在网站上显示 instagram 供稿(特定帐户的)。 instagram-basic-display-api 似乎支持“获取 Instagram 用户的图像、视频和相册”。
通过浏览器手动我可以通过在授权窗口中单击“授权”来获取授权码。但在帖子中提到“授权码是短暂的,仅在1小时内有效。”。因此,我无法为所有请求重用相同的授权代码,并且每小时我都需要生成一个新的。有没有一种方法或javascript sdk允许通过代码(javascript)发出请求以在没有授权窗口的情况下生成授权代码?
【问题讨论】:
我正在寻找完全相同的东西。该代码很容易创建以获取您的提要,但它需要用户登录 - 这不是我需要的。你找到解决办法了吗? 也在寻找同样的东西。 查看***.com/a/66190078/2397550 【参考方案1】:Facebook 将允许您通过浏览器 (GET) 生成代码。然后您需要将提到的代码交换为令牌,但现在通过 cURL 请求(例如,您可以使用 POSTMAN)。如第 5 步:https://developers.facebook.com/docs/instagram-basic-display-api/getting-started
如果您使用的是 Postman,请确保将所需的参数作为 x-www-form-urlencoded 放入正文中。
在第 5 步之后,您可能会收到一个 access_token,然后您就可以查询用户了。这是一个短暂的TOKEN。
至于您的问题,然后您就可以将这个短期令牌换成一个长期令牌,如https://developers.facebook.com/docs/instagram-basic-display-api/guides/long-lived-access-tokens。
但有一些注意事项:
-
您的应用必须获得 instagram_graph_user_profile
只能在服务器端代码中进行交换
过期的短命代币无法兑换
长寿命令牌仅持续 60 天,需要不时刷新一次
如果一个过期,你不能刷新它
【讨论】:
可以向新的基本显示 API 发出 HTTP 请求而不是 cURL 请求吗?如何在像 Netlify 这样的无服务器设置上使用 API? 基本上你需要向api url发出POST请求,并相应地发送参数。对无服务器不是很熟悉,但这可能与此事无关。例如,如果是 ASP 语言,可以使用 MSXML2.ServerXMLHTTP 对象。【参考方案2】:查看 Justin Stolpe 的 Youtube-Tutorial,您可以找到使用 Instagram Basic Display API(或 Graph API)构建 Instagram Feed 的分步说明
【讨论】:
以上是关于网站中的 Instagram 动态 - 使用 Instagram 基本显示 API的主要内容,如果未能解决你的问题,请参考以下文章
.NET 中的 OAuth 2.0 与 Instagram API
将应用程序浏览器中的 Instagram 转义到 Safari