从这里的教程:
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 /”作为我的域名时,我收到错误:
App Domains:localhost:85 / my_app /不是有效域。
答案 0 :(得分:55)
协议似乎已经改变了。
这是我的解决方案(我在2015年4月3日测试过,效果很好):
在设置 - > 基本标签
答案 1 :(得分:53)
我的解决方案:
http://localhost:85/my_app/
添加到Valid OAuth redirect URIs
框答案 2 :(得分:43)
http://localhost:port_number/
http://developers.facebook.com/docs/samples/canvas/ 快乐的编码: - )
答案 3 :(得分:29)
多年来这已经改变了一些,但我只是使用了一个我在localhost上运行的webapp。这就是我所做的:
http://localhost:8080/
作为网站网址。http://localhost:8080/
作为网站网址。答案 4 :(得分:29)
2018工作解决方案
我花了很多时间来解决这个问题,所以我将分享我的解决方案。
我尝试了所有建议的答案,但没有任何对我有用,最后我要做的就是转到https://developers.facebook.com/apps/YOUR_APP_ID/fb-login/settings/,并在有效的OAuth重定向URI中添加完整的回调网址框。
在我的情况下,在rails上使用ruby,我的网址看起来像http://localhost:3000/user/auth/facebook/callback
。
在我添加之后,一切都开始了!希望这有助于其他人面对这个问题。
答案 5 :(得分: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
等本地环境。
注意:使用您的域名更改您的网站名称。
答案 6 :(得分:5)
您可以将其留空或使用localhost
,http://localhost:85/my_app/
是网址
答案 7 :(得分:5)
工作解决方案(2018年8月)
首先,在developers dashboard中选择您的应用。
然后确保您的应用程序位于development mode中,因为它允许HTTP上的localhost。为此,请点击应用页面右上方的切换按钮。
最后,请遵循以下注意事项,否则,如果填写不正确,可能会引起麻烦:
Settings > Basic > App Domains
应该为空Products > Facebook Login > Settings > Valid OAuth Redirect URIs
应该为空答案 8 :(得分:3)
当我在那个时候编写该教程时,在app域中允许使用端口。我实际上能够使用81端口(wamp服务器)运行应用程序。现在看来facebook不允许在url中使用端口。您可以在应用域中使用localhost
。
我会尽快更新信息。我想找出解决方案。
临时解决方案是使用localtunnel http://progrium.com/localtunnel/
答案 9 :(得分:2)
我对此进行了测试,并且对我有用[2020年2月]:
https://a3asdf23.ngrok.io
,https://ngrok.io
。https://a3asdf23.ngrok.io
。尚未完成,请点击“向我们介绍您的网站”下的快速入门->,并输入相同的网址https://a3asdf23.ngrok.io
。https://a3asdf23.ngrok.io
,https://ngrok.io
,https://a3asdf23.ngrok.io/{your-redirect-uri}
。然后您去。稍后谢谢我:)
答案 10 :(得分:1)
您必须创建一个隧道来共享您的localhost; Ngrok是最简单的方法。
答案 11 :(得分:1)
浏览https://ngrok.com/链接下载ngrok并解压缩该文件。 打开cmd(搜索cmd) 转到提取ngrok的目录。 从命令行ex:c:/ngrok/ngrok.exe [port]或cd c:/ ngrok然后ngrok 80(ngrok [port])打开ngrok 你会得到
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
答案 12 :(得分:0)
如果您收到协议错误,您不仅需要删除Http://而且如果网址末尾有任何反斜杠,您也必须删除它,否则它将无效。我这样做了,它完美无缺!呼啦!
答案 13 :(得分:0)
将另外一个解决方案投入到混合中:
我根据说明设置了我的网站,然后添加了第二个应用程序(Facebook Canvas)并将该URL设置为http://localhost:XXXXX
。现在我可以在本地和生产中访问FB。
答案 14 :(得分:0)
我在本地开发并使用此网址:localhost/fb
然后我必须添加一个包含以下网址的网站:http://localhost
在应用领域下,我添加了localhost
。
现在它有效。我唯一的问题是,您必须在所有脚本中使用此URL。 E.g。
$loginUrl = $helper->getLoginUrl('http://localhost/fb/login-callback.php', $permissions);
你不能在这里使用127.0.0.1
......
答案 15 :(得分:0)
我尝试了这里提到的所有解决方案,但没有一个起作用。
解决我问题的方法是将“ OAuth重定向URI”从Firebase复制到Facebook应用“有效的OAuth重定向URI”
我将所有域都留空了