背景:
语言:Python Libs版本: oauth2client(1.4.6) apiclient(1.0.2)
脚本任务:
1 - 通过帐户“B”搜索与帐户“A”共享的文件
param['pageToken'] = page_token
param['maxResults'] = 1000
param['q'] = "not '%s' in owners and trashed = false" % (account_A_email)
files = service.files().list(**param).execute()
2 - 使用“SignedJwtAssertionCredentials”模拟帐户“B”并将帐户“A”设为所有者
new_permission = {}
new_permission['value'] = account_A_email
new_permission['type'] = 'user'
new_permission['role'] = 'owner'
service.permissions().insert(fileId=file_id, body=new_permission).execute()
# Note: I have tried service.permissions().update() but it did not work
问题:
新权限应用于任何文件后,该文件将显示在帐户“A”根文件夹以及原始位置。此行为类似于云端硬盘用户界面中的“添加到我的云端硬盘”。
知道如何停止“添加到我的云端硬盘”行为吗?
提前致谢,
答案 0 :(得分:3)
好的,我做了以下工作,经过几个小时和一大杯咖啡后工作:)
而不是使用"导致问题":
service.permissions().insert(fileId=file_id, body=new_permission).execute()
使用以下内容:
param_perm['value'] = new_owner
param_perm['type'] = 'user'
param_perm['role'] = 'owner'
service.permissions().update(fileId=file_id,
permissionId=perm_id,
body=param_perm,
transferOwnership=True).execute()
我之前的试用版改变的是permissionId,它是"新所有者"权限ID 不以前的所有者。