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

时间:2015-05-11 04:40:28

标签: 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
});

我可以成功发布图片,但无法发布视频。我试过了,但失败了。

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
});

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

我不确定我是否在视频帖子上遗漏了某些内容,或者我自己错了。

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

由于

1 个答案:

答案 0 :(得分:5)

您可以通过多种方式使用Graph API将视频上传到Facebook。您可以可恢复不可恢复上传。

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

你可以upload videos using the SDKs。例如,以下代码将使用JS SDK:

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

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

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

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