我正在使用Angular应用程序,为了说明我没有使用任何元标记,我怎么说,如何使用Share Dialog让用户共享页面我的应用程序?
使用旧的 Feed对话框有效,但已弃用:
$scope.share = function() {
FB.ui({
method: 'feed',
name: 'This is the name field',
link: 'The link',
picture: 'The picture',
caption: 'The caption',
description: 'This is the content of the "description" field, below the caption.'
})
},
function(response) {
if (response && !response.error_code) {
console.log('Posting completed.');
} else {
console.log('Error while posting.');
}
});
};
所以尽管这很有效,但我想以同样的方式使用 Share Diolog ,但我并没有把它搞清楚。这是我一直在尝试的,请记住,我是一个新手:
$scope.share = function() {
FB.ui({
method: 'share_open_graph',
action_type: 'og.likes',
action_properties: JSON.stringify({
object: {
'title': 'The title',
'image': 'An image',
'url': $scope.shareUrl,
'description': 'This is the description',
}
})
},
function(response) {
if (response && !response.error_code) {
console.log('Posting completed.');
} else {
console.log('Error while posting.');
}
});
};
任何提示?
答案 0 :(得分:0)
简短的回答是你不能,你必须使用OpenGraph元标记。
由于Facebook不了解JavaScript并因此不了解Angular,因此您必须在服务器端检测Facebook的抓取工具并为其呈现静态页面而不是Angular应用程序。
虽然精确的实施方式会因服务器技术的不同而有所不同,但总体思路如下:
Facebook的抓取工具可用here,目前它们是: