hackathon / google_drive.py
com3dian's picture
Update google_drive.py
f632f9b verified
raw
history blame contribute delete
978 Bytes
from googleapiclient.discovery import build
from googleapiclient.http import MediaFileUpload
from google.oauth2 import service_account
import json
import os
import traceback
def upload_to_drive(local_path, filename):
creds_dict = json.loads(os.environ["GOOGLE_CREDS_JSON"])
creds = service_account.Credentials.from_service_account_info(creds_dict)
service = build("drive", "v3", credentials=creds)
file_metadata = {
"name": filename,
"parents": ["1RQx-f1UGOAY248bCIRasenJiQCHsD4Eq"]
}
media = MediaFileUpload(local_path, mimetype="application/zip")
try:
uploaded_file = service.files().create(
body=file_metadata,
media_body=media,
fields="id"
).execute()
except Exception as e:
print("Upload failed:")
print(traceback.format_exc()) # Or log it as needed
raise Exception(f"Upload to Google Drive failed: {e}")
return uploaded_file.get("id")