【问题标题】:Issue with Google Drive API and group sharingGoogle Drive API 和群组共享问题
【发布时间】:2013-06-03 18:54:37
【问题描述】:

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

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

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

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

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

有什么见解吗?

【问题讨论】:

  • 这不是预期的,您可以使用 sharedWithMe 查询 files.list 以查看它是否被列出?
  • @burcu-dogan 似乎 sharedWithMe 选项仅显示与用户直接共享的文件,在我的情况下,它是通过一个组,我已经确认它没有显示这个选项,无论用户该组的。如果没有该选项,我再次尝试并得出相同的结论:只有在我在浏览器中打开文件夹后,该集合才会在 API 的答案中列出,否则不会显示。请注意,我正在尝试列出查询其标题的文件,也许它是相关的:q="title ='foldername'"
  • 我认为应该在用户打开文件后看到它们。这是一个确认。我说的对吗?
  • 在这种情况下: 1/ 如果我们需要依赖用户交互,那么拥有 API 有什么意义 2/ 当我们第一次与组共享文件夹时,用户不需要打开文件,无需确认,文件立即通过 API 列出。该问题仅发生在之后添加到该组的用户身上。这种行为对我来说似乎不一致。
  • @brian,这听起来像是一个错误。我正在检查这是否是故意的。

标签: google-drive-api google-groups google-groups-api


【解决方案1】:

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

查看 stackoverflow 问题后,我们需要向您说明所显示的行为是预期的。将用户添加到组时,必须重新添加此组,以用于已与之共享的所有文件。

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

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

情况变得更糟。根据this Google document 的说法,成员超过 200 人的群组永远不会看到与他们共享的文件,即使您删除并重新添加群组也是如此。 编辑>

下面是无用的回答后咆哮:

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

【讨论】:

  • 我感受到你的痛苦。我不确定“超过 200 名成员的群组永远不会看到与他们共享的文件”是否完整。他们可以看到文件,但不能在“与我共享”下看到。
  • 谢谢。我的意思是他们不会在 files.list 中看到它们。
  • 我想在 files.get() 中添加该文件正确显示的内容,因此这种行为似乎仅对 files.list() 有效。
  • 对;当您致电 files.get() 时,您正在通过 id 访问特定文件,如果它与您共享,那么您可以访问它。有人会认为files.list() 将是用户可以访问的文件的完整列表,但事实并非如此。它似乎是一个手动维护的列表,虽然你don't necessarily have the tools to manage it。试图在这个平台上实际构建一些东西是非常令人沮丧的。调用files.list() 速度很快,但不可靠。反复调用files.get() 可靠但速度很慢。
  • 经过更多测试后,该文件显示在 files.list() 中,父项中的查询为“folderId”,但查询标题例如,没有结果。那里有真正的一致性问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多