Google Drive API上传到父文件夹

Dou*_*gie 2 drive google-apps-script google-drive-api

我有一个基于JavaScript的Google Apps脚本,它会遍历云端硬盘中的所有文件并将MS文件转换为Google格式.我正在使用Drive API进行上传和转换.一切似乎工作正常,除非我在Drive子文件夹中有一个文件.当文件上传回驱动器时,我无法定义父文件夹,因此它直接转到根目录.

我有一个父文件夹ID的句柄,但是当我向JSON字符串添加"parents:folderID"时,我看不到上传路径的任何变化.

这是我的上传和转换功能,有没有办法修改这个来定义父文件夹?我完全迷失了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());
Run Code Online (Sandbox Code Playgroud)

mwi*_*but 7

使用API​​的V3,parent参数的格式已经改变(似乎没有在文档中列出,这总是让事情变得有趣).不再将父项添加为{id:}对象.

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);
  }
});
Run Code Online (Sandbox Code Playgroud)

完整文档