我希望在使用Facebook Graph API开发网站的时候能够使用本地主机(localhost)。我使用的是ASP.NET C#。
在之前的Facebook API中,我可以在应用程序设置中的连接URL中写入http://localhost:4300/。
现在却不起作用了。它一直告诉我:“应用程序名称发生错误,请稍后再试。”
有什么建议吗?
** 如果我上传网站并使用网站连接URL,则可以正常工作。
我希望在使用Facebook Graph API开发网站的时候能够使用本地主机(localhost)。我使用的是ASP.NET C#。
在之前的Facebook API中,我可以在应用程序设置中的连接URL中写入http://localhost:4300/。
现在却不起作用了。它一直告诉我:“应用程序名称发生错误,请稍后再试。”
有什么建议吗?
** 如果我上传网站并使用网站连接URL,则可以正常工作。
127.0.0.0 test.yourdomain.com
将内容添加到您的hosts文件末尾。这意味着,如果您现在在Web浏览器中输入test.yourdomain.com,则会解析为本地计算机。
现在,在Facebook应用程序设置的“网站”部分中,请确保将您的域名添加到设置的“站点域”部分 - 这将意味着Facebook将接受来自您域名的任何子域的请求 - 换句话说,它将接受来自“www.yourdomain.com”(您的生产服务器)和“test.yourdomain.com”(您的本地开发计算机)的请求。
现在,您只需在浏览器中使用“test.yourdomain.com” URL而不是'localhost'即可在本地计算机上进行开发,并且一切都应该正常工作。
哦,还有一件事 - 如果您的开发服务器未在端口80上运行,则Facebook重定向URI也将需要具有端口号,但它包括此端口号来匹配域名URL(坦白地说,我认为这是Facebook API中的错误)。这意味着,如果您的开发服务器(例如)在端口8080上运行,则需要在重定向URI中的主机名后面添加“:8080”,但是如果您的生产服务器在端口80上运行,则不应在重定向URI中放置“:80”,因为否则它只能在人们明确包含端口号的URL中使用来查看您的页面(在生产服务器中不太可能)。实际上,这意味着您只需有一个条件,以便在生成Facebook身份验证URL时仅在没有端口80时包括端口号。
您确定问题与 Web 服务器的 DNS 名称和/或端口有关吗? 如果是,您可以使用本地 IIS 而不是 webdev 服务器,配置一个名为 yourdomain.com 的网站,并向 hosts 添加一个条目,内容为 127.0.0.1 yourdomain.com
你需要创建一个从开发服务器到本地计算机的SSH隧道。每个发送到开发服务器的请求都将由你的计算机处理并返回。
你不能在 Facebook 设置中添加顶级域名,供参考。