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


在www.facebook.com/developers/编辑你的应用程序,并将“站点URL”设置为“http://localhost/myapppath”。

完成后,把它改回来。


转到画布页.. 在浏览器中查看。复制地址栏文本。 现在去你的facebook应用 点击编辑设置

在网站中,在网站url中粘贴该地址

在facebook整合,再次粘贴该地址在画布url

同样的代码,无论你需要画布url或重定向url..

希望能有所帮助。


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


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

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

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

127.0.0.1    local.foo.com

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


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


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

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


创建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

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

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


你不需要做任何困难的事情!

Facebook→设置→基本设置:在“App”中输入“localhost” 域”字段,然后点击“+添加平台”选择“网站”。 之后,在“站点Url”字段中写入您的本地主机Url(例如:http://localhost:1337/something)。

这将允许你在本地测试你的facebook插件。


Facebook增加了测试版本功能。

首先,添加应用程序的测试版本:创建测试应用程序

然后,将Website下的Site URL更改为“http://localhost”,按保存更改

这就是全部内容,但要小心:应用程序ID和应用程序秘密密钥对于应用程序及其测试版本是不同的!


最后测试201/06/07

只是补充一下@Erdal_G的精彩回答和我的成功经验:

Apparently, HTTPS is needed even in the local environment (I used the library https-localhost). [I don't know if this is mandatory] create a test app from the main app (https://developers.facebook.com/docs/development/build-and-test/test-apps/) Set the redirect OAuth URI to https://localhost:<MY_PORT>/auth/ and update also all other URIs in .../instagram-basic-display/basic-display/ settings accordingly. Finally, don't forget to use the client-id (aka app-id) and app-secret of the test app in the requests, which are different than the parent app