我需要在facebook上分享一个包含自定义标题,图片和说明的测验结果。在4月18日更新到2.9版之前,它完美地完成了 。
但它不适用于2.9版本。我错过了那里的东西吗?或者Facebook不希望我们在2017年分享我们网站的自定义Facebook Feed?
对于我的测试Facebook Feed的设置,我严格使用Facebook Developers Documentation编码。
Facebook Changelog v2.9表示不再支持参数图片,名称,说明和标题。
我的fb api init:
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '*APP-ID*',
xfbml : true,
version : 'v2.9'
});
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'));
</script>
我的fb-share电话:
<script>
$(document).ready(function() {
$('#fbButton').click(function() {
FB.ui({
method: 'feed',
link: '*URL*',
caption: 'An example caption',
picture: '*URL*/img/content4.jpg',
name: 'An example name',
description: 'An example description'
}, function(response){});
});
});
</script>
因此,我得到了一张没有任何图片或说明的Facebook Feed。唯一的标题是标题(<head>
中<title>
定义的页面标题)。
显然,通常的程序不再适用。
那么有没有办法与新的facebook API版本2.9共享自定义图片的自定义文本?
有没有解决方法?或者它是不可能的v2.9,因为Facebook不希望我们分享这样的自定义源? (无论出于何种原因......)
(不,我不能使用og:标签)
答案 0 :(得分:3)
我只是尝试使用开放图形方法而不是Feed和覆盖og属性,请参阅下文:
FB.ui({
method: 'share_open_graph',
action_type: 'og.shares',
action_properties: JSON.stringify({
object : {
'og:url': 'http://astahdziq.in/', // your url to share
'og:title': 'Here my custom title',
'og:description': 'here custom description',
'og:image': 'http://apps.investis.com/Dharmendra/fbPOC/south.jpg'
}
})
},
// callback
function(response) {
if (response && !response.error_message) {
// then get post content
alert('successfully posted. Status id : '+response.post_id);
} else {
alert('Something went error.');
}
});
这对我有用,因为我能够发布带有标题和描述的自定义图像。
答案 1 :(得分:0)
我自己也遇到过这个问题。 经过一些研究,我找到了这个解决方案:
www.facebook.com/sharer.php?caption= [说明]&安培;描述= [描述]&安培; U = [网站]&安培;图象= [图像URL]
您可以使用JavaScript window.open来模拟这样的行为:
这是一个工作示例: https://jsfiddle.net/ovidiu_turean/mhuexvjL/
<button onclick="myFunction()">Try it</button>
<script>
function myFunction() {
window.open('https://www.facebook.com/sharer.php?title=ThisIsAtitle&description=ThisIsAdesc&u=https://www.google.ro&picture=https://wallpapers.wallhaven.cc/wallpapers/full/wallhaven-526588.jpg', 'Share', 'scrollbars=yes,resizable=yes,toolbar=no,menubar=no,scrollbars=no,location=no,directories=no,width=300, height=300, top=300, left=300' );
}
</script>
答案 2 :(得分:0)
https://developers.facebook.com/docs/apps/changelog#v2_9
自定义参数不再可用,共享URL仅从网站上的Open Graph Tags获取数据,Open Graph Tags需要对每个URL都是静态的。否则,您可以与任何标题/描述共享任何URL,这可能会产生误导。