我可以通过以下方式允许我的用户将动态内容从我们的网站共享到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) {
});
该窗口为我提供了来自meta标签的默认图像
我可以在哪里更改要共享的表格,个人资料或我管理的任何页面
谁能给我一条道路?谢谢!
答案 0 :(得分:1)
method: 'share_open_graph',
Open Graph故事是用户 只能发布的内容,而页面则无法发布。 OG故事的目的是让用户现在让其他人知道他们当前正在执行什么活动,而页面却不是人。
我尝试了一种不同的方式来共享内容,但是使用此选项似乎无法动态更改图像
在共享时动态指定这些参数中的任何一个的可能性已被删除,这是与“假新闻”作斗争的一部分。
现在唯一的方法是,如果要发布到首先声明了内容所有权的页面,请参见https://developers.facebook.com/docs/sharing/domain-verification
但是,我认为即使那样也意味着您需要通过API将这些帖子发布到您作为管理员的页面上-我认为“共享或订阅源”对话框无法动态处理此问题;他们将不得不根据用户选择共享的位置在“静态”和“动态”预览之间进行切换,而这根本没有实现AFAIK。
除此之外,您唯一的选择是在服务器上创建单个URL,这些URL在请求时返回所需的OG元数据集。如果您需要使用不同的预览内容共享同一内容,则可以创建多个此类URL,然后将跟随这些链接的访问者重定向到“主要” URL。如果您走这条路,则必须知道,尽管这些不同URL的喜欢和共享也将被单独计算,所以您可以有效地将它们“分割”在同一事物的不同版本之间。