下面是我从我的 chrome 扩展运行的代码,用于在 YT 上上传视频。但是得到这个奇怪的错误"message": "Request contains an invalid argument.",
注意:以前我使用的是 google drive API,它工作得很好。
var superBuffer = new Blob(recordedBlobs, {
type: 'video/mp4',
});
var metadata = {
"snippet": {
"categoryId": "22",
"description": "Description of uploaded video.",
"title": "Test video upload."
},
"status": {
"privacyStatus": "private"
}
}
var form = new FormData();
form.append('metadata', new Blob([JSON.stringify(metadata)], { type: 'application/json' }));
form.append('file', superBuffer);
var xhrDriveRequest = new XMLHttpRequest();
xhrDriveRequest.open('POST', 'https://youtube.googleapis.com/youtube/v3/videos?part=snippet' + encodeURIComponent(',') + 'status');
xhrDriveRequest.setRequestHeader('Authorization', 'Bearer ' + token);
xhrDriveRequest.responseType = 'json';
xhrDriveRequest.send(JSON.stringify(form));
回复
{
"error": {
"code": 400,
"message": "Request contains an invalid argument.",
"errors": [
{
"message": "Request contains an invalid argument.",
"domain": "global",
"reason": "badRequest"
}
],
"status": "INVALID_ARGUMENT"
}
}
让我知道所需的任何进一步信息。
编辑:我在邮递员上采用相同的方法 - 但得到相同的错误响应。