这是分享按钮的代码:
FB.ui({
method: 'share',
href: 'http://cheese.com/',
});
我有多个域重用一个应用ID。我们为登录等做了一些变通办法。但至少我希望分享按钮能正常工作。但这给了我一个经典之作:
应用程序配置不允许使用URL:一个或 应用程序的设置不允许使用更多给定的URL。它必须 匹配网站URL或Canvas URL,或域必须是子域 应用程序的一个域名。
错误有意义:我尝试在另一个域上分享某些内容。但是为什么首先存在这种限制?有解决方法吗?
请注意,发送链接对话框不会出现任何问题:
FB.ui({
method: 'send',
link: 'http://cheese.com/',
});
share
和send
之间有什么不同?
为单个应用程序使用多个域名时有哪些解决方法?
答案 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应用程序。