微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 GAS 中请求用户读取文件的权限?

如何解决如何在 GAS 中请求用户读取文件的权限?

我正在为表格开发 Google Apps 脚本插件,该插件已针对 drive.file 范围进行了验证。有一次我需要读取当前电子表格的父文件夹,以便我可以在其中创建文件。是否可以在没有 drive.readonly 范围的情况下执行此操作?我可以仅请求用户访问该文件夹吗?如果是这样,我该怎么做?

解决方法

如果您使用的是:
. . . googleapis.com/auth/drive.file
范围,那么您不需要也有 drive.readonly 范围。通过让用户使用 Google 文件/文件夹选择器,插件可以访问特定文件夹。因此,用户需要在代码运行之前使用选择器来访问该文件夹。未经用户授权,加载项无法访问文件夹。

  • 在 Google Cloud Platform 项目中启用 Google Picker API
  • 获取选择器的开发者密钥
  • 将 Google 选择器加载到脚本标记中的 HTML 中: <script src="https://apis.google.com/js/api.js?onload=onApiLoad"></script><!-- This is for the file picker - -->
  • 将您的客户端代码与选择器代码集成。例如。用于打开选择器的按钮
  • 配置选择器设置。为文件夹使用 MIME 类型:view.setMode(google.picker.DocsViewMode.LIST).setMimeTypes('application/vnd.google-apps.folder');
  • 处理选择器的返回值以获取文件夹 ID 并在需要时保存用户首选项。

见:
https://developers.google.com/picker/docs

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。