Google Drive API v3 JavaScript:移动文件

时间:2018-07-22 13:22:48

标签: javascript file google-drive-api move

我正在尝试使用javascript将文件移动到Google云端硬盘中,但操作不成功。

代码使用2个请求

  1. 获取文件的当前父项
  2. 删除以前的父母并添加新的父母。

    newParentId = "1iZV23z7...88YE";
    fileId      = "13rXB34O...xqgD";
    
    // get current parents
    gapi.client.request({
       'path': 'https://www.googleapis.com/drive/v3/files/'+fileId,
       'params' : { 'fields' : "parents" },
       'method': 'GET'
    })
    .then( function( resp ){ changeParents(resp.result.parents);  } )
    .catch( console.log )
    
    function changeParents( previousParents ){
       gapi.client.drive.files.update({
          'fileId': fileId,
          'addParents': newParentId,
          'removeParents': previousParents
       });
    }
    

第一个请求就可以了。删除和添加父母无效。

谢谢。

1 个答案:

答案 0 :(得分:0)

您从第一个请求中获取的“父母”字段是一个字符串数组,但是第二个请求中的“ removeParents”参数应该是一个字符串,其中包含一个逗号分隔的要删除的父母ID列表。

您只需要将toString()添加到previousParents:

function changeParents( previousParents ){
   gapi.client.drive.files.update({
      'fileId': fileId,
      'addParents': newParentId,
      'removeParents': previousParents.toString()
   });
}