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")