我正在编写一个 PHP 应用程序来使用 Instagram 使用他们的 API 获取我的所有照片。然而,让我感到困惑的是,我在我的托管服务器上运行该应用程序,它运行得非常好,但在本地运行的同一个应用程序却无法运行。
以下是应用工作流程的一些要点:
- 用户看到主页,系统会提示他“使用 Instagram 登录”
- 用户使用 Instagram 登录并授权该应用。
- Instagram 重定向用户。
- 然后该应用会请求 access_token 并接收它。
- 使用 access_token,应用程序将发送对用户媒体的进一步请求
- 解析响应,现在向用户提供图像链接。
上述所有过程在我的托管服务器上运行良好,但在“第 3 步”时失败。并将用户重定向到我的应用程序的主页。
问题是 localhost 是 redirect_uri。有没有人能解决这个问题以在本地使用该应用程序?
P.S:我在 Instagram 上注册了两个独立的客户端:一个用于本地托管开发,另一个在 Web 服务器上。
此外,我已经尝试过 localtunnel。也没有帮助。
最佳答案
我知道这是一个非常非常非常古老的问题。但对于那些访问此页面并希望得到解决方案的人:
instagram 目前不允许在重定向 url 中使用 localhost 或 myvhost.test
之类的东西,而且它需要 url 进行认证 (https)。
所以我能找到的唯一可行的解决方案是使用 ngrok .你应该从 url 下载它,打开它并输入一个 localhost 虚拟域名和一个特定的端口号,比如 ngrok http myLocalUrl.test/app 80
,点击回车,它会给你两个临时公共(public)链接。
它将保持有效,直到您关闭 ngrok
命令行。您可以将链接定向到特定端口号,并将端口号定向到本地主机中应用程序的特定文件夹路径。
如果您不理解我的提示,ngrok
提供的教程非常简单。
关于php - 本地主机的 Instagram redirect-uri 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11927428/