Google 工作表 API 在 Java 中的共享权限

Google Sheets API sharing permissions in Java

各位程序员大家好, 我正在开发一个 java 程序,它会自动创建一个具有预定义结构的 Google 电子表格。它就像一个魅力,但我在向其他人授予写入权限时遇到问题。我有一个应该允许在我的电子表格上写入的 gmail 帐户列表,但我似乎无法找到自动授予这些权限的方法。 我在这里尝试遵循这些 google 指南: 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 驱动器 api 和 google sheets api 是两个不同的 apis。

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

Google sheets api 允许您编辑 sheet 的内容。

为此,您将需要两项服务,一项是用于编辑 sheet 本身的 SheetService,另一项是用于向 sheet 添加权限的 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();

sheets 服务具有访问 sheets 所需的权限方法。

只需检查示波器并确保您有足够的示波器来执行驱动器和 sheets 上所需的操作。

需要权限