【问题标题】:Google Drive Change File Ownership Using RESTapi in Python在 Python 中使用 REST api 更改文件所有权
【发布时间】:2015-05-13 07:36:21
【问题描述】:
我管理一个用户域,并希望能够将一个用户的所有文档转移给另一个用户。据我了解,实现这一目标的最佳方法是找到属于一个用户的所有文件的 fileID 并将它们传输给另一个用户。但是,我在构建查询时遇到问题。
更新:
所以检索文件列表的正确查询是:
response = drive_service.files().list(q="'user@company.com' in owners").execute()
但是,它只对我作为管理员有效。如果我尝试为我的域中的任何其他用户检索文件列表,它会返回一个空列表。
【问题讨论】:
标签:
python-2.7
google-api
google-drive-api
google-api-python-client
【解决方案1】:
Files.list 将检索所有用户的文件,在这种情况下,它将获取您自己的所有文件。只有当该用户也是您文件的一个(或多个)所有者时,该查询才能起作用。
即使是管理员,您也无法直接访问用户文件。
要访问其他用户的文件,作为管理员,您需要模拟用户,然后代表他们执行操作。
这是通过使用具有域范围授权的service account 来实现的。
Here 你可以找到更多相关信息以及 python 示例。
希望对你有帮助。
【解决方案2】:
如果您想将一位用户的所有文件传输到另一位用户的云端硬盘,最简单的方法是使用 Google 提供的数据传输 API。这样您就不必列出文件并一一传输。此外,您只需要管理员访问令牌,也不需要域范围的委派。可以获取官方文档here