Google drive api Google Drive API和组共享问题

Google drive api Google Drive API和组共享问题,google-drive-api,google-groups,google-groups-api,Google Drive Api,Google Groups,Google Groups Api,我在使用谷歌硬盘开发一个应用程序时遇到了一个问题 我有一个谷歌群组,里面有一些用户,我和这个群组共享一个集合。 当我作为该组的用户之一尝试使用Google Drive API(files().list())查找此集合时,该集合会正确显示 但是,如果我向组中添加另一个用户(使用API或Google CPanel),并尝试以该用户的身份使用Google Drive API查找集合,则该集合不会显示,就好像用户即使在允许查看该集合的组中也无法看到它一样 如果通过浏览器手动打开一次集合,则集合将通过驱动

我在使用谷歌硬盘开发一个应用程序时遇到了一个问题

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

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

如果通过浏览器手动打开一次集合,则集合将通过驱动器API显示

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


有什么见解吗?

我打开了一个谷歌支持案例,显然这种行为是“意料之中的”。以下是我与来自 谷歌企业支持(纠正拼写错误并强调):

在回顾stackoverflow问题之后,我们需要向您澄清所显示的行为是预期的。将用户添加到组中时,必须再次添加该组,以便共享该组的所有文件

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

好了,就这样。不确定@Burcu是否会回来确认

情况变得更糟了。根据,拥有200多个成员的组将永远看不到与他们共享的文件,即使您删除并重新添加该组

以下是无用的帖子回复:


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

这不是预期的,你能用
sharedWithMe
查询files.list以查看它是否被列出吗?@burcu dogan似乎sharedWithMe选项只显示与用户直接共享的文件,在我的情况下,它是通过一个组显示的,我已经确认它没有使用此选项显示,无论该组的哪个用户。如果没有这个选项,我又尝试了一次,得出了相同的结论:只有在我在浏览器中打开文件夹一次后,集合才会在API的答案中列出,否则它不会显示。请注意,我正在尝试列出查询其标题的文件,可能是相关的:q=“title='foldername'”我想应该在用户打开文件后看到这些文件被列出。这是一个确认。我说的对吗?在这种情况下:1/如果我们需要依赖用户交互,使用API有什么意义2/当我们第一次与团队共享文件夹时,用户无需打开文件,无需确认,文件会立即与API一起列出。此问题仅适用于后来添加到组中的用户。在我看来,这种行为似乎不一致。@brian,这听起来像个虫子。我在检查这是否是故意的。我感觉到了你的痛苦。我不确定“拥有超过200名成员的团队永远不会看到与他们共享的文件”是不是全部。他们可以查看文件,但不能在“与我共享”下查看。谢谢。我的意思是他们不会在files.list中看到它们。我想在files.get()中添加它们。文件显示正确,因此这种行为似乎只对files.list()有效。对;调用
files.get()
时,您正在通过id访问特定的文件,如果它与您共享,则您可以访问它。人们会认为
files.list()
是用户可以访问的文件的完整列表,但事实并非如此。它似乎是一个手动维护的列表,尽管您需要。试图在这个平台上构建一些东西是非常令人沮丧的。调用
files.list()
很快,但不可靠。重复调用
files.get()
是可靠的,但速度非常慢。经过更多测试后,该文件显示在files.list()中,在父级中带有查询“folderId”,但在标题上有一个查询,例如,没有结果。这是一个真正的一致性问题。