转移用户谷歌硬盘中所有文件的所有权 - 使用google-api-java-client和Drive SDK

时间:2013-05-06 17:10:31

标签: google-drive-api file-permissions google-api-java-client file-sharing

我们有一个谷歌公司帐户,并且在某些情况下需要将所有用户的谷歌驱动器文件转移到另一个帐户。我们希望执行以下链接中针对“所有文件”所描述的内容,但以编程方式通过最新的Drive API http://support.google.com/a/bin/answer.py?hl=en&answer=1247799

进行编程

我们目前正在使用以下API版本,加上https://developers.google.com/drive/delegation所述的域范围权限委派,并且能够查看用户的文件,迭代它们等。

  • google-api-services-drive 1.14.2-beta
  • google-api-client 1.14.1-beta

我的问题是:看来改变权限的唯一方法是fileId by fileId等。如果我们只想转移所有用户的文件,而不必遍历和遍历整个用户文件集。对于另一个特定用户: API是否有办法执行此操作(所有文件的所有权转移)而不是单个请求文件/按文件?

此外,当转移ownerssp时,受让人必须在同一个@domain中,还是我们管理的另一个@domain?我在某处读到只能转移到相同的所有者域即可。这仍然适用吗?例如,我们管理@ myCompany.com并在其下注册我们的公司帐户,但该shell帐户中有多个子域。我们希望将子域中用户的文件传输到@myCompany域中的中央用户。

4 个答案:

答案 0 :(得分:5)

您需要逐个文件更改权限,目前没有updateAll类型的功能。

您无法将所有权转让给其他域的用户。所有权只能转移到与当前所有者相同的域中的其他用户。

答案 1 :(得分:4)

此答案并未直接回答您的问题,但对您和未来的访问者都有帮助。

截至目前,您可以使用Google的新管理控制台将文件传输给新用户。它不允许您过滤特定文件夹,但它允许您将所有用户的Drive文件传输给第二个用户。

我知道你正在尝试创建一些使用API​​迭代文件夹和文件的东西,你可能会考虑一个非常具体的用例。但是,如果您有员工离职,或者您需要转移所有内容,使用以下方法快速而简单。

  1. 打开Goog​​le管理控制台
  2. 转到Google Apps>驱动
  3. 点击“转让所有权”
  4. 填写两个用户字段并提交
  5. 此过程甚至会在完成此过程后向两位用户发送电子邮件。

答案 2 :(得分:0)

只需拨打Data Transfer API

即可完成此操作

答案 3 :(得分:-3)

正是需要的,但仅限API!

  1. 打开Goog​​le管理控制台
  2. 转到Google Apps>驱动
  3. 点击“转让所有权”
  4. 填写两个用户字段并提交
  5. 此过程甚至会在完成此过程后向两位用户发送电子邮件。
  6. 如果通过API调用无法实现这一点,则无需使用API​​删除用户。