使用localhost时的Facebook app域名

问题描述 投票:77回答:14

从这里的教程: 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 /不是有效域。

facebook
14个回答
55
投票

协议似乎已经改变了。

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

在设置 - >基本选项卡中

  1. App Domain:localhost
  2. 点击“+添加平台”,然后选择“网站”
  3. 网站网址:http://localhost:<port>/(<port>是您的端口号)
  4. 保存更改

1
投票

您必须创建一个隧道来共享您的localhost; Ngrok是maby最简单的方法。


1
投票

https://ngrok.com

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

裙子

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


0
投票

如果您收到协议错误,您不仅需要删除Http://而且如果网址末尾有任何反斜杠,您也必须删除它,否则它将无效。我这样做了,它完美无缺!呼啦!


0
投票

将另外一个解决方案投入到混合中:

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


0
投票

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

然后我不得不添加一个包含以下URL的网站:http://localhost

在App Domains下我添加了localhost

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

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

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


0
投票

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

解决了我的问题是将“OAuth重定向URI”从firebase复制到facebook应用程序“Valid OAuth Redirect URIs”

我把所有域都留空了


53
投票

我的解决方案

  1. 将App Domains留空
  2. (产品)Facebook登录>设置
  3. http://localhost:85/my_app/添加到Valid OAuth redirect URIs框中
  4. 保存更改

43
投票
  1. 将App Domains留空
  2. 使用Facebook登录进入网站
  3. 添加http://localhost:port_number/
  4. 保存更改,然后重试。有关更多信息,请访问

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


29
投票

多年来,这已经改变了一些,但我只是使用我在localhost上运行的webapp。这就是我做的:

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

祝好运!


29
投票

2018年工作解决方案

我花了很长时间才弄明白这一点,所以我要分享我的解决方案。

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

在我的情况下,在轨道上使用ruby,我的网址看起来像这个http://localhost:3000/user/auth/facebook/callback

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


11
投票

这就是我以前做的事情。

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

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

127.0.0.1    localhost.YOUR-SITE-NAME.com

保存主机文件。

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

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

注意:使用您的域名更改您的网站名称。


5
投票

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


5
投票

工作方案(2018年8月)

首先,在developers dashboard中选择您的应用。

然后确保您的应用程序位于development mode中,因为它允许通过HTTP进行localhost。为此,请单击位于应用页面右上角的切换按钮。

最后,请按照下面的注意事项,如果填写不当可能会导致问题:

  • Settings > Basic > App Domains应该是空的
  • Products > Facebook Login > Settings > Valid OAuth Redirect URIs应该是空的

3
投票

当我在那个时候编写那个教程时,在app域允许端口。我实际上能够使用81端口(wamp服务器)运行应用程序。现在看来facebook不允许在url中使用端口。您可以在app域中使用localhost。 我会尽快更新信息。我想找出解决方案。

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

© www.soinside.com 2019 - 2024. All rights reserved.