我正在尝试转移当前属于我的 Google 文档,并将其移至另一个用户的 Google 云端硬盘的根目录。两个帐户都位于同一域中,我使用服务帐户来访问所有用户。
起初我尝试通过修改权限来做到这一点。这将使第二个用户能够访问该文件,但不会将其放入其驱动器的根目录或其他任何位置。如果用户想看到它,他们就必须进行搜索。
然后我发现一些信息提到使用文件服务的补丁方法来更改文件的元数据,从而启动传输,但这并没有起作用。
我唯一确定的是属于我自己和我想要将文件传输到的用户的根文件夹的 ID。这是我尝试做的但失败了。
# Note: "service" is the connection to the domain service account
service.files().patch(fileId='FILE_ID_GOES_HERE',
body={'parents':[{'isRoot':True,'kind':'drive#parentReference','id':'user_two_root_folder_id'}]},
removeParents=['user_one_root_folder_id'],
addParents=['user_two_root_folder_id'])
我无法判断是否有任何问题,因为我没有收到任何错误消息。
任何有关如何解决此问题的想法将不胜感激。
好吧,我明白了。看来我只是使用了错误的 API。您必须首先插入新权限,然后必须删除旧权限。这会将文件发送到新用户的云端硬盘的根目录。
# Insert new permission first
new_permission = {
'value': '[email protected] /cdn-cgi/l/email-protection',
'type': 'user',
'role': 'owner'
}
run_new_permission = service.permissions().insert(fileId='FILE_ID_GOES_HERE',body=new_permission).execute()
# Then delete old permission
service.permissions().delete(fileId='FILE_ID_GOES_HERE', permissionId='PERMISSION_ID_GOES_HERE').execute()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)