Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google Sheets API在Java中共享权限_Java_Permissions_Google Drive Api_Google Sheets Api_Google Api Java Client - Fatal编程技术网

Google Sheets API在Java中共享权限

Google Sheets API在Java中共享权限,java,permissions,google-drive-api,google-sheets-api,google-api-java-client,Java,Permissions,Google Drive Api,Google Sheets Api,Google Api Java Client,大家好,我的程序员们, 我正在开发一个java程序,它可以自动创建一个具有预定义结构的Google电子表格。它就像一个符咒,但我有一个问题,给予其他人的写作权限。我有一个gmail帐户列表,应该允许在我的电子表格上写,但我似乎找不到一种方法来自动授予这些权限。 我试着在这里遵循这些谷歌指南: 但它不起作用,因为我没有运行DriveService,我使用的是SheetService,上面的代码与我的SheetService不兼容 google SheetsService不像DriveServic

大家好,我的程序员们, 我正在开发一个java程序,它可以自动创建一个具有预定义结构的Google电子表格。它就像一个符咒,但我有一个问题,给予其他人的写作权限。我有一个gmail帐户列表,应该允许在我的电子表格上写,但我似乎找不到一种方法来自动授予这些权限。 我试着在这里遵循这些谷歌指南:

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

google SheetsService不像DriveService那样具有权限导入:

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

Google drive api和Google sheets api是两种不同的api

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

GoogleSheetsAPI允许您编辑工作表的内容

为此,您需要两个服务,一个是用于编辑图纸本身的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具有访问图纸所需的权限和方法

只需检查作用域,确保您有足够的作用域在驱动器和工作表上执行所需的操作

权限需要


我认为控制(非谷歌)文件的字节内容是编辑它们的一种方式;)@我认为这是一个我从未尝试过的疯狂想法。现在我必须试试。似乎我的权限仍然有问题,我尝试了不同的作用域,但每次它说权限不足,现在我使用的是DriveScopes.DRIVE,DriveScopes.DRIVE\u文件,SheetsScopes.SPREADSHEETSDriveScopes.DRIVE应该允许您访问驱动器和工作表,请记住,您需要重新授权您的用户以获取新的数据scopes@TGenc如果要更改应用程序的作用域,则需要删除任何已保存的用户访问/刷新令牌,因为它们通常对新作用域无效。