我设置了一个Facebook应用程序并将其包含在:
之后<script>
window.fbAsyncInit = function () {
FB.init({
appId: 'HEREISMYAPPID',
xfbml: true,
version: 'v2.5'
});
};
(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>
现在我做了两个方法。一个用于共享没有图片的文本,另一个用于与图片共享提要:
function sharefbimage(imgUrl, title, desc, spruchbildid) {
FB.ui(
{
method: 'feed',
name: 'My App Name',
link: 'https://myurl.de/cdcd/'+spruchbildid,
caption: title,
description: desc,
picture: imgUrl
},
function (response) {
if (response && response.post_id) {
alert('success');
} else {
alert('error');
}
}
);
}
function sharefbtxt(spruch,spruchid) {
FB.ui(
{
method: 'feed',
name: 'My App Name',
link: 'https://myurl.de/cdcd/'+spruchid,
caption: 'This is the best caption ever',
description: spruch
},
function (response) {
if (response && response.post_id) {
alert('success');
} else {
alert('error');
}
}
);
}
如果我通过调用&#34; sharefbtext&#34;来共享文本。一切都按预期工作。如果我按下取消按钮,弹出窗口将关闭,我收到响应警报。
如果我打电话给&#34; sharefbimage&#34;用&#34;图片&#34;参数对话框按预期打开,图像按预期加载。您可以发布Feed,它会显示在墙上。唯一不起作用的是,如果按下取消按钮,它不会关闭对话框,因此响应警报永远不会显示。按取消或发布后,Feed只会重定向到&#34; https://www.facebook.com/v2.5/dialog/feed&#34;但对话框不会关闭...
我错过了什么或这是一个错误吗?
答案 0 :(得分:0)
我使用过Facebook API 2.5 Javascript SDK,这就是我在用户个人资料上发布照片所做的工作(在本例中是我的个人资料):
FB.api(
'me/photos/',
'POST',
{
message: 'This is a photo',
url: 'image link'
},
function(response) {
console.log(response);
}
);
这将创建一个包含您应用名称的新相册,顺便说一句,如果您想发布GIF,请在此处查看我的回答: Share animated GIF to Facebook using Javascript