86

从这里的教程:http:
//ankurm.com/blog/api/using-localhost-for-facebook-app-development/1091/

我试图为我的 Facebook 应用程序设置一个本地开发区。但是当我把“ http://localhost:85/my_app/ ”作为我的域名时,Facebook 说

应用程序域:“ http://localhost:85/app-name/ ”不应包含协议信息。

此外,当我将“localhost:85/my_app/”作为我的域名时,我收到错误消息:

应用程序域:localhost:85/my_app/ 不是有效域。

4

16 回答 16

58

我的解决方案:

  1. 将应用程序域留空
  2. (产品) Facebook 登录 > 设置
  3. 添加http://localhost:85/my_app/Valid OAuth redirect URIs盒子
  4. 保存更改
于 2014-05-12T13:20:09.307 回答
58

似乎协议已更改。

这是我的解决方案(我在 2015 年 4 月 3 日进行了测试,效果很好):

设置->基本选项卡中

  1. 应用域:本地主机
  2. 点击“ +添加平台”并选择“网站
  3. 站点 URL: http://localhost:<port>/<port>是您的端口号)
  4. 保存更改
于 2015-04-03T07:30:02.490 回答
45
  1. 将应用程序域留空
  2. 使用 Facebook 登录访问网站
  3. 添加http://localhost:port_number/
  4. 保存更改并重试。欲了解更多信息,请访问

http://developers.facebook.com/docs/samples/canvas/ 快乐编码 :-)

于 2013-03-13T22:23:03.723 回答
31

多年来,这已经发生了一些变化,但我只是让它与我在 localhost 上运行的 web 应用程序一起工作。这就是我所做的:

  1. 转到https://developers.facebook.com/apps
  2. 选择您的应用。
  3. 从左侧导航栏中选择设置 > 基本。
  4. 单击页面底部的添加平台按钮。
  5. 点击网站
  6. 输入http://localhost:8080/站点 URL。
  7. 单击您刚刚输入的站点 URL 最右侧的快速启动按钮。
  8. 将打开一个新选项卡。在该选项卡上,向下滚动到“告诉我们您的网站”部分,然后再次输入http://localhost:8080/站点 URL。
  9. 单击下一步按钮。
  10. 再次尝试登录,这次成功了。

祝你好运!

于 2016-07-09T19:23:27.647 回答
28

2018年工作解决方案

我花了很长时间才弄清楚这一点,所以我将分享我的解决方案。

我尝试了所有建议的答案,但对我没有任何效果,最后我所要做的就是去https://developers.facebook.com/apps/YOUR_APP_ID/fb-login/settings/并添加我的有效 OAuth 重定向 URI框中的完整回调 url 。

在我的例子中,使用 ruby​​ on rails,我的 url 看起来像这样http://localhost:3000/user/auth/facebook/callback

在我添加它之后,一切都开始工作了!希望这可以帮助其他人面临这个问题。

于 2017-10-10T03:44:05.713 回答
11

这是我以前做的。

如果您使用的是 Windows,则需要修改主机文件。主机文件位置将在%SystemRoot%\System32\drivers\etc\

像这样在主机文件中添加新行

127.0.0.1    localhost.YOUR-SITE-NAME.com

保存主机文件。

转到 FB 应用程序设置控制面板并localhost.YOUR-SITE-NAME.com在应用程序域字段中给出。保存更改。

localhost.YOUR-SITE-NAME.com现在从浏览器加载本地环境。

注意:用您的域名更改 YOUR-SITE-NAME。

于 2014-01-05T15:16:09.193 回答
7

Working solution (August 2018)

First, select your app in the developers dashboard.

Then make sure your app is in development mode, as it allows localhost over HTTP. To do so, click on the toggle situated at the top right of your app's page.

Finally, please follow the notes below as they could cause trouble if improperly filled:

  • Settings > Basic > App Domains should be empty
  • Products > Facebook Login > Settings > Valid OAuth Redirect URIs should be empty
于 2018-08-10T12:21:38.387 回答
5

您可以将其留空或使用localhost,http://localhost:85/my_app/是 URL

于 2012-11-14T10:30:47.950 回答
3

当我当时编写该教程时,应用程序域中允许使用端口。而且我实际上能够使用 81 端口(wamp 服务器)运行应用程序。现在看起来 facebook 不允许在 url 中使用端口。您可以localhost在应用程序域中使用。

我会尽快更新信息。我正在尝试找出解决方案。

临时解决方案是使用 localtunnel http://progrium.com/localtunnel/

于 2012-11-16T15:44:03.133 回答
3

我对此进行了测试,它对我有用 [2020 年 2 月]:

  1. 安装 ngrok 并获取您的 https 网址(例如:https ://a3asdf23.ngrok.io )
  2. 转到 FB App Dashboard Settings (Basic) -> 在 App Domains 下 -> 添加https://a3asdf23.ngrok.io, https://ngrok.io
  3. 在同一页面上,一直向下滚动,添加平台(网站),将 url 设置为https://a3asdf23.ngrok.io. 还没有完成,点击 QuickStart -> 在“告诉我们您的网站”下,输入相同的 url https://a3asdf23.ngrok.io
  4. 然后转到产品 -> Facebook 登录 -> 设置 -> 客户端 OAuth 设置 -> 有效 OAuth 重定向 URI -> 添加这些https://a3asdf23.ngrok.io, https://ngrok.io, https://a3asdf23.ngrok.io/{your-redirect-uri}.

给你。稍后谢谢我:)

于 2020-02-07T04:23:12.167 回答
1

您必须创建一个隧道来共享您的本地主机; Ngrok 可能是最简单的方法。

于 2013-10-05T13:02:42.127 回答
1

https://ngrok.com

通过https://ngrok.com/链接下载 ngrok 并提取该文件。打开 cmd ( search cmd) 进入解压 ngrok 的目录。从命令行打开 ngrok ex: c:/ngrok/ngrok.exe [port] 或 cd c:/ngrok 然后 ngrok 80 ( ngrok [port] ) 你会得到

恩格罗克

Tunnel Status                 online
Version                       1.3/1.3
Forwarding                    http://3ahsdfhska.ngrok.com -> 127.0.0.1:80
Forwarding                    https://3ahsdfhska.ngrok.com -> 127.0.0.1:80
Web Interface                 http://127.0.0.1:4040
# Conn                        0
Avg Conn Time                 0.00ms

不要忘记确保您的 wamp 服务器在同一端口上打开……(如何检查 -> goto->wampicon->apache->httpd.conf 搜索端口或 80(默认)将其用于 ngrok.exe 80 )

http://3ahsdfhska.ngrok.com

将是用于在线访问您的本地主机的 URL

于 2013-10-31T18:34:57.297 回答
1

我尝试了这里提到的所有解决方案,但都没有奏效。

解决我的问题的方法是将“OAuth 重定向 URI”从 firebase 复制到 facebook 应用程序“有效 OAuth 重定向 URI”

我将所有域都留空

于 2019-07-28T01:27:09.963 回答
0

如果您遇到协议错误,您不仅需要删除 Http://,而且如果网址末尾有任何反斜杠,您也必须删除它,否则它将不起作用。我做到了,而且效果很好!哈拉!

于 2013-07-12T21:16:07.827 回答
0

再加入一种溶液:

我按照说明设置了我的网站,然后添加了第二个应用程序(Facebook Canvas)并将该 URL 设置为http://localhost:XXXXX. 现在我可以在本地和生产环境中访问 FB。

于 2015-12-04T17:26:32.533 回答
0

我在本地开发并使用此 URL:localhost/fb

然后我必须添加一个具有以下 URL 的网站:http://localhost

在我添加的应用程序域localhost下。

现在它起作用了。我遇到的唯一问题是,您必须在所有脚本中使用此 URL。例如

$loginUrl = $helper->getLoginUrl('http://localhost/fb/login-callback.php', $permissions);

你不能127.0.0.1在这里使用...

于 2017-05-31T19:07:27.157 回答