我正在处理一个测验脚本。因此,我想分享测验的结果,而不是og元数据。
我知道可以使用旧的FB.ui feed动作添加自定义名称,标题,说明和消息,而不是共享网址。 E.g:
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文档:https://developers.facebook.com/docs/sharing/reference/share-dialog
THX。我非常感谢你的帮助
答案 0 :(得分:10)
于27.06.2018更新。
旧版本的代码停止正常工作。共享图像在左侧显示为小图像,而不是大型全列图像。修复方法是将action_type: 'og.shares'
替换为action_type: '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_type
时不再建议,因为FB文档中没有提及它并且没有正确显示大图像。我现在使用og.likes
。一个小的缺点就是像“John Doe喜欢on bb上的对象”这样的句子位于共享对话框顶部附近并在用户墙上共享内容。
完整的工作示例结帐Dynamically change Facebook open graph meta data with JavaScript。
答案 1 :(得分:5)
我不知道在“共享”对话框中记录了这些参数的位置,但我猜了一下,这些都可以正常工作。作为提示,请更改“' name'您在Feed方法中使用的参数标题为'。我是从一个网页上的多个共享按钮自定义共享。显然,取代所有的定制......'变量带有您自己的变量或'字符串':
FB.ui({
method: 'share',
href: 'http://yourwebpage.com',
picture: customImage,
title: customTitle,
description: customDescription,
caption: customCaption
}, function(response) {});
答案 2 :(得分:0)
我实际上必须为每个可能的答案创建一个页面,并为每个答案添加不同的og metas,但您可以使用一些URL解释器(如code igniter)来生成url及其内容,然后只需创建一个要插入的函数meta标签动态。这类似于RESP Web服务api,其中url实际上不是服务器的位置,而是对函数及其参数的调用。
答案 3 :(得分:0)
实际上这对我有用
FB.ui({
method: 'share',
href: urlHost+link,
// method: 'feed',
title: name,
link: urlHost+link,
picture: urlHost+"/assets/images/fb.jpg",
caption: "Interbank",
description:description
答案 4 :(得分:-4)
我认为您的href网址应该使用元数据,以便Facebook可以获取这些信息。
来自Facebook开发者页面:
在此网址的页面上包含open graph meta tags以自定义 回归Facebook的故事。