我正在尝试编写一些javascript函数来与Facebook流集成。但是,如果您直接在实时服务器上开发它们,它们似乎只能工作,以便Facebook可以访问它们要求我放在xd_receiver.htm
的{{1}}文件。但是,你们都可能同意不在现场服务器上进行开发非常重要。
这是我到目前为止所尝试的内容:
www.mydomain.com/xd_receiver.htm
放置在实时服务器上并在我的开发服务器上运行我的脚本,希望API Key能告诉Facebook服务器在我的实时服务器上查找xd_receiver.htm
...没有运气xd_receiver.htm
仅在本地需要,那么它将通过127.0.0.1找到它...没有运气有没有人想出办法来做到这一点?他们不能指望我们在没有开发沙箱的情况下完全开发我们的Facebook应用程序。
它的一些背景信息:使用ASP.NET和VB,但希望使用纯粹的Javascript。
答案 0 :(得分:10)
绝对可以使用本地xd_receiver.htm文件。我是一名Facebook应用程序开发者,我已经设置了数十个。
您最接近上面#2的正确答案。这样做的方法是创建两个版本的应用程序。如果我正在制作“MyApp”,我可能会有两个“myapp”和“myapp-dev”的Canvas Page网址,以及“www.myapp.com”和“192.168.1.1”的相应Canvas回调网址。每个都是一个单独的Facebook应用程序,具有自己的API密钥等。
apps.facebook.com/myapp将转到我的实时服务器,apps.facebook.com/myapp-dev将转到我的本地开发机器。你必须确保Facebook当然可以使用你的开发机器。
然而,事情应该从那里开始工作。您甚至不需要不同版本的xd_receiver.htm文件,因为每个应用程序的文件内容始终相同。只要您的FB.XdComm.Server.init("/xd_receiver.htm");
行指向正确的文件,就应该有效。
我在配置文件中管理API密钥和路径等,每个应用程序都有一个配置文件,无论是dev还是生产应用程序。这样可以轻松地在应用页面上输出正确的密钥和路径。
您可以将开发应用保持在沙箱模式,并在本地计算机上完成所有工作。
答案 1 :(得分:0)
最简单的方法是以这样的方式配置本地DNS,以便为您的生产回调提供url localhost地址。在Windows中,您可以通过以下条目轻松实现它:\ windows \ system32 \ drivers \ etc \ hosts“127.0.0.1 your_production_xd_receiver_callback_url”。当然你需要在端口80上运行你的服务器。在Windows中它的简单任务,因为在UNIX系统中没有安全连接器:)你需要配置它,因为它的端口是1024。 该解决方案经过测试并适用于我。