Files
ihrm/horilla_backup/gdrive.py
2025-02-14 10:01:07 +05:30

29 lines
859 B
Python

import os
from google.oauth2 import service_account
from googleapiclient.discovery import build
from googleapiclient.http import MediaFileUpload
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()
)