使用图表从浏览器将视频发布到 Facebook API

Posting video to facebook from the browser using the graph API

我正在尝试 post 从浏览器到边缘的视频播放下面的代码

var url = "https://graph.facebook.com/v2.5/" + this.uid + "/videos" + "?access_token=" + token;
        var formData = new FormData();
        formData.append("source", file);
        formData.append("access_token", token);
        return $.ajax({
            url: url,
            contentType: false,
            processData: false,
            type : "POST",
            data: formData
        })

但它给出了 400 错误请求 error.The 响应是

{
   "error": {
      "message": "Bad signature",
      "type": "OAuthException",
      "code": 1,
      "fbtrace_id": "FYc5192NtSs"
   }
}

你能告诉我我做错了什么吗?

我做了以下效用函数

var makeApiRequest: function(accessToken, config, successCallback, errorCallback) {
    var baseUrl = 'https://graph.facebook.com/v2.5/';

    // parse config and defaults
    var config = config || {},
        url = config.url || 'me',
        data = config.data || {},
        method = config.method || 'GET';

    config.url = baseUrl + url + '&access_token=' + accessToken;

    // make the api request
    $.ajax(config)
        .done(function(data) {
                if (!!successCallback) {
                    successCallback(data);
                } else {
                    console.log(data);
                }
            }
        ).error(function(xhr) {
         errorCallback(xhr);
        });
}

视频可以这样调用

makeApiRequest(
'<token>',
{
    url: 'me/videos',
    data: {file_url:'http://example.com/path/to/file.mp4', description: 'title'},
    method: 'POST'
 }, successCb, errorCb);

请确保您使用的令牌是使用 API 的 v2.5 获得的。您需要 publish_actions、publish_pages(对于页面)post

权限

调试您的访问令牌here