Я столкнулся с той же ошибкой. Я авторизовал всю область, затем извлек файл и использовал класс io.Base для потоковой передачи данных в файл. Обратите внимание, что вам нужно сначала создать файл.
from __future__ import print_function
from googleapiclient.discovery import build
import io
from apiclient import http
from google.oauth2 import service_account
SCOPES = ['https://www.googleapis.com/auth/drive']
SERVICE_ACCOUNT_FILE = 'credentials.json'
FILE_ID = <file-id>
credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
service = build('drive', 'v3', credentials=credentials)
def download_file(service, file_id, local_fd):
request = service.files().get_media(fileId=file_id)
media_request = http.MediaIoBaseDownload(local_fd, request)
while True:
_, done = media_request.next_chunk()
if done:
print ('Download Complete')
return
file_io_base = open('file.csv','wb')
download_file(service=service,file_id=FILE_ID,local_fd=file_io_base)
Надеюсь, это поможет.