各位程序员 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/