我使用ASP . net和Facebook Connect api。但是当我运行应用程序并按下连接按钮时,它返回到网站,而不是返回到测试本地服务器(http://localhost:xxxx/test.aspx) 那么我如何在本地测试Facebook(即我如何可以改变回调url) ?


当前回答

Facebook似乎随机禁用了在你的Facebook应用程序上将localhost设置为域名的能力。我发现最简单的方法是将我的localhost隧道到网络上。这可以免费使用http://progrium.com/localtunnel/或自定义url(更容易,因为你不必每次在facebook改变url) https://showoff.io

其他回答

看来facebook又改变了应用开发页面,增加了一个叫做“服务器IP白名单”的功能。

进入你的应用程序,选择设置->高级选项卡 获取你的公共IP(谷歌会告诉你如果你谷歌“我的IP是什么”) 将您的公网IP添加到“服务器IP白名单”中,单击下方的“保存更改”

创建2个应用程序

/初始化/ env_variables.rb

if Rails.env == 'development'
    ENV['FB_APP_ID'] = "HERE"
    ENV["FB_SECRET"] = "HERE"
else
    ENV['FB_APP_ID'] = "HERE"
    ENV["FB_SECRET"] = "HERE"
end

我不能使用其他的解决方案……对我来说有用的是安装LocalTunnel.net (https://github.com/danielrmz/localtunnel-net-client),然后在Facebook上使用生成的url。

当你发现的时候就很简单了。

打开“/etc/hosts (unix)”或“c:\ windows \system32\drivers\etc\hosts”

如果你的域名是foo.com,那么添加这一行:

127.0.0.1    local.foo.com

在测试时,在浏览器中打开local.foo.com,它应该可以工作。

我建议在https://developers.facebook.com/apps上创建一个测试应用程序(仅适用于开发环境),并将:Website with Facebook Login属性设置为您的localhost:[port]设置。 这个选项可以很好地工作,不需要更改主机。 记住,一旦你上线,将appId改回你的生产应用。

编辑-在最新的fb版本中,你会在设置选项卡下找到它。