Google Drive API, Python, Django
У меня есть несколько файлов csv, которые я хочу генерировать каждый раз при запуске скрипта и загружать их непосредственно на google drive. Когда у вас есть файлы локально, их легко загрузить. Но когда я хочу загрузить их напрямую, я не могу этого сделать. Вместо этого я получаю вот такую ошибку :
TypeError: expected str, bytes or os.PathLike object, not _csv.writer
Я использую googleapiclient.MediaFileUpload для загрузки файлов и метод Create_Service от Google.
Вот фрагмент моего кода:
from datetime import datetime
from googleapiclient.http import MediaFileUpload, MediaIoBaseUpload
from .Google import Create_Service
@api_view(['GET'])
def uploadFile(request):
current_date = datetime.today().strftime("%d-%m-%y")
content_disposition = 'attachment; filename=' + \
'solde_quotidien_' + str(current_date) + '.csv'
response = HttpResponse()
response['Content-Disposition'] = content_disposition
writer = csv.writer(response)
writer.writerow(['Date', 'Compte', 'Nom du client',
'Solde', 'Hold Balance', 'Type client'])
client = ['2022', '34995277', 'Mehfoud', '1000000', '500']
writer.writerow(client)
# Upload a file
# Le nom sur le cloud
file_metadata = {
'name': 'test.csv',
'parents': ['1QXu_mk5lWbNQyk-EiBnRSIQYmXqNmAdm']
}
media_content = MediaFileUpload(writer, mimetype='text/csv')
file = service.files().create(
body=file_metadata,
media_body=media_content
).execute()
print(file)
return response
По всей видимости, проблема связана с MediaFileUpload. Что мне делать в этой ситуации?
Спасибо заранее.