【问题标题】:Facebook canvas app not loading, scraper shows correct documentFacebook画布应用程序未加载,刮板显示正确的文档
【发布时间】:2013-08-23 15:09:12
【问题描述】:

我创建了一个 FB 应用程序,托管在 Heroku 上。该应用程序是用 Ruby 编写的。

  1. 该应用用于在 facebook iframe 中正确加载。
  2. 现在,如果我通过app.facebook.com/app_namespace 打开应用程序,则会显示一个空白屏幕。当我启用异常跟踪时,它现在显示好像图形 koala 对象的 access_token 为 nil。
  3. 如果我打开 Canvas URL,例如“直接” URL 一切正常,但我必须先通过“/auth/facebook”在 facebook 上调用直接授权。
  4. iframe现在显示koala "Unsupported get method",但是通过调试可以看出从graph获取的access_token是nil。
  5. 生成的测试用户和开发用户的行为是相同的。

已经试过了:

  1. 我尝试通过在线 FB 调试器调试 Canvas URL,Scraper 似乎看到了正确的 HTML。
  2. 尝试重新授权应用,但无济于事。

【问题讨论】:

    标签: facebook heroku sinatra facebook-canvas koala


    【解决方案1】:

    默认情况下 Sinatra uses rack-protection to set the X-Frame_Options header。看起来这就是导致您的问题的原因。

    您可以在应用程序中使用此行禁用它:

    set :protection, :except => :frame_options
    

    【讨论】:

    • 马特,谢谢。这可能是 access_token 的问题。现在,“独立”版本在我调用“/auth/facebook”之后运行良好,然后我就可以使用它了。对于 iframe 版本,这无济于事。另外,我启用了 show_exceptions 问题是 iFrame 内部 access_token 无效?我糊涂了。 :)
    • 马特,我会接受答案,这确实有帮助。 :except 多个值的语法是什么,例如:frame_options 和 :http_origin?
    • @emirc 使用数组:set :protection, :except => [:frame_options, :http_origin]sinatrarb.com/intro.html#Configuring%20attack%20protection
    猜你喜欢
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多