将自定义名称、标题、图像、描述添加到新的facebook共享对话框中,或添加不从og meta获取的自定义故事
我只是在写一个测验脚本。因此,我想分享测验的结果,而不是og元数据 我知道可以使用旧的FB.ui提要操作添加自定义名称、标题、描述和消息,而不是共享url。例如:将自定义名称、标题、图像、描述添加到新的facebook共享对话框中,或添加不从og meta获取的自定义故事,facebook,facebook-graph-api,facebook-javascript-sdk,facebook-apps,facebook-sharer,Facebook,Facebook Graph Api,Facebook Javascript Sdk,Facebook Apps,Facebook Sharer,我只是在写一个测验脚本。因此,我想分享测验的结果,而不是og元数据 我知道可以使用旧的FB.ui提要操作添加自定义名称、标题、描述和消息,而不是共享url。例如: FB.ui({ method: 'feed', href: url, name: name, caption: title, description: des, message: message, picture: img, }, function(response){}
FB.ui({
method: 'feed',
href: url,
name: name,
caption: title,
description: des,
message: message,
picture: img,
}, function(response){});
但是我觉得这很快就会被弃用了
新的共享api也可以这样做吗?或者我可以用自定义故事来做这件事?怎么用?我在找像这样的东西
FB.ui({
method: 'share',
href: url,
name: name,
caption: title,
description: des,
message: message,
picture: img,
}, function(response){});
但这不起作用:/它只需要href。其他所有内容都将被忽略,并且不会预先填充:(
有什么最佳实践或facebook推荐的方法可以做到这一点吗
API文档:
Thx.我非常感谢您的帮助我认为您的href URL应该使用元数据,以便Facebook能够获得这些信息 从Facebook开发者页面: 在页面上此URL处包含以自定义 分享回Facebook的故事
实际上,我必须为每个可能的答案创建一个页面,并在每个答案中添加不同的og元,但您可以使用一些url解释器来生成url及其内容,然后创建一个函数来动态插入元标记。这与RESP web service api类似,url实际上不是服务器的位置,而是调用函数及其参数。我不知道这些参数在共享对话框的何处被记录,但我有一个猜测,这些都可以工作。作为提示,请将Feed方法中使用的“name”参数更改为“title”。我是一个网页上多个共享按钮的自定义共享。显然,替换所有“自定义”按钮。..'带有您自己的变量或“字符串”的变量:
FB.ui({
method: 'share',
href: 'http://yourwebpage.com',
picture: customImage,
title: customTitle,
description: customDescription,
caption: customCaption
}, function(response) {});
事实上,这对我有用
FB.ui({
method: 'share',
href: urlHost+link,
// method: 'feed',
title: name,
link: urlHost+link,
picture: urlHost+"/assets/images/fb.jpg",
caption: "Interbank",
description:description
2019年更新。 此方法不再有效。尚未找到新的解决方案:( 2018年6月27日更新。 旧版本的代码已停止正常工作。共享图像在左侧显示为小图像,而不是大的全列图像。修复方法是将
操作类型:“og.shares”
替换为操作类型:“og.likes”
使用此代码:
FB.ui({
method: 'share_open_graph',
action_type: 'og.likes',
action_properties: JSON.stringify({
object: {
'og:url': url,
'og:title': title,
'og:description': des,
'og:image': img
}
})
},
function (response) {
// Action after response
});
这适用于API版本2.9+。请注意,不再建议使用og.shares
action\u type
,因为FB文档中没有提到它,并且它不能正确显示大图像。我现在使用og.likes
。小缺点是句子like“John Doe喜欢drib上的对象”位于“共享”对话框顶部附近,并在用户墙上共享内容
用于完整的工作示例签出。无法使用open graph元标记,因为我想共享个人用户的测验结果。正在寻找fb api 2.0的解决方案我不是fb api的专家,但据我所知,您仍然可以将元标记用于动态页面。我的意思是,您的URL将具有“测验结果id”"这样你的标签就会被动态加载。没有url是相同的。测验完全在js Base的客户端。你解决了这个问题吗?Facebook让我为此感到痛苦,不赞成自定义共享选项是荒谬的。你的答案根本没有回答这个问题。Manuel描述的问题正是你提出的解决方案ave.href url的OG标签被用于共享,他不想这样。我否决了你的答案。这是一个很好的问题。我仍在努力解决这个问题。(旁注:即使feed API现在对我来说也不太好,但这可能是我的错。)Manuel你能不能把feed放进去而不是共享,看看会发生什么,然后再报告?你为什么说它很快就会被弃用?我在feed对话框中找到了这些:是的,feed对话框的参数在那里有很好的文档记录。但问题是“共享”对话框的参数是什么?似乎没有多个indi的文档记录如问题中所述,单个页面上的个人共享。我上面的示例与个人共享的共享对话框一起工作。仅供参考,现在已弃用-从图表v2.9开始,这些用于自定义图片、标题和描述的额外字段已弃用,不再起作用。如果您使用图表v2.8,它将在2017年7月17日之前正常工作正如预期的那样,只有一个问题,它说“Deepak Mahakale在博客上共享了一个对象。”@DeepakMahakale感谢您的反馈,不幸的是,我没有想出如何修复此问题。我怀疑目前可能不可能,但由于此功能没有很好的文档记录,因此无法100%确定。是的,如果您发现任何东西,请分享。因为由于此对象的原因,我不得不使用meta标记。另外,请告诉我是否有有人问的任何问题。我可以开始悬赏。链接到该网站的现在是“更新30.04.2019。此方法不再有效。当我发现如何动态覆盖og元数据时,解决方案将发布在此处。”