python - 有没有办法通过 Python 批量编辑用户权限/与数百个 Google 表格交互?
问题描述
我有大约 600 个谷歌表格,它们都非常相似,我需要从一个特定的列中获取值。我已经在 Google Developer 控制台中对应用进行了身份验证,因此我可以访问一张工作表。但是要这样做,我必须从工作表本身内部访问服务帐户。该服务帐户无权访问其他 599 张工作表,我宁愿不通过手动授予它访问每张工作表的权限。
有没有人有更好的方法来做到这一点,或者通过验证所有工作表的服务帐户,或者通过 python 访问数百个谷歌工作表的更好方法,这并不意味着我必须许可该帐户?如果有帮助,我的谷歌帐户可以访问所有工作表。
有一个谷歌,但无法弄清楚如何做到这一点!任何帮助表示赞赏。
解决方案
您可以使用Permissions: create in Drive API 根据您的首选角色为特定文件创建新权限。
通过 API 资源管理器的示例请求:
FileId:要在其中添加新权限的工作表文件 ID
{
"role": "writer",
"type": "user",
"emailAddress": "serviceaccount@email.com"
}
有关要使用的角色的更详细说明,请参阅此处。
由于您的 Google 帐户可以访问所有工作表,因此您只需获取所有工作表文件 id 的列表并循环每个 id 以使用您的 Google 帐户为您的服务帐户创建新权限。
附加参考:
推荐阅读
- php - 当laravel中存在文件异常时,无法执行catch块内的代码
- java - 在 Java 中传递和获取数组值时出错
- python - 打开电子邮件窗口以允许物理输入
- javascript - Javascript迭代嵌套循环并返回特定值
- node.js - 使用 Windows 上的构建工具升级到 Node 11.1 后的 node-sass 大小
- ruby - 通过传递另一个名称作为控制台参数 ruby 来运行 ruby 文件
- python - 使用 Jinja2 嵌套 For 循环从连接表中迭代数据
- ruby - 在 Watir 的表单内滚动
- django - 了解 Django 和 Django FormView
- nativescript - NativeScript Vue Frame navigateTo 不导航