javascript - 谷歌驱动器 API v3 javascript : moving files

标签 javascript file google-drive-api move

我尝试在我的 Google 云端硬盘中使用 javascript move 文件,但没有成功。

代码使用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
       });
    }
    

只要第一个请求就可以了。删除和添加 parent 不起作用。

提前谢谢你。

最佳答案

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

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

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

关于javascript - 谷歌驱动器 API v3 javascript : moving files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51465538/

相关文章:

javascript - 变量持有样式值无法更改

Javascript - 进度条值不随选择而改变

javascript - 表格出现在我的下拉菜单前面

c++ - 为什么 fflush() 需要不同的时间来刷新同一条数据

java - 如何从字节中提取 Mime 类型 []

linux - grep/sed 在一个目录下复制两个相同的文件名

javascript - 将文件上传到状态 200 的 Google Drive API,但该文件在哪里?

javascript - 如何使用 Google Drive 的 api 打开文件?

go - 如何使用 Go 接口(interface)来测试 Google API Golang 库?

javascript - 如何自定义 FirebaseUI-Web 的主题