首页 > 解决方案 > FB.ui 共享对话框:“此 URL 的域不包含在应用程序的域中”

问题描述

我尝试使用 Facebook javascript sdk 实现共享对话框。当我打开对话框时,我收到一条错误消息,指出此 URL 的域未包含在应用程序的域中。

我尝试在我的 Facebook 开发人员控制台中添加所有域和所有子域,在“Facebook 登录 - 有效 OAuth”中,但也许因为我尝试使用共享对话框,这些域应该添加到其他地方?

注意:我的应用程序实现了 Facebook 登录,我可以确认我没有遇到此流程的任何问题,域对于登录是正确的,并且登录工作正常。

我的代码:

FB.ui({
   app_id: 'XXXXXXXXXXX',
   method: 'share',
   href: 'https://something.com'
}, (response: any) => {
   console.log(response);
   });

错误弹出窗口

更新

用英语,我面临的错误信息

应用程序配置不允许给定 URL:应用程序的设置不允许一个或多个给定 URL。它必须与网站 URL 或画布 URL 匹配,或者域必须是应用程序域之一的子域。

有趣的是,在我的 Facebook 开发者控制台中,我允许 6 个不同的 URL 作为 OAuth 重定向。我试图将它们全部指定为redirect_uri参数,共享对其中两个有效,但对其他四个失败?!!??!

OAuth 允许的 URL(按此顺序)> 共享结果

 https://mymaindomain.com/ > Share ok
 https://mymaindomain.com/something/ > Share ok
 https://mystaging.com/ > Share KO
 https://mystaging.com/something/ > Share KO
 https://m.mystaging.com/ > Share KO
 https://m.mymaindomain.com/ > Share KO

标签: angularfacebookfacebook-javascript-sdk

解决方案


我有同样的问题,但我解决了它。

我的解决方案:

  1. 打开脸书APP。
  2. 设置 -> 基本
  3. 设置应用程序域 [something.com]
  4. 设置网站 -> 网站网址 -> [ https://something.com]

推荐阅读