我管理用户域,并希望能够将用户的所有文档传输给其他用户。据我所知,实现这一目标的最佳方法是找到属于一个用户的所有文件的fileID,并将它们传输给另一个用户。但是,我在构建查询时遇到问题。
更新:
因此,检索文件列表的正确查询将是:
response = drive_service.files().list(q="'user@company.com' in owners").execute()
但是,它只适用于我作为管理员。如果我尝试检索域中任何其他用户的文件列表,则返回一个空列表。
答案 0 :(得分:0)
Files.list将检索所有用户的文件,在这种情况下,它将获取您自己的所有文件。为了使该查询起作用,仅当该用户也是您的一个(或多个)文件的所有者时。
即使作为管理员,您也无法直接访问用户文件。
要访问其他用户的文件,作为管理员,您需要模拟用户,然后代表他们执行操作。
这是通过使用具有域范围授权的service account来实现的。
Here你可以找到关于它的更多信息以及python示例。
希望它有所帮助。
答案 1 :(得分:0)
如果您想将一个用户的所有文件转移到另一个用户的云端硬盘,最简单的方法是使用Google提供的数据传输API。这样您就不必列出文件并逐个传输。此外,您只需要管理员访问令牌,也不需要域范围授权。您可以获得官方文档here