Google Drive使用Python中的RESTapi更改文件所有权

时间:2015-05-13 07:36:22

标签: python-2.7 google-api google-drive-api google-api-python-client

我管理用户域,并希望能够将用户的所有文档传输给其他用户。据我所知,实现这一目标的最佳方法是找到属于一个用户的所有文件的fileID,并将它们传输给另一个用户。但是,我在构建查询时遇到问题。

更新:

因此,检索文件列表的正确查询将是:

 response = drive_service.files().list(q="'user@company.com' in owners").execute()

但是,它只适用于我作为管理员。如果我尝试检索域中任何其他用户的文件列表,则返回一个空列表。

2 个答案:

答案 0 :(得分:0)

Files.list将检索所有用户的文件,在这种情况下,它将获取您自己的所有文件。为了使该查询起作用,仅当该用户也是您的一个(或多个)文件的所有者时。

即使作为管理员,您也无法直接访问用户文件。

要访问其他用户的文件,作为管理员,您需要模拟用户,然后代表他们执行操作。

这是通过使用具有域范围授权的service account来实现的。

Here你可以找到关于它的更多信息以及python示例。

希望它有所帮助。

答案 1 :(得分:0)

如果您想将一个用户的所有文件转移到另一个用户的云端硬盘,最简单的方法是使用Google提供的数据传输API。这样您就不必列出文件并逐个传输。此外,您只需要管理员访问令牌,也不需要域范围授权。您可以获得官方文档here