【发布时间】:2018-10-15 16:01:36
【问题描述】:
我尝试使用 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
【问题讨论】:
-
一般 facebook 允许电子邮件和用户个人资料。我认为您需要获得 Facebook 的许可并请求审核您的应用以启用该功能。请在 Facebook 应用程序仪表板上查看
app review中已批准的项目。 -
@kvk30 很好,但不要认为这与权限有关。不知道与“允许共享”相关的任何权限,此外,我为我的应用使用相同的 Facebook 应用 ID,其中原生 iOS 和 Android 共享功能都可以
-
你能给我你想分享的网址吗?
-
@kvk30 不幸的是,与要共享的 URL 无关,尝试使用 google.com 也没有用:(
标签: angular facebook facebook-javascript-sdk