Facebook在与您的应用配置不同的域上共享?

时间:2015-02-27 15:21:00

标签: facebook share

这是分享按钮的代码:

FB.ui({
    method: 'share',
    href: 'http://cheese.com/',
});

我有多个域重用一个应用ID。我们为登录等做了一些变通办法。但至少我希望分享按钮能正常工作。但这给了我一个经典之作:

  

应用程序配置不允许使用URL:一个或   应用程序的设置不允许使用更多给定的URL。它必须   匹配网站URL或Canvas URL,或域必须是子域   应用程序的一个域名。

错误有意义:我尝试在另一个域上分享某些内容。但是为什么首先存在这种限制?有解决方法吗?

请注意,发送链接对话框不会出现任何问题:

FB.ui({
    method: 'send',
    link: 'http://cheese.com/',
});

sharesend之间有什么不同?

为单个应用程序使用多个域名时有哪些解决方法?

2 个答案:

答案 0 :(得分:6)

我最终在新窗口中使用旧的sharer.php方式。

window.open( 'https://www.facebook.com/sharer/sharer.php?u=http://poules.com', 
    'fbShareWindow',       
    'toolbar=no,
     location=no,
     status=no,
     menubar=no,
     scrollbars=yes,
     resizable=yes,
     width=600,
     height=400');

答案 1 :(得分:1)

Method share:这用于公开或在帖子中指定的Facebook上共享域名或子域名。它正在影响应用程序的宣传。 (人们如何有效地共享链接/ URL)。通常应用程序的名称会在共享时产生巨大影响。

Method send:这用于在Facebook上发送私人消息。它对app的宣传影响不大。

我认为这样做是因为,

页面上的任何内容可能与Facebook App上注册的域名不同。此外,它还将作为私人信息发送,而不是Facebook的困扰。但如果它用作共享,那么它应该有类似的域或子域,因为它反过来影响Facebook的声誉。 (请记住垃圾邮件发送者。)

所以我觉得,如果域名不同,那么创建不同的Facebook应用程序。