我使用Python 2.7和service account将Google云端硬盘中的文件复制到另一个文件夹中,并根据它的标题进行复制。这需要我执行五(5!)个命令:使用Google Drive API将文件复制到特定的父文件夹中?
- 按标题查找文件ID。按标题(
files().list
) - 查找父文件夹ID(
files().list
) - 复制文件(
files().copy
) - 所有权转让给一个真实帐户(
files().insert
) - 移动到父文件夹。 (
parents().insert
)
这一切工作,但我想,以减少呼叫的数量和第一,这意味着高速缓存的ID,所以我没有打电话给files().list
做。我试图做的下一件事情,特别是我在处理这个问题时,是如何在files().copy
命令中设置父文件夹。该文档有一个可选的parents
参数,如下所示:
收集包含此文件的父文件夹。设置此字段将把文件放入所有提供的文件夹中。在插入时,如果没有提供文件夹,文件将被放置在默认的根文件夹中。
虽然不说,我知道这意味着父母ID的因为这就是用于其他地方。但是,在客户端库中设置此数组不会产生任何效果:没有错误,并且该文件绝对不在正确的文件夹中。
newfile = {'title': newtitle, 'parents' : [ parentFolderId ]}
service.files().copy(fileId=originalId, body=newfile).execute()
有没有人有过运气with this?还有什么我失踪?
红利:转让复制命令中的所有权?也许我的服务帐户可能冒充我?
+1好抓!这只是从一些麻烦救了我:) –
如果有子文件夹那么我能做什么? –