Google 驱动器 API 上传到父文件夹
Google Drive API Upload to Parent Folder
我有一个基于 JavaScript 的 Google Apps 脚本,它遍历 Drive 中的所有文件并将 MS 文件转换为 Google 格式。我正在使用 Drive API 上传和转换。一切似乎都正常,除非我在 Drive 子文件夹中有一个文件。当文件上传回 Drive 时,我无法定义父文件夹,因此它直接进入根目录。
我有父文件夹 ID 的句柄,但是当我将 "parents : folderID" 添加到 JSON 字符串时,我没有看到上传路径有任何变化。
这是我的上传和转换功能,有没有办法修改它来定义父文件夹?我完全迷失了 API...有人可以帮忙吗?
var uploadFile = JSON.parse(
UrlFetchApp.fetch("https://www.googleapis.com/upload/drive/v2/files?uploadType=media&convert=true",
{
method: "POST",
contentType: officeFile.getMimeType(),
payload: officeFile.getBlob().getBytes(),
parents: ['id' : folderID], <<<<<<<<<<<<<<<<< this line
headers: {
"Authorization" : "Bearer " + ScriptApp.getOAuthToken()
},
muteHttpExceptions: true
}).getContentText());
在 API 的 V3 中,parents 参数的格式已经改变(似乎没有列在文档中,这总是让事情变得有趣)。 Parents 不再添加为 {id:} objects.
var folderId = '0BwwA4oUTeiV1TGRPeTVjaWRDY1E';
var fileMetadata = {
'name': 'photo.jpg',
'parents': [ folderId ]
};
var media = {
mimeType: 'image/jpeg',
body: fs.createReadStream('files/photo.jpg')
};
drive.files.create({
resource: fileMetadata,
media: media,
fields: 'id'
}, function(err, file) {
if(err) {
// Handle error
console.log(err);
} else {
console.log('File Id: ', file.id);
}
});
我将 v2 API 与 curl 一起使用,并通过编写具有以下格式的元 json 文件成功上传了父文件夹中的文件。
{
"title": "35_20190702.csv",
"mimeType": "text/csv",
"description": "Uploaded From Curl",
"parents": [
{
"kind": "drive#parentReference",
"id": ${FOLDER_ID}
}
]
}
我有一个基于 JavaScript 的 Google Apps 脚本,它遍历 Drive 中的所有文件并将 MS 文件转换为 Google 格式。我正在使用 Drive API 上传和转换。一切似乎都正常,除非我在 Drive 子文件夹中有一个文件。当文件上传回 Drive 时,我无法定义父文件夹,因此它直接进入根目录。
我有父文件夹 ID 的句柄,但是当我将 "parents : folderID" 添加到 JSON 字符串时,我没有看到上传路径有任何变化。
这是我的上传和转换功能,有没有办法修改它来定义父文件夹?我完全迷失了 API...有人可以帮忙吗?
var uploadFile = JSON.parse(
UrlFetchApp.fetch("https://www.googleapis.com/upload/drive/v2/files?uploadType=media&convert=true",
{
method: "POST",
contentType: officeFile.getMimeType(),
payload: officeFile.getBlob().getBytes(),
parents: ['id' : folderID], <<<<<<<<<<<<<<<<< this line
headers: {
"Authorization" : "Bearer " + ScriptApp.getOAuthToken()
},
muteHttpExceptions: true
}).getContentText());
在 API 的 V3 中,parents 参数的格式已经改变(似乎没有列在文档中,这总是让事情变得有趣)。 Parents 不再添加为 {id:} objects.
var folderId = '0BwwA4oUTeiV1TGRPeTVjaWRDY1E';
var fileMetadata = {
'name': 'photo.jpg',
'parents': [ folderId ]
};
var media = {
mimeType: 'image/jpeg',
body: fs.createReadStream('files/photo.jpg')
};
drive.files.create({
resource: fileMetadata,
media: media,
fields: 'id'
}, function(err, file) {
if(err) {
// Handle error
console.log(err);
} else {
console.log('File Id: ', file.id);
}
});
我将 v2 API 与 curl 一起使用,并通过编写具有以下格式的元 json 文件成功上传了父文件夹中的文件。
{
"title": "35_20190702.csv",
"mimeType": "text/csv",
"description": "Uploaded From Curl",
"parents": [
{
"kind": "drive#parentReference",
"id": ${FOLDER_ID}
}
]
}