首页 文章

Facebook App:这必须来自Canvas URL,Secure Canvas URL

提问于
浏览
37

嗨,我不想创建一个Facebook应用程序,用于我在本地安装的新网站(我的机器)中的auth,但从昨天我没有成功安装它并使用它,所有时间我有这个非常奇怪的错误当我不想在“App Domains”中写一个域名时:

这必须来自Canvas URL,Secure Canvas URL,Site URL,Mobile Site URL,Page Tab URL或Secure Page Tab URL . 检查并更正以下域名

我的应用程序的域名是 http://localhost/project/app_dev.php/ 它不起作用我通过一个真正的URL更改它,如: http://www.exemple.com/ ,但我有同样的错误,只是我注意到当我创建一个具有facebook的新外观的应用程序时,我看到这个错误(昨天)...

7 回答

  • 71

    App Domains 字段中唯一允许的值是您已输入的网址中至少有一个选择您的应用与Facebook块集成的方式:

    Website with Facebook Login - URL
    App on Facebook - Canvas
    etc for the others
    
  • 8

    在我的情况下,问题是我没有完成“添加平台>网站”部分 . 一旦我这样做,App Domains的内容变得有效,错误就消失了 .

    facebook app settings screen

  • 95

    昨天我遇到了同样的问题,stackoverflow的答案对我帮助最大的是Make local development work with Facebook/Google APIsCanvas URL / Secure Canvas URL error message(同时结帐How to handle OmniAuth callbacks in multiple environments?

    Facebook开发人员用户界面有所改变 . 我正在写这个答案来巩固所有帮助我的信息 .

    1.使local.host指向您的计算机

    你需要做的第一件事是(如第一个链接所述),facebook不会将localhost作为有效的回调网站,因为它会将 localhost 与顶级域名混淆( com org 等),换句话说就是没有点 . 在您的域名中 . 因此,请更改 /etc/hosts 以添加条目

    127.0.0.1   local.host
    

    现在您可以在 http://local.host/... 访问您的应用程序(这将在您保存 /etc/hosts 文件后立即生效,无需重新启动任何内容)

    2.在facebook开发者控制台上添加local.host作为站点URL

    您需要做的第二件事是在facebook页面上添加 local.host 作为站点URL

    现在不要使用您的 生产环境 应用程序 . 在https://developers.facebook.com帐户上添加虚拟应用程序因为您的 生产环境 应用程序必须将站点URL设置为 生产环境 URL而不是 local.host

    配置虚拟应用程序,如屏幕截图所示 . 但是,从一开始,基本设置页面上就不会显示该网站部分(如屏幕截图所示) .

    首先,您必须单击底部的 + Add Platform 按钮,然后选择 Website .

    注意我添加了 http://local.host:3000/ . 这就是我的ruby服务器在开发模式下运行的地方 .

    Facebook Dev Console Screenshot

    此外,在开发模式下运行webapp时,请确保为虚拟应用程序使用App Id和App Secret .

    HTH .

  • 1

    我的问题是登录facebook并不适用于我的应用程序 .

    事实证明,我只需要在 "Advanced" 标签上填写 "Valid OAuth redirect URIs" 字段 .

    例如http://example.com/auth/google/callback

  • -19

    我有一个类似的问题,Facebook现在改变了左窗格文件登录(从左上角选择你的应用程序后) - >有效的OAuth重定向URI

  • 1

    如果您使用WPF或winforms等桌面应用程序,并使用WebBrowser控件登录Facebook SDK . 您必须将facebook应用程序设置的“高级”选项卡中的“嵌入式浏览器OAuth登录”设置为“是” . 希望我能帮忙

  • 8

    选择底部的"Add platform"并提供您的localhost网址 . “http://localhost:port/” .

    这一步之后 . Facebook允许您添加localhost:port作为您的域名网址 .

    完成这两个步骤后,您可以毫不费力地测试“使用Facebook登录” .

相关问题