我遇到的一个问题是,人们必须在Facebook应用的设置中选择http或https作为网站网址参数中的方案。
在调用FB.ui时,SDK会自行发送一个“origin”参数,该参数具有当前页面的域。如果此原始域与应用程序设置中的Site URl参数不匹配,则会引发“无效的重定向uri”错误。我们调用的页面不安全(http),但我们的站点URL设置为https,因为我们在安全登录页面(https)上使用FB connect。
我们希望避免必须制作这些无关的FB.ui网页https的开销,但据我们所见,我们无法指定多个网站网址(同时考虑http和https)。
有一个很好的解决方案吗?也许一种“阻止”或修改原始参数FB.ui的方式发送?
答案 0 :(得分:0)
您还可以通过REST或Open Graph API以编程方式设置secue画布URL的参数。
属性 secure_canvas_url
REST - https://developers.facebook.com/docs/appproperties/
打开图表 - https://developers.facebook.com/docs/reference/api/application/#props
请注意以下有关FBML应用程序上的HTTPS的信息
FBML应用
我们听说有关FBML应用是否存在一些疑惑 必须支持HTTPS。 FBML开发人员仍然需要知道用户是否 正在通过安全连接浏览Facebook,因为他们需要 检测是否通过HTTPS提供iframe或视频内容。作为一个 结果,FBML应用程序必须获取SSL证书才能提供此服务 用户通过安全连接浏览的内容类型。如果你 有一个FBML应用程序,请获取您的应用程序的SSL证书 从通过安全连接浏览Facebook的用户接收流量。
如果您为FBML应用启用了SSL,请确保您的SSL 证书包括链中的所有中间证书 相信我们的SSL验证是严格的。您可以使用第三方SSL 要检查的分析工具(例如https://www.ssllabs.com/index.html) 您的证书状态并修复任何错误(和警告)。如果你的SSL 证书有问题,您可能会看到“收到空响应”错误 加载FBML画布应用程序时。
有关完整说明,请参阅以下内容
http://developers.facebook.com/blog/post/567/
在所有其他方法都失败之前,请在应用程序设置中将您的应用标记为画布应用程序(即使它在技术上不是画布应用程序)。并设置https网址。这可以解决任何https相关问题,然后必须以编程方式解决它。