Files
ihrm/horilla_backup/gdrive.py

30 lines
894 B
Python

from googleapiclient.discovery import build
from google.oauth2 import service_account
from googleapiclient.http import MediaFileUpload
import os
SCOPES = ['https://www.googleapis.com/auth/drive']
def authenticate(service_account_file):
creds = service_account.Credentials.from_service_account_file(service_account_file, scopes=SCOPES)
return creds
def upload_file(file_path, service_account_file, parent_folder_id):
creds = authenticate(service_account_file)
service = build('drive', 'v3', credentials=creds)
parent_folder_id = parent_folder_id
file_metadata = {
'name' : os.path.basename(file_path),
'parents' : [parent_folder_id]
}
media = MediaFileUpload(file_path, resumable=True)
file = service.files().create(
body=file_metadata,
media_body=media,
fields='id'
).execute()