我正在使用Google Drive API V3通过Node.js和google-api-nodejs-client v12.0.0 (http://google.github.io/google-api-nodejs-client/)管理我的Google Drive
当我尝试创建一个简单的文本/纯文本文档时,一切工作正常。但是当我尝试创建一个Google文档时,Google Drive API返回了一个400错误消息"Bad Request“。
/**
* Create file on Google Drive
* https://developers.google.com/drive/v3/reference/files/create
*/
CreateFile: (googleapi, oauth2Client, fileName, fileContent, fileType) => {
const DRIVE = googleapi.drive({ version: 'v3', auth: oauth2Client });
return new Promise((resolve, reject) => {
console.log('fileType:',fileType);
DRIVE.files.create({
resource: {
name: fileName,
mimeType: fileType
},
media: {
mimeType: fileType,
body: fileContent
}
}, (err, result) => {
if( err ) {
reject(err);
}
else {
resolve(result);
}
});
});当变量"fileType“的值为”文本/纯文本“时,一切正常。但是当我将"application/vnd.google-apps.document“赋给该值时,我得到了一个400错误。
一些解决方案?:)
发布于 2016-08-02 15:32:30
在Drive接口的documentation中,error 400: Bad Request可能表示未提供必填字段或参数,或者提供的值无效,或者提供的字段组合无效。
尝试将重复的父项添加到Drive项时可能会引发此错误。它也可以在尝试添加将在目录图中创建循环的父级时抛出。
{
"error": {
"errors": [
{
"domain": "global",
"reason": "badRequest",
"message": "Bad Request"
}
],
"code": 400,
"message": "Bad Request"
}
}因此,在本例中,您在字段或参数中提供的值是无效的。
请查看此SO问题和一些文档以了解有关您的问题的更多信息。
发布于 2016-09-22 19:00:13
也许它对你有帮助,我正在使用Google Drive API的V4
var fileMetadata = {
'name': 'Project plan',
'mimeType': 'application/vnd.google-apps.document'
};
drive.files.create({
resource: fileMetadata,
fields: '*',
auth: jwtClient
}, function (err, file) {
if (err) {
return global.triggerError(req, res, err);
}
drive.permissions.create({
resource: {
'type': 'anyone',
'role': 'writer'
},
fileId: file.id,
fields: 'id',
auth: jwtClient
}, function (err, permission) {
if (err) {
return global.triggerError(req, res, err);
}
callback(file);
});
});发布于 2019-08-25 20:31:35
您需要使用不同的mime类型:
{
requestBody: {
...
mimeType: 'application/vnd.google-apps.document',
},
media: {
...
mimeType: 'text/html', // or text/plain
}
}https://stackoverflow.com/questions/38703265
复制相似问题