我尝试使用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或Canvas URL,或域必须是子域 App的一个域名。
有趣的是,在我的Facebook开发者控制台中,我有6个不同的URL允许作为OAuth重定向。我试图将所有这些参数指定为redirect_uri
参数,并且其中两个参与共享但其他四个参与者失败了?!! ??!
OAuth允许网址(按此顺序)>分享结果
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
答案 0 :(得分:2)
我有同样的问题,但我已解决。
我的解决方案:
答案 1 :(得分:0)
对此,我从未找到解决方案,所以我选择了“发送”选项而不是“共享”,这似乎更可靠
FB.ui({
method: 'send',
link: 'https://something.com',
app_id: XXXXXXXXXXX'
}, (response: any) => {
console.log(response);
});