我管理一个用户域,并希望能够将用户的所有文档传输到另一个用户。据我了解,实现这一目标的最佳方法是找到一个属于一个用户的文件的文件ID并将其传输到另一个用户。但是,我在构建查询时遇到问题。
更新:
所以检索文件列表的正确查询将是:
response = drive_service.files().list(q="'user@company.com' in owners").execute()
但是,它仅适用于我作为管理员。如果我尝试检索我域中任何其他用户的文件列表,它将返回一个空列表。
files.list将检索所有用户的文件,在这种情况下,它将获取您自己的所有文件。为了使该查询工作,只有当该用户也是所有文件中的一个(或更多)时。
即使作为管理员,您也无法直接访问用户文件。
要访问其他用户的文件,作为管理员,您需要模仿用户,然后代表他们执行操作。
这是通过使用域名广泛授权的服务帐户来实现的。
在这里,您可以找到有关此的更多信息以及python示例。
希望它有帮助。
如果要将一个用户的所有文件传输到另一个用户的驱动器中,则最简单的方法是使用Google提供的数据传输API。这样,您就不必列出文件并接一个地传输它们。另外,您只需要管理员访问令牌,也不需要域名范围的委托。您可以在此处获取官方文档