所以我希望能够创建一个工作表,用一些数据填充它,并创建一个用于输入的列,但我想保护所有其他单元格。我正在使用Java / eclipse来运行API。
我遇到的问题似乎是某种错误。当我打开文档时,它通知我,我(所有者)是唯一可以编辑范围的人,但是当登录到隐身窗口时,它会指出"您和另一个用户可以编辑此工作表&#34 ;。任何有链接的人都可以编辑文档中的任何单元格,尽管它声明" Sheet1除了A1:A18"在受保护的范围内。
奇怪的是我也注意到了,如果我作为所有者进入受保护的范围,请点击我生成的范围,然后点击权限 - >完成后,它最终确定了它应该如何表现的范围。问题在于最终产品我不能手动进入这些文件。
我要进入的顺序是: 创建文件 - >添加数据 - >设置不受保护的范围 - >任何有链接的人都可以设置视图。
添加范围之后,它会在工作表本身上查看我自己添加它的确切方式,但它的行为方式并不相同。有没有人对这个过程有任何好运?我在下面列出了我对受保护范围的请求。
如果您需要更多信息,我会尽快回复。
public Request unProtectRange(String id, GridRange range) {
List<GridRange> grids = new ArrayList<GridRange>();
grids.add(range);
return new Request()
.setAddProtectedRange(new AddProtectedRangeRequest()
.setProtectedRange(new ProtectedRange()
.setRequestingUserCanEdit(false)
.setRange(new GridRange())
.setUnprotectedRanges(grids)));
}
答案 0 :(得分:1)
这里有一些问题。根据{{3}}文档...
requestingUserCanEdit
字段是只读的,因此设置无影响。 editors
字段,因此受保护范围实际上未受到保护。它默认使用与电子表格本身相同的访问控制。您必须将编辑器设置为有效的ProtectedRange对象。