我正在编写一个PHP应用程序,使用他们的API来获取Instagram的所有照片。然而,让我感到困惑的是,我在我的托管服务器上运行应用程序它运行得很好,并且在本地运行的相同应用程序无效。
以下是应用工作流程的一些要点:
上述所有过程在托管服务器上运行正常,但在“步骤3”失败。并将用户重定向到我的应用程序的主页。
问题是localhost是redirect_uri。有没有人有解决这个问题的方法来在本地使用该应用程序?
P.S:我在Instagram上注册了两个不同的客户:一个用于本地托管开发,另一个用于Web服务器。
另外,我尝试过localtunnel。也没有帮助。
答案 0 :(得分:1)
我正在尝试使用NodeJS / Express开发Instagram应用程序。
我通过使用计算机的外部本地IP而不是localhost来解决这个问题,您可以grep
使用它。我假设你在* nix机器上,所以做一个非常简单(和原始)的
$ ifconfig | grep inet
将返回一些ip和MAC地址,其中一个是你的外部IP。然而,这很糟糕,因为这意味着每次切换IP时,您都必须使用Instagram更新应用程序的redirect_url,并更新任何依赖它的代码。
值得庆幸的是,存在像no-ip这样的服务基本上会为您提供免费的DDNS服务,所以您只需要在其中注册一个主机名,然后将其放入您的DEV env代码以及您的开发客户端的重定向URL你准备好了!
答案 1 :(得分:0)
我知道这是一个非常非常古老的问题。但对于那些访问此页面的人,希望找到解决方案:
instagram当前不允许在重定向URL中使用本地主机或myvhost.test
之类的东西,而且它需要对该URL进行认证(https)。
所以我唯一可以找到的解决方案是使用ngrok。您应该从url下载它,打开它,然后键入localhost虚拟域名以及特定的端口号,例如ngrok http myLocalUrl.test/app 80
,按Enter键,它将为您提供两个临时公共链接。
它将保持有效,直到您关闭ngrok
命令行为止。您可以将链接定向到特定的端口号,并将端口号定向至本地主机中应用程序的特定文件夹路径。
如果您不了解我的提示,ngrok
提供的教程就足够简单了。