【问题标题】:Facebook share on a different domain than your app configuration?Facebook 在与您的应用配置不同的域上共享?
【发布时间】:2015-02-27 15:21:00
【问题描述】:

这是分享按钮的代码:

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

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

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

这个错误是有道理的:我试图在另一个域上分享一些东西。但是为什么首先会有这个限制呢?有解决办法吗?

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

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

sharesend 之间有什么不同?

为单个应用使用多个域名时,有什么解决方法?

【问题讨论】:

  • 这不是FB.ui中使用的方法,这是关于JS SDK的初始化。您的应用应该主要使用一个域。

标签: facebook share


【解决方案1】:

我最终在新窗口中使用旧的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');

【讨论】:

  • 看来这是唯一的方法。即使您在 Facebook 中设置了 2 个单独的应用程序,它仍会检查您尝试共享的 url 是否与您所在站点(或子域)的当前 url 相同,如果不是,您会收到错误。跨度>
【解决方案2】:

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

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

我认为保持这种状态是因为,

页面上的任何内容可能与在 Facebook 应用上注册的域具有不同的链接。而且它只会作为私人消息发送,不会对 Facebook 造成太大影响。但如果它用作共享,那么它应该具有相似的域或子域,因为它反过来会影响 Facebook 的声誉。 (请记住垃圾邮件发送者。)

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-02
    • 2013-03-19
    • 2018-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多