java - Java 中的 Google Sheets API 共享权限

标签 java permissions google-drive-api google-sheets-api google-api-java-client

各位程序员 friend 们大家好: 我正在开发一个 java 程序,它会自动创建具有预定义结构的 Google 电子表格。它就像一个魅力,但我在向其他人授予写入权限时遇到问题。我有一个 Gmail 帐户列表,应该允许在我的电子表格上写入,但我似乎找不到自动授予这些权限的方法。 我尝试在这里遵循这些谷歌指南: https://developers.google.com/drive/api/v2/reference/permissions/insert https://developers.google.com/drive/api/v3/manage-sharing

但它不起作用,因为我没有运行 DriveService,我正在使用 SheetService,并且上面的代码与我的 SheetService 不兼容。

Google SheetsService 没有像 DriveService 那样的权限导入:

no Permission to be imported here

因此,如果有人知道如何解决这个问题,我将非常感激。 如果您需要更多信息,请询问。 谢谢。

最佳答案

Google Drive API 和 Google Sheets API 是两个不同的 API。

Google Drive api 是一个文件存储 api。它只能控制文件本身。它实际上无法编辑它们。

Google Sheets API 使您可以编辑工作表的内容。

为此,您将需要两个服务,一个是 SheetService,用于编辑工作表本身,另一个是 DriveService,用于向工作表添加权限。

Drive driveservice = new Drive.Builder(HTTP_TRANSPORT, JSON_FACTORY, getCredentials(HTTP_TRANSPORT))
            .setApplicationName(APPLICATION_NAME)
            .build();

driveservice 有您需要的权限方法。

Sheets sheetsservice = new Sheets.Builder(HTTP_TRANSPORT, JSON_FACTORY, getCredentials(HTTP_TRANSPORT))
            .setApplicationName(APPLICATION_NAME)
            .build();

sheetsservice 具有访问工作表所需的权限方法。

只需检查范围并确保您有足够的范围来执行驱动器和工作表上所需的操作。

权限需求

关于java - Java 中的 Google Sheets API 共享权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52095403/

相关文章:

java - Java 中的差异、补丁和反向补丁

java - 加载包含生成的 HTML 的 HTML 页面

permissions - Joomla 2.5设置默认ACL权限值

google-apps-script - "Can' t 找到 insertSheet 函数“更新代码以使用高级 Google 服务后出现错误

python - 从哪里开始编写用于将本地目录同步到 Google Drive 的 Python 脚本?

java - Google Drive Java API V2 与 V3

java - 在大型 CSV 中查找行的最简单、最快的方法

java - 为什么等待/通知没有发生在这里?

java - 如何确定已弃用的权限?

node.js - 通过 Facebook Graph Node JS 发布帖子