我正在编写一些概念验证代码,以自动将字幕上传到现有视频。这是我的相关代码:
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错误,等待一段时间后再次尝试将解决它。但是,这似乎并不适用于我的情况。
答案 0 :(得分:4)
根据我对图书馆的使用经验,您需要将语言设置为BCP-47语言标记。这意味着改变"英语"到" en"。
var metadata = {
snippet: {
videoId: 'xKE5LG5Xd9o',
language: 'en',
name: 'test'
}
};