更改Google驱动器文件的所有权不起作用 - 此文件的权限不足

时间:2015-12-03 22:55:53

标签: google-api-python-client

作为Google驱动程序用户(使用我的Gmail帐户),我想将上传文件的所有权转让给其他用户(使用他们的Gmail帐户)。

我找到了这个方便的工具:https://github.com/davidstrauss/google-drive-recursive-ownership,可以进行此调用:

service.permissions().update(fileId=drive_item['id'], 
    permissionId=permission_id, body=permission, transferOwnership=True).execute()

我已验证fileId是否正确,且permission_id是否正确,以及作为正文传入的权限对象。

代码似乎很好,并且它对谷歌驱动器“本机”文件(如谷歌文档和电子表格)运行良好。

但是,当针对上传的PDF运行时,会发生以下错误:

<HttpError 403 when requesting https://www.googleapis.com/drive/v2/files/0Bxz4bvKt4QekTWlUUHg0XzUydTa/permissions/18055737357773114524
    ?transferOwnership=true&alt=json returned "Insufficient permissions for this file">

在使用“更新”方法但更改上传文件(如PDF和docx文件)的所有权时,有关更改“原生”Google云端硬盘驱动器文件所有权的原因的任何想法都没有?

2 个答案:

答案 0 :(得分:7)

更改Google云端硬盘中非Google文档的所有权只能通过Google Apps帐户进行,而不是使用常规Google帐户。

因此,为了让您的脚本正常运行,您需要使用Google Apps帐户进行身份验证,或者下面有一些混乱的解决方法;

https://productforums.google.com/forum/#!topic/drive/Hz1uUukwKmk https://productforums.google.com/forum/#!topic/drive/VPhNE_HkGLs

答案 1 :(得分:2)

检查是否是阻止标记问题。右键单击并选择共享并尝试查看是否阻止您向其他人进行任何进一步的共享。与某人共享的文件与共享对象的人无法共享,然后您将获得不足的权限错误。