共享驱动器中的驱动器API更新文件

时间:2019-11-18 15:23:17

标签: javascript google-drive-api

我正在尝试使用Google Drive API使用Javascript更新共享驱动器中的文件。这段代码在我的个人驱动器中进行测试时效果很好,但是将其移至团队驱动器时出现错误。我发现我需要添加SupportsAllDrives才能识别文件,但是现在尝试更新时,它返回错误“执行失败:对象不允许添加或更改属性”。乐于发布更多代码,但我感觉我在drive.files.update部分中缺少某些内容以允许它更新共享文件。

同样,它可以在个人驱动器上工作,所以我相信其余代码是正确的,我只是找不到其他方法可以对其进行修改以使其与共享驱动器一起使用。

在此先感谢您的帮助,我找不到太多的文档。

      // Updates file metadata and/or content with the Drive API
         Drive.Files.update({
         title: file.getName(), mimeType: file.getMimeType(), driveId: RESULTS_FOLDER_ID, parents: RESULTS_FOLDER_ID
      }, fileId=file.getId(), body=fileBlob.copyBlob(), file.SupportsAllDrives=true);
    }

1 个答案:

答案 0 :(得分:0)

假设您正在使用似乎正在使用的Google Apps脚本的Advanced Drive Service,则您的请求应如下所示:

.wrap {
    perspective: 800px;
    perspective-origin: 50% 100px;

    align-items: center;
    flex-direction: column;
    display: flex;
}

请注意,Drive.Files.update({ title: file.getName(), mimeType: file.getMimeType(), driveId: RESULTS_FOLDER_ID, parents: RESULTS_FOLDER_ID }, file.getId(), fileBlob.copyBlob(), {supportsAllDrives:true} ); 的定义是(如在IDE的自动完成功能中所示):

  

update(文件资源,字符串fileId,Blob mediaData,Object optionalArgs):文件

在您的情况下,您似乎正在使用Python样式的命名实参,但是在Javascript中没有这种东西。另外,第四个参数必须是一个对象。