【问题标题】:Users Cannot share directly into their facebook pages, only on their profile用户不能直接分享到他们的 Facebook 页面,只能在他们的个人资料上
【发布时间】:2018-07-06 00:01:22
【问题描述】:

我有以下方式允许我的用户将动态内容从我们的网站分享到 facebook

 window.fbAsyncInit = function() {
        FB.init({
          appId            : 'XXXX',
          autoLogAppEvents : true,
          xfbml            : true,
          version          : 'v3.0'
        });
        FB.AppEvents.logPageView();
      };

      (function(d, s, id){
         var js, fjs = d.getElementsByTagName(s)[0];
         if (d.getElementById(id)) {return;}
         js = d.createElement(s); js.id = id;
         js.src = "//connect.facebook.net/en_US/sdk.js";
         fjs.parentNode.insertBefore(js, fjs);
       }(document, 'script', 'facebook-jssdk'));

在主 javascript 文件夹中。现在对于我想要分享的每一个内容,我都有以下内容

function compartirFB(img,desc,txtTitulo){
        var text = desc;
        var titulo = txtTitulo;
        var url      = window.location.href +'#somehash"; 


         FB.ui({
        method: 'share_open_graph',
        action_type: 'og.likes',
        action_properties: JSON.stringify({
            object: {
                'og:url': url,
                'og:title': 'custom title '+titulo,
                'og:description': text,
                'og:image': img
            }
        })
        },
        function (response) {

        });
    }

这很好用,带有动态图像。主要问题是该用户无法将此内容分享到他们自己的 Facebook 页面,只能分享到他们的主要个​​人资料,如下图所示

如图所示,我可以在自己的 Facebook 页面上分享内容。

我尝试了一种不同的方式来共享内容,但是使用此选项似乎我无法动态更改图像

FB.ui({

                app_id: xxxxx,
                method: 'share',
                href: url,
                image: 'https://ayuntamiento.xalapa.gob.mx'+img,
                title: title,
                description: text,
                caption: 'Quackpower' 


    },
    function (response) {

    });

这给了我这个带有来自元标记的默认图像的窗口

我可以在哪里更改我共享的表单、我的个人资料或我管理的任何页面

谁能给我一条可以遵循的路径?谢谢!

【问题讨论】:

    标签: javascript facebook share


    【解决方案1】:
    method: 'share_open_graph',
    

    Open Graph 故事只有用户可以发布,页面永远无法发布。 OG 故事旨在让用户现在让其他人知道他们当前正在执行的活动 - 而页面不是人。

    我尝试了一种不同的方式来共享内容,但使用此选项似乎无法动态更改图像

    在共享时间动态指定任何这些参数的可能性已被删除 - 这是打击“假新闻”的一部分。

    现在唯一的方法是,如果您要发布到首先声明内容所有权的页面 - 请参阅https://developers.facebook.com/docs/sharing/domain-verification
    但我认为即使这样也意味着您需要通过 API 将这些帖子发布到您是管理员的页面上——我认为 Share 或 Feed 对话框无法动态处理这个问题;他们必须根据用户选择共享的位置在“静态”和“动态”预览之间切换,而这根本没有实现 AFAIK。

    除此之外,您唯一的选择是在您的服务器上创建单独的 URL,以便在请求时返回所需的 OG 元数据集。如果您需要与不同的预览内容共享相同的内容,那么您可以创建多个此类 URL,然后将跟随这些链接的人类访问者重定向到“主”URL。如果你走这条路,你必须注意,尽管这些不同 URL 的点赞和分享也会被单独计算,因此你实际上会在同一事物的不同版本之间“拆分”它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-24
      • 1970-01-01
      • 1970-01-01
      • 2017-11-10
      • 2015-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多