代码之家  ›  专栏  ›  技术社区  ›  Angel

Facebook应用程序-此URL的域不包括在应用程序的域中。为什么?

  •  5
  • Angel  · 技术社区  · 8 年前

    当尝试使用Facebook应用程序登录时,我遇到以下错误:

    enter image description here

    URL: http://www.facebook-php-test.com

    下面是我在Facebook应用程序上设置的配置。

    ( App ID App Secret 在图像上)

    enter image description here

    https://github.com/zeuscronos/facebook-php-test.com

    我真的不知道为什么会这么说 the domain of this URL isn't included in the app's domains 当它实际存在时。

    现场: App Domains 我同时尝试了这两个域:

    • facebook php测试。通用域名格式
    • www.facebook-php-test。通用域名格式

    但没有成功。

    生成的登录URL如下:

    https://www.facebook.com/v2.10/dialog/oauth?client_id=012345678901234&state=d3758e484d539bebd6505427aaf1fa3b&response_type=code&sdk=php-sdk-5.6.1&redirect_uri=http%3A%2F%2Fwww.facebook-php-test.com%2Ffb-callback.php&scope=email%2Cuser_friends%2Cuser_photos

    facebook-php-test.com 作为Apache服务器上的虚拟主机。

    我不得不说我和 Facebook PHP SDK 这是我第一次与之斗争。实际上,我在使用另一个大应用程序时遇到了这个问题,然后在尝试解决问题的几个小时后,我创建了这个虚拟应用程序,试图找出问题的原因。

    我尝试了很多事情,但都没有成功。

    谢谢

    遵循的建议 Mr.Geeker 评论我做了以下。。。

    添加产品: Facebook Login 配置如下:

    enter image description here

    然后,我终于可以继续了,我被要求获得许可:

    enter image description here

    但不幸的是,在授予权限后,我得到了以下信息:

    enter image description here

    你知道如何从这一点继续下去吗?

    编辑02-解决方案

    Use Strict Mode for Redirect URIs 在下面 Client OAuth Settings . 他们说是的 strongly recommended 具有此功能 On 但我没法用这个 在…上 .

    顺便说一句,我还禁用了: Client OAuth Login 因为我的应用程序没有使用它。

    客户端OAuth设置 是: Web OAuth Login

    3 回复  |  直到 8 年前
        1
  •  4
  •   Philipp Maurer    8 年前
    Facebook现在将一些功能作为插件。在左侧选择产品并添加产品。然后选择Facbook Login。从这里开始,您将看到所有Oauth选项。

    正如最初的回答 here

        2
  •  4
  •   Jorge Palacio    8 年前

    2018年3月,facebook更新了API,并强制所有应用程序保持严格模式。

    为了使其工作,必须在有效的OAuth重定向URI字段中包含完整的回调url。如果重定向到“ https://www.example.com/facebook/callback “,必须包括完整的URI(不带参数):

    enter image description here

    必须在“基本设置”页面上的应用程序域和网站URL字段中设置域:

    enter image description here

    如果这些都不起作用,并且“无法加载URL:此URL的域不包括在应用程序的域中。”消息不断显示, 检查您是否有最新版本的SDK . 我可以在将de PHP SDK从5.5版更新到5.6.2版后使其工作

        3
  •  0
  •   ferreirabraga    8 年前

    我使用的是PHP 5.5,我发现了这个bug。

    PHP Facebook API版本='5.5.0',DEFAULT\u GRAPH\u版本='v2.9'正在添加URI ?代码=XXX 在我的回调页面中,如下所示:

    mydomainExample。com/callbackFacebook。php ?代码=XXXXXXX

    我修改了源代码,删除了“?”后面的字符串。现在回调url仅为

    修复可以在Facebook/Helpers文件中完成/ 内部 getAccessToken 如果 “如第226行所示,问题已经解决:

    $redirectUrl = $redirectUrl ?: $this->urlDetectionHandler->getCurrentUrl();
    
    //the next 3 lines was added to avoid the bug (fixed)
    if(strripos($redirectUrl, "?")){
      $redirectUrl = substr($redirectUrl, 0, strripos($redirectUrl, "?"));
    }
    
    // At minimum we need to remove the state param
    $redirectUrl = FacebookUrlManipulator::removeParamsFromUrl($redirectUrl, ['state']);
    
    推荐文章