5

我正在使用 JavaScript API。我可以毫无问题地做一个简单的文字帖子:

var params = {};
params['message'] = 'The text';
FB.api("me/feed", 'post', params, function(response) {
   if (!response || response.error)
      alert(response.error.message);
   else
      alert('Post ID: ' + response.id);
});

添加图片:

params['picture'] = "http://mysite.com/link-to-picture";
params['type'] = "photo";
...

使用图片作为缩略图发布带有乱码链接的链接类型状态。

如果我使用“我的/照片”,它第一次可以正常工作:

var params = {};
params['message'] = 'The text';
params['url'] = "http://mysite.com/link-to-picture";
FB.api("me/photos", 'post', params, function(response) {
   if (!response || response.error)
      alert(response.error.message);
   else
      alert('Post ID: ' + response.id);
});

但是,如果我再发一篇文章,我会从我的提要中丢失第一个帖子项目,并在提要中获得一个专辑类型的演示文稿,其中包含第二个帖子中的文本,以及两个(不相关的)图片

我能够使用自己的文字和图片获得不同状态帖子的唯一方法是首先创建一个序列号相册,然后将图片发布到该相册。

var aparams = {};
aparams['name'] = "post"+postid;
aparams['message'] = "album for post "+postid;
FB.api("me/albums", 'post', aparams, function(response) {
  if (!response || response.error)
  {
     alert("Creating album: "+response.error.message);
  }
  else
  {
     alert('Album ID: ' + response.id);
     var aid = response.id;
     params['url'] = "http://mysite.com/link-to-picture";
     FB.api(aid+"/photos", 'post', params, function(response) {
        if (!response || response.error)
           alert("Posting photo: "+response.error.message);
        else
           alert('Post ID: ' + response.id);
     });
  }
});

这不可能是正确的做法——创建大量单张相册!

我注意到默认情况下我有一个“时间线照片”相册,所以我可以获取它的 ID,然后将图片上传到该相册。但是,我将如何仅使用文本发布 FB.api("my/feed" ...) 并参考图片。我在文档中找不到类似的东西。

我的要求在我看来是非常基本的。有没有人能够做到这一点?

4

1 回答 1

0

Facebook 会自动将相册中以特定时间间隔上传的图片检测为单个帖子并将它们加入俱乐部。这也是为了防止它通过应用程序发送垃圾邮件。

于 2015-06-03T10:41:12.483 回答