gpt4 book ai didi

java - 谷歌表格 API : Setting permissions

转载 作者:行者123 更新时间:2023-12-05 00:38:28 25 4
gpt4 key购买 nike

在我的 Java 应用程序中,我正在创建新的 Google 表格,如下所示:

    Sheets service = new Sheets.Builder(GoogleNetHttpTransport.newTrustedTransport(), JSON_FACTORY, credential)
.setApplicationName(APPLICATION_NAME)
.build();

SpreadsheetProperties properties = new SpreadsheetProperties();
properties.setTitle("Title");

Spreadsheet export = new Spreadsheet();
export.setProperties(properties);

Spreadsheet response = service.spreadsheets().create(export).execute();

这有效,我可以在响应中获取工作表 ID。现在我想知道:
  • 当我使用服务帐户时,我看不到谁将成为创建电子表格的用户。
  • 我想将权限设置为“任何拥有链接的人”,但似乎没有选择。
  • 最佳答案

    当我使用服务帐户时,我看不到谁将成为创建电子表格的用户。

    您可以使用“用户”作为类型,如:

    GoogleCredential credential = new GoogleCredential.Builder().setTransport(HTTP_TRANSPORT).setJsonFactory(JSON_FACTORY)
    .setServiceAccountId(confBean.getServiceAccountId()).setServiceAccountScopes("https://spreadsheets.google.com/feeds")
    .setServiceAccountPrivateKeyFromP12File(new File("path to the P12File"))
    .setServiceAccountUser("user@domain.com")
    .build();

    但这真的取决于你的最终目标。以下是可能的 Types and Values .

    用户 - emailAddress - 用户的电子邮件地址。示例:joe@thecompany.com

    - emailAddress - Google 群组的电子邮件地址。示例:admins@thecompany.com 域-

    - Google Apps 域的域名。示例:thecompany.com 任何人 - 不适用

    任何人 - 权限不需要 emailAddress 或域字段。

    检查这个 SO thread了解更多信息。

    我想将权限设置为“任何拥有链接的人”,但似乎没有选择。

    使用“anyone”作为上面提到的用户类型。然后使用“读者”作为角色。
    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();
    }

    检查这个有用的 SO thread .

    关于java - 谷歌表格 API : Setting permissions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38434401/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com