File size: 978 Bytes
212ad81 f632f9b 212ad81 f632f9b 212ad81 f632f9b 212ad81 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
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")
|