angular - 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
解决方案
我有同样的问题,但我解决了它。
我的解决方案:
- 打开脸书APP。
- 设置 -> 基本
- 设置应用程序域 [something.com]
- 设置网站 -> 网站网址 -> [ https://something.com]
推荐阅读
- windows - 创建仅在同一会话中可见的互斥锁
- javascript - 排序结果后遍历中继器表
- tsql - 动态 TSQL 中的引号错误
- asp.net - Azure 域绑定问题
- sql - 在动态查询中使用变量作为 INNER JOIN
- javascript - 如何在反应打字稿应用程序中修复“500 TypeError:无法读取属性'split' of null”
- r - Trying to convert nested sublist into a data frame
- c# - 我想实现一个 linq 表达式,它允许我测试提供的对象上的属性
- javascript - GUI 上 3 个顶点的方向
- c# - 如何使用 EPPlus 使用 ASP.Net 写入打开的 Excel 电子表格?