2

我在使用 Google Drive 开发的应用程序时遇到问题。

我有一个 Google 组,里面有一些用户,我与这个组共享一个集合。当我尝试使用 Google Drive API (files().list()) 查找此集合时,作为该组的用户之一,该集合正确显示。

但是,如果我将另一个用户添加到组中(使用 API 或 Google CPanel),并尝试以该用户身份使用 Google Drive API 查找集合,则集合不会显示,就好像用户无法看到一样即使他在一个允许查看该集合的组中。

如果我通过浏览器手动打开收藏集,则收藏集将通过 Drive API 显示。

这是正常行为吗?在我的用例中,我不能期望用户在他们的浏览器中打开与他们共享的每个集合以使应用程序正常工作。

有什么见解吗?

4

1 回答 1

5

我为此打开了一个 Google 支持案例,显然这种行为是“预期的”。 以下是我与 Google Enterprise Support 的“Angel”交流的部分摘录(已纠正错字并强调我的):

在查看了 stackoverflow 问题后,我们需要向您说明所显示的行为是预期的。将用户添加到组时,必须为已与之共享的任何文件再次添加该组。

之前提供的所有信息均来自 Drive UI 的内部文档;但是 SDK 的功能是相同的,因此,必须删除组并在添加新成员后将组重新添加到有权访问文件/文件夹的用户列表中。

所以你有它。不确定@Burcu 是否会回来确认。

<编辑> 它变得更糟。根据这份 Google 文档,拥有超过 200 名成员的群组永远不会看到与他们共享的文件,即使您删除并重新添加群组也是如此。</编辑>

无用的回答后咆哮如下:

这种行为,即使是谷歌“预期的”,似乎也没有正确记录,服务的客户既不预期也不可用。我们应该如何知道用户何时被添加到与其共享项目的组中?我们是否应该持续监控群组成员资格并维护与群组共享的所有内容的列表,然后在成员资格更改时*重新*与群组共享它们,以获得一致的行为?这让我想知道为什么谷歌还没有在后端这样做;向在成员资格更改时触发的组注册回调列表不会那么昂贵。而我们实际上取消分享的要求更加离奇,组中的任何人都无法访问该资源

于 2013-11-06T17:49:39.950 回答