Drive API v3 - копирование с родителями - PullRequest
0 голосов
/ 26 мая 2020

Когда я пытаюсь скопировать файл Docs из имеющегося у меня шаблона, я устанавливаю родителей в теле запроса следующим образом:

dummy_id = '17OGNsO6prLwjtaeVbfgQv41ogtrAawDqvPUOSm4B9bk'
target_folder_id = '0ALbScsczry1nUi9PVA'

file_metadata = {
    'name': 'Test Project Quote',
    'parents': [{'id': target_folder_id}]  # This is where you set the target folder
}
test_file = self.drive_service.files().copy(fileId=dummy_id,
                                            body=file_metadata,
                                            supportsAllDrives=True,  # TODO this is deprecated
                                            fields='id,parents').execute()

Однако, похоже, это не создает копию в этой папке, но просто выполняет операцию по умолчанию, создавая копию на том же диске, что и оригинал - она ​​наследует родителей. Странно то, что однажды это действительно срабатывало, но не каждый раз. Что-то явно не так? (Я перепутал идентификаторы)

1 Ответ

1 голос
/ 26 мая 2020

Заменить

'parents': [{'id': target_folder_id}]

на

'parents': [target_folder_id]

Переменная parents ожидает просто массив из 1 или нескольких родительских идентификаторов (разделенных запятыми), а не объект значения ключа.

...