Вставка разрешений в файл Google Диска с помощью PyDrive - PullRequest
0 голосов
/ 27 марта 2020

Я использую PyDrive для создания файла Google Sheets на общедоступном диске Google, фрагмент кода ниже успешно создает файл в папке общего диска:

f = gd.CreateFile(
            {'title': name, 'mimeType': 'application/vnd.google-apps.spreadsheet', 'parents': [{'teamDriveId': '1234', 'id': '1234'}]})
        f.Upload(param={'supportsTeamDrives': True})

При добавлении файла я также при попытке установить разрешения для адреса электронной почты, чтобы получить доступ для записи в файл, как показано ниже:

f.InsertPermission({'type': 'user', 'value': 'myemail@email.com', 'role': 'writer'})

При попытке добавить разрешения, я получаю следующую ошибку:

<HttpError 404 when requesting https://www.googleapis.com/drive/v2/files/file_id_here/permissions?alt=json returned "File not found: file_id_here">

I проверил, и идентификатор файла, кажется, совпадает с тем, который был создан.

Я предположил, что это не будет проблемой авторизации, если я смогу создать файл? Любые предложения будут очень признательны.

Спасибо

1 Ответ

1 голос
/ 27 марта 2020

Я обнаружил, что это проблема, связанная с отсутствием записи для 'SupportTeamDrives' в файле files.py PyDrive в функции InsertPermission.

Я добавил параметр 'SupportTeamDrives' в код в строке 325 следующим образом, и теперь, кажется, работает:

permission = self.auth.service.permissions().insert(
                fileId=file_id, body=new_permission, supportsTeamDrives=True).execute(http=self.http)
...