1

我遇到了一个问题,即必须在 Facebook 应用程序设置中的站点 URL 参数中选择 http 或 https 作为方案。

在调用 FB.ui 时,SDK 会自行发送一个“origin”参数,该参数具有当前页面的域。如果此源域与应用设置中的站点 URl 参数不匹配,则会引发“无效重定向 uri”错误。我们调用的页面不安全 (http),但我们的站点 URL 设置为 https,因为我们在安全登录页面 (https) 上使用 FB 连接。

我们希望避免将这些无关的 FB.ui 页面也设为 https 的开销,但据我们所知,我们无法指定多个站点 URL(以同时考虑 http 和 https)。

有没有好的解决方案?也许是一种“阻止”或修改 FB.ui 发送的原始参数的方法?

4

1 回答 1

0

您还可以通过 REST 或 Open Graph API 以编程方式设置安全画布 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 相关的问题。

于 2012-06-26T03:31:41.787 回答