如何使用FB.ui Javascript sdk在Facebook上传视频

Shi*_*r P 5 javascript facebook facebook-javascript-sdk fb.ui

我正在使用FB.ui方法将图像发布到Facebook,如下所述:

FB.ui({
    display: 'popup',
    method: 'feed',
    name: 'image',
    link: 'link',
    picture: 'image path',
    caption: 'caption',
    description: 'description'
}, function(response){
   // do something
});
Run Code Online (Sandbox Code Playgroud)

我能够成功发布图片,但无法发布视频.我试过了,但都失败了.

FB.ui({
    display: 'popup',
    method: 'feed',
    link: 'link',
    picture: 'thumbnail image path',
    source: 'https://example.com/media/video.mp4',
    caption: 'caption',
    description: 'description'
}, function(response){
    // do something
});
Run Code Online (Sandbox Code Playgroud)

上面的方法是发布feed,我看视频应该只在facebook上播放,而不是采取页面链接.

我不确定我是否在视频帖子上遗漏了某些东西或者我自己错了.

有人可以帮助视频,我真的很感激.

谢谢

Roe*_*mer 5

您可以使用Graph API以多种方式将视频上传到Facebook.您可以进行可恢复不可恢复的上传.

后者是最简单的; 你发布到graph-video.facebook.com,视频数据必须multipart/form-data编码.这些文件的大小限制为1GB,长度为20分钟.

您可以使用SDK上传视频.例如,以下代码将使用JS SDK:

/* make the API call */
FB.api(
    "/{user-id}/videos",
    "POST",
    {
        "source": "{video-data}"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
Run Code Online (Sandbox Code Playgroud)

这里的source参数是您的编码视频文件.有关详细信息,请参阅文档.或者,如果视频已在某处上传,您可以使用该file_url参数提供该视频的链接.

请注意: JS SDK默认为graph.facebook.com,但您需要发布到graph-video.facebook.com.因此,您需要覆盖域,或者使用正常的JS http请求重新创建帖子.在这种情况下,请使用该source参数在您的参数中添加access_token该名称.

如果您可以更好地控制视频文件和进程,则可以以块的形式上传文件.这样您就可以从丢失的上传段中恢复,而无需重新上传整个文件.