Youtube v3 API:上传字幕文件时出现错误500(BackendError)

时间:2015-07-06 19:07:39

标签: youtube youtube-data-api

我正在编写一些概念验证代码,以自动将字幕上传到现有视频。这是我的相关代码:

var file = $('input[type=file]').get(0).files[0];

var metadata = {
    snippet: {
        videoId: 'xKE5LG5Xd9o',
        language: 'english',
        name: 'test'
    }
};
var uploader = new MediaUploader({
    baseUrl: 'https://www.googleapis.com/upload/youtube/v3/captions',
    file: file,
    token: gapi.auth.getToken().access_token,
    metadata: metadata,
    params: {
        part: 'snippet'
    }
});

uploader.upload();

当我运行此代码时,我得到以下JSON响应:

{
    "error": {
        "errors": [{
            "domain": "global",
            "reason": "backendError",
            "message": "Backend Error"
        }],
        "code": 500,
        "message": "Backend Error"
    }
}

我找不到有关此错误响应的最新信息。有this old thread表示这是一个API错误,等待一段时间后再次尝试将解决它。但是,这似乎并不适用于我的情况。

1 个答案:

答案 0 :(得分:4)

根据我对图书馆的使用经验,您需要将语言设置为BCP-47语言标记。这意味着改变"英语"到" en"。

var metadata = {
    snippet: {
        videoId: 'xKE5LG5Xd9o',
        language: 'en',
        name: 'test'
    }
};