无法访问通过 Google 电子表格 API 通过服务帐户创建的工作表

Posted

技术标签:

【中文标题】无法访问通过 Google 电子表格 API 通过服务帐户创建的工作表【英文标题】:Unable to access sheet created through service account by Google spreadsheet API 【发布时间】:2017-09-18 04:51:13 【问题描述】:

您好,我使用带有服务帐户凭据(使用服务令牌)的 google 电子表格 API 创建了一个电子表格。问题是该工作表是在我无法访问的服务帐户中创建的。那么如何将工作表公开?有没有办法使用其 URL 公开工作表?谢谢

【问题讨论】:

【参考方案1】:

为了管理驱动器文件(电子表格、文档等)的权限,您将使用 Permissions.create 将类型设置为“任何人”。 代码实现示例可以查看SO post。

private Permission insertPermission(Drive service, String fileId) throws Exception
   Permission newPermission = new Permission();
   newPermission.setType("anyone");
   newPermission.setRole("reader");
   newPermission.setValue("");
   newPermission.setWithLink(true);
   return service.permissions().insert(fileId, newPermission).execute();

【讨论】:

以上是关于无法访问通过 Google 电子表格 API 通过服务帐户创建的工作表的主要内容,如果未能解决你的问题,请参考以下文章

无需身份验证令牌即可访问 Google 电子表格 API

通过 Google Drive API 从本地 CSV 文件创建 Google Drive 电子表格

在 Google Drive 中使用 Google Spreadsheets API 创建电子表格

如何每月使用导入数据自动更新 Google 电子表格?

无需 Oauth 令牌即可访问 Google 电子表格 API

仅通过 Google Apps 脚本值修改 Google 电子表格