获取 Instagram 访问令牌

2024-02-26

我们有一个客户,他的网站上有一个简单的 Instagram 功能,可以按特定标签提取照片。他们只是注意到它不起作用。收到错误 - 访问令牌无效。我想从一号开始就因为更新了。我们过去不需要访问令牌,因为我们没有对用户做任何事情 - 只是标签。

现在看来我们需要一个,而文档对于如何获取它毫无意义。而且他们似乎不接受大多数应用程序。该应用程序也处于沙盒模式。所以我假设这是因为它已切换到那个?没有收到有关此事发生的通知。

文档中获取访问令牌的第一步是“将用户定向到我们的授权 URL”。那有什么意思?没有提供链接或任何东西。它还表示“需要提供公司名称、联系电子邮件和隐私政策 URL 才能开始提交。”我们的应用程序没有隐私政策...它只是一个简单的标签提要。我不明白为什么一切都如此复杂以至于只有一个简单的标签提要。

是否需要等待一段时间才能获得应用程序的批准...如果获得批准...我是否必须在获得访问令牌之前先获得批准?任何地方都没有概述这一点。


你做对了。截至 2016 年 6 月,任何 Instagram API 调用都需要访问令牌。

获取访问令牌的描述见文档 https://www.instagram.com/developer/authentication/。不需要应用程序批准。

There are two ways to get one: server-side or client-side. The second option (called implicit authentication) can only be used when implicit OAuth is enabled in the client settings (Manage Clients > Edit Client > Security > Disable implicit OAuth). It is disabled by default.

无论哪种情况,您都需要将用户重定向到授权 URL 以获取访问令牌。

显式模式(服务器端)的 URL 是:

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

隐式模式(客户端)的 URL 为:

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

之后您将被重定向到REDIRECT-URI,将传递一个参数。对于显式模式,这将是一个带有code,而对于隐式模式,您将得到访问令牌直接作为哈希:

http://your-redirect-uri?code=CODE
http://your-redirect-uri#access_token=ACCESS-TOKEN

对于隐式模式,您可以从window.location.hash在 JavaScript 中。

然而,对于显式模式,您需要进一步处理code获取访问令牌。您可以阅读如何做到这一点API文档 https://www.instagram.com/developer/authentication/。我不打算在这里进一步讨论这个问题。

问题是every想要查看您的动态的用户需要登录 Instagram(并拥有帐户)才能查看。就您而言,这可能是不需要的。然而,有一些选项可以解决这个(相当烦人的)问题:

  1. You can reuse your own (already obtained) access token(s) to display the Instagram feed for every user. You will need to be aware of rate limits for each token. For sandboxed apps this is 500 API calls / hour, while live mode allows 5000 API calls / hour. [source https://www.instagram.com/developer/limits/] You could store tokens in a table and use them in a round-robin manner, to allow more API calls. This involves manually obtaining a bunch of tokens which your application can use (the more the better). This might not be the ideal solution considering Instagram doesn't warrant access tokens to have an unlimited lifetime.

  2. 您可以通过附加来检索 JSON 数据而无需身份验证/media/到用户页面 URL,如中所述这个帖子 https://stackoverflow.com/a/33783840/192077。此操作不需要令牌或客户端 ID。但是,这仅适用于用户,不适用于标签。此外,Instagram 没有记录此功能,因此不保证将来可以使用。

  3. 您可以使用像这样的聚合器Juicer https://www.juicer.io/ or 对话提要 https://www.dialogfeed.com/相反,它将为您处理访问令牌。这通常不是免费的。

我还在为我的网站制作 Instagram feed,这是我从研究中得出的结论。请指出我犯的任何错误。


Edit:以下是沙箱应用程序的一些更多限制。

在沙盒模式下,您只能访问沙盒用户(即收到沙盒邀请的用户)的数据。这意味着:

  • 用户检索的媒体,例如/users/{user-id}/media/recent,如果用户不是任何沙箱用户,将返回空响应。
  • 通过标签检索媒体,例如/tags/{tag-name}/media/recent,将仅包含属于沙箱用户的标记媒体。

因此,要使标签源正常工作,它needs上线(经过审核和批准)。如果您不想这样做,唯一的选择是使用我上面提到的聚合器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取 Instagram 访问令牌 的相关文章

随机推荐

  • spring 将属性文件中的值传递给注释

    我有 spring 应用程序的 application properties 文件 其中包含一些简单的属性 queue my test q 在java代码中我需要将队列指定为 RabbitListener Component public
  • 使用 Subversion 合并两个分支修订

    我想合并 rev 10 和 HEAD rev 之间发生的所有更改http url of branch a http url of branch a并将它们应用到http url of branch b http url of branch
  • Rails i18n - 翻译带有链接的文本

    我想国际化如下所示的文本 已经注册了 Log in http example com 请注意 文本上有一个链接 在此示例中 它指向 google 实际上 它将指向我的应用程序log in path 我找到了两种方法来做到这一点 但没有一种看
  • 对于定点组合器 Y,什么是 \x.f(xx)

    对于 Y 组合子定理 For every function F there exists an X such that FX X 什么是F意思是这里 固定点是什么F x x 1 我的理解是x 1 x没有解决办法吗 对于下面的证明 For a
  • 检查 ArrayList 是否包含另一个 ArrayList 中的每个元素

    我在这里可能找不到一句简单的话 但这是我的问题 如何检查 ArrayList 是否包含另一个 ArrayList 中的所有对象 我正在寻找 如果存在的话 类似的东西 INCORRECT EXAMPLE if one contains two
  • 在 JavaScript 中创建 ISO 日期对象

    我设置了一个 mongo 数据库 在 mongoDb 中创建新的日期对象 创建 ISO 格式的日期对象 例如 ISODate 2012 07 14T00 00 00Z 我正在使用 node js 连接到 mongo 数据库并查询数据库 每当
  • NodeJS、OpenCV 和使用 Net Socket 的流图像

    我的最终目标是将视频从我的笔记本电脑流式传输到服务器 我正在尝试通过在笔记本电脑和服务器上使用 NodeJs 来完成此任务 我使用 OpenCV 库在笔记本电脑上捕获视频并将其保存为 jpg 文件 然后 我读取该文件并将其转换为 base6
  • 远程 ListView 在 Android 小部件上闪烁

    我在远程列表视图方面遇到了意外的麻烦问题 我的应用程序有一个简单的小部件 其中包括一个列表视图 如果列表视图的单元格高度为 1 并且列表视图位于滚动的开始处 则每次调用 datasetchanged 时它都会闪烁 闪烁 有趣的是 如果列表视
  • Yii2 日期比较验证

    我有如下所示的模型规则 但它不起作用 它总是显示错误消息 public function rules return start date end date date format gt php F d Y start date compar
  • 如何在 MATLAB 中对连接的点进行聚类?

    想象一下 我们有很多点 其中一些点连接在一起 我们想要将它们聚类 请看下图 如果我们有 连接矩阵 点 我们如何将它们聚类为两组 连接点组 ConnectivityMatrix 1 2 1 3 2 4 2 3 2 1 3 1 3 2 3 4
  • startMonitoringSignificantLocationChanges 和 startUpdatingLocation 如何相互影响?

    如果我打电话会发生什么startUpdatingLocation while startMonitoringSignificantLocationChanges在跑 重要的位置变化监控是否停止 如果我那么stopUpdatingLocati
  • JSON 字符串错误地映射到文本视图

    我有 3 个文本视图 我试图用 JSON Http 响应中的数据填充它们 但它们当前填充的是响应中的错误数据 由于某种原因 它没有解析字段并正确分配它们 看起来它只是用 JSON 响应中的数据开头填充每个文本视图 截屏 JSON HTTP
  • 如何添加 MSAccess 连接到 CodeIgniter 或 CakePHP?

    我正在尝试使用 Microsoft Access 数据库进行演示项目 我正在考虑在 CodeIgniter 或 CakePHP 中进行该项目 忽略使用 Microsoft Access 可能存在的愚蠢行为 我无法准确地弄清楚连接字符串如何与
  • 将多个单选按钮绑定到单个布尔值

    背景 我有一个包含三个布尔值的模型 public class PageDataModel public bool setting1 get set public bool setting2 get set public bool setti
  • 附加!在计划中?

    我目前正在学习 R5RS 方案 来自 PocketScheme 我发现我可以使用内置于方案的某些变体 但不是全部 中的函数 Append 换句话说 破坏性地改变列表 我对实际代码并不感兴趣 而是对答案感兴趣 而是对将列表作为函数 或向量或字
  • CSS3 文本阴影效果与 jQuery

    我希望能够创建与 CSS3 text shadow 属性相同的效果 使其可供不支持此 CSS3 属性的浏览器 例如 IE 7 和 8 使用 所以我找到了两个插件 文字阴影 https web archive org web 20141108
  • Qt:无法从输入设备读取:没有这样的设备

    我有一个在嵌入式 Linux 平台 i Mx 6 上运行的 Qt 应用程序 我的应用程序应支持触摸屏作为主要输入设备和可选的 USB 键盘 如果已连接 所以现在 我已配置要启动的应用程序 如下所示 my qt app plugin tsli
  • 可更新的 VIEW 不适用于 Postgres 9.5 中的 ON CONFLICT

    PostgreSQL 版本 9 5 4 我有一个表定义为 CREATE TABLE IF NOT EXISTS TEST 1 ID SERIAL PRIMARY KEY C1 BYTEA C2 TEXT NOT NULL C3 BOOLEA
  • 如何从多维数组中找到最大的数组[重复]

    这个问题在这里已经有答案了 可能的重复 获取多维数组中元素的最大值 https stackoverflow com questions 2189479 get the maximum value from an element in a m
  • 获取 Instagram 访问令牌

    我们有一个客户 他的网站上有一个简单的 Instagram 功能 可以按特定标签提取照片 他们只是注意到它不起作用 收到错误 访问令牌无效 我想从一号开始就因为更新了 我们过去不需要访问令牌 因为我们没有对用户做任何事情 只是标签 现在看来