只是想知道我是否有办法在localhost中开发Facebook应用程序。
答案 0 :(得分:243)
编辑:2-15-2012这是如何对localhost网站使用FB身份验证。
我发现设置第二个Facebook应用程序更具可扩展性和便利性。如果我正在构建MyApp,那么我将创建第二个名为MyApp-dev。
Website
复选框
(在最近的Facebook版本中,您可以在设置>基本>添加平台 - 然后选择网站)下找到此内容。
if Rails.env == 'development' || Rails.env == 'test' Rails.application.config.middleware.use OmniAuth::Builder do provider :facebook, 'DEV_APP_ID', 'DEV_APP_SECRET' end else # Production Rails.application.config.middleware.use OmniAuth::Builder do provider :facebook, 'PRODUCTION_APP_ID', 'PRODUCTION_APP_SECRET' end end
我更喜欢这种方法,因为一旦设置好,同事和其他机器就没有额外的设置。
答案 1 :(得分:25)
当然你可以,只需在你的app_domain中添加url localhost(不带“http”),然后添加你的site_url http://localhost
(带有http)
<强>更新强>
Facebook现在改变了一些事情,只需转到应用程序设置,在网站网址中添加http: //localhost
并将应用程序域空置
答案 2 :(得分:20)
这是我的配置,它适用于PHP API:
app域
http://localhost
网站网址
http://localhost:8082/
答案 3 :(得分:19)
注意:截至2012年,Facebook允许将“localhost”注册为返回网址。您可能还需要其他提供程序(即Microsoft one)的类似解决方法。
如果您需要在Facebook注册的真实域名(例如my.really.own.domain.com),您可以将本地域的请求重定向到您的计算机。任何操作系统上最简单的开箱即用方法是更改“主机”文件以将域映射到127.0.0.1(请参阅http://technet.microsoft.com/en-us/library/bb727005.aspx#EDAA和https://serverfault.com/questions/118290/cname-record-alias-in-windows-hosts-file)。
我通常使用Fiddler为我(在Windows上使用本地IIS) - 请参阅http://www.fiddler2.com/Fiddler/Dev/ScriptSamples.asp上的示例。
if (oSession.HostnameIs("my.really.own.domain.com")) {
oSession.host="localhost:80";
}
方法的主机文件方法不适用于Visual Studio Development Server,因为它要求传入的Urls为localhost / 127.0.0.1。如果您需要使用它(或可能使用IIS express)来覆盖主机 - Using Fiddler with IIS7 Express
答案 4 :(得分:9)
Facebook不再允许FBML Facebook应用程序的“localhost”回调URL
答案 5 :(得分:9)
使用新的开发中心现在更容易:
1)将app域留空。
2)单击添加平台
3)站点URL应该等于本地主机的完整路径
4)保存更改
答案 6 :(得分:8)
我刚刚发现了一种解决方法:您可以使用http://localtunnel.com访问本地计算机。您需要(暂时)更改应用代码/ html中使用的某些网址,以便链接指向临时域,但至少Facebook可以访问您的计算机。
答案 7 :(得分:7)
在您应用的基本设置中{https://developers.facebook.com/apps) 在设置 - >基本 - &gt;下选择您的应用与Facebook集成的方式......
使用“网站网址:”和“移动网站网址:”分别保存您的生产和开发网址。两个站点都将被允许进行身份验证。我只是使用Facebook进行身份验证,因此我不需要任何移动站点重定向功能。我通常在测试身份验证时将“移动站点URL:”更改为“localhost:12345”站点,然后在完成后将其设置恢复正常。
答案 8 :(得分:5)
你必须选择Facebook产品&#39; facebook登录&#39;并启用 客户端OAuth登录,&#39; Web OAuth登录&#39;和&#39;嵌入式浏览器OAuth登录&#39; 那么即使你给localhost url它也会工作
答案 9 :(得分:5)
有!我的解决方案在您创建应用程序时有效,但您想在您的网站上使用facebook身份验证。如果要创建集成到FB页面的应用程序,则不需要此解决方案。
问题是您不能将“localhost”作为域放在应用的Facebook配置页面中。安全原因?
您需要转到主机文件,在OSX / Linux etc / hosts中添加以下行: 127.0.0.1 dev.yourdomain.com
你放置任何你想要的域名。一个错误就是添加这一行: localhost dev.yourdomain.com(至少在osx雪豹上没有工作)。
然后你必须清除你的DNS缓存。在OSX上:在终端中输入 dscacheutil -flushcache 。 最后,返回在线Facebook开发者网站,在应用程序的配置页面中,您可以添加域“dev.yourdomain.com”。
如果您使用Mamp,Easyphp等程序,请确保Apache的端口为80.
此解决方案适用于Windows,因为它还有一个hosts文件。尽管如此,据我所知,Windows 7不再使用此文件,但如果您找到一种强制Windows使用主机文件的方法,这个技巧应该可行。
答案 10 :(得分:3)
我认为您应该能够使用visual studio开发Web服务器开发应用程序:在http://www.facebook.com/developers/上启动一个新的FaceBook应用程序。然后将站点Url和画布URL的设置设置为您网站的运行实例,例如:http:// localhost:1062 /
以下是一些可以帮助您开始使用FaceBook的链接:
答案 11 :(得分:3)
试试这个---
https://www.facebook.com/help/community/question/?id=589302607826562
1 - 点击应用,然后选择您的应用。
2 - 单击屏幕左侧的“设置”按钮。
3 - 在基本设置中,单击下方的添加平台按钮 设置配置。
4 - 在平台对话框中选择网站。
5 - 输入您的URL(localhost在这里工作)。
6 - 在“应用程序域”文本输入中,添加与URL中的域匹配的域。
7 - 保存您的设置。
答案 12 :(得分:2)
没有足够的信誉评论最高投票的答案,但至少在我的rails环境(运行4)中,rails s位于http://localhost:3000
,而不是http://www.localhost:3000
。当我将其更改为http://localhost:3000
时,它工作得很好。无需编辑任何主机文件。
答案 13 :(得分:2)
假设您已将应用注册为:
app.domain.com
您只需要通过添加
来修改/ etc / hosts文件127.0.0.1 dev01.app.domain.com
然后,修改您的apache配置
ServerName dev01.app.domain.com
并重新启动apache。
您需要将您的URL放在变量中,以便在某些调用中将其用作XML参数:
<fb:login-button registration-url="http://<?=$URL?>/register" />
答案 14 :(得分:2)
即使在HTTPS要求之后,这也可以在2018年6月生效。看来测试应用程序不需要https:
创建一个测试应用程序: https://developers.facebook.com/docs/apps/test-apps/
然后在测试应用程序中,按照此视频中的简单步骤操作: https://www.youtube.com/watch?v=7DuRvf7Jtkg
答案 15 :(得分:1)
app domain : localhost
site URL : http://localhost:4440/
使用新的UI为我工作。
答案 16 :(得分:1)
答案 17 :(得分:0)
我的解决方案在localhost中工作正常.....
对于网站网址,请使用http://localhost/
对于App域使用localhost/folder_name
休息一切都一样.......它工作正常
(尽管它在App Domain中显示了红色标志..App工作正常)
答案 18 :(得分:0)
答案 19 :(得分:0)
该应用程序将在localhost:3000上正常运行,您只需指定应用程序处于生产模式时将在其上运行的https地址即可。
选项2是提供url或您的heroku网站,可让您在生产模式下使用示例应用程序。
答案 20 :(得分:0)