Google电子表格创建了一个新的工作表,所有用户都拥有链接的权限

时间:2018-07-21 15:32:42

标签: java android google-sheets google-sheets-api

我尝试使用Google Sheet API v4创建新的表格。我创建成功。但是,我发现工作表正在设置,因为我是唯一可以访问的人。我的目标是允许具有URL链接的用户可以访问Java请求中的工作表。

在创建电子表格时,我尝试将google凭据设置为null,但它用于在云端硬盘中创建电子表格。因此,这是行不通的。 我浏览了它的库类和api,但是找不到与该权限有关的任何内容。

我不确定我创建电子表格的方式是否正确。这是我的代码:

map2

1 个答案:

答案 0 :(得分:1)

正如@tehhowch所说,该权限应通过Drive API处理。这只是更新答案。

private void updateProperty(com.google.api.services.drive.Drive driveService, String fileId, String email) throws IOException {
    BatchRequest batch = driveService.batch();
    Permission clientPermission = new Permission();
    clientPermission.setEmailAddress(email);
    clientPermission.setRole("writer");
    clientPermission.setType("user");
    driveService.permissions().create(fileId, clientPermission)
            .setFields("id")
            .setSendNotificationEmail(true)
            .queue(batch, new JsonBatchCallback() {
                @Override
                public void onSuccess(Object o, HttpHeaders responseHeaders) throws IOException {
                    Log.e("permissione success", String.valueOf(o));
                    listener.onRecvShareSpreadsheet(true);
                }

                @Override
                public void onFailure(GoogleJsonError e, HttpHeaders responseHeaders) throws IOException {
                    Log.e("permissione error", e.getMessage());
                    listener.onRecvShareSpreadsheet(false);
                }
            });
    batch.execute();
}

ref:Google api permission