为什么saveAs从只读文件失败?

时间:2017-02-27 22:08:53

标签: google-drive-realtime-api

我的应用程序使用google realtime API定义自定义文档类型,并包含一项功能,允许您使用API​​ document.saveAs创建文档的副本。其中一个目的是允许用户制作和编辑已与其共享的文档模板的个人副本作为只读文件。我创建了一个新文档,然后使用saveAs将实时文档复制到其中,如下所示:

gapi.client.drive.files.create({
    resource: {
        mimeType: 'application/vnd.google-apps.drive-sdk',
        name: NEWNAME
}).then((response) => {
    MYDOCUMENT.saveAs(response.result.id);
});

这与读写文件完美配合,但如果原始文件是只读的,则它似乎不会将实时文档保存到新文件中。没有报告错误,但生成的新文件为空。

这是一个错误或已知限制,还是我做错了什么?

1 个答案:

答案 0 :(得分:1)

您可以查看Collaborators and sharing,其中说明实时API使用Google云端硬盘manage permissions and sharing

进一步阅读,

  

访问文件&文件夹由访问控制列表(ACL)确定。 ACL是一个权限列表,用于确定用户是否可以对文件执行操作(如读取或写入)。有关权限和角色的其他详细信息,请参阅permissions guide

role使这些用户能够对文件执行某些操作,例如读取它。据我所知,以下是允许的只读操作:

  • 阅读文件或文件夹的元数据(例如名称,描述)
  • 阅读文件内容
  • 阅读文件夹
  • 中的项目列表