SD_Hackathon / src /google_drive.py
com3dian's picture
Update src/google_drive.py
e35a7d2 verified
raw
history blame contribute delete
914 Bytes
from googleapiclient.discovery import build
from googleapiclient.http import MediaFileUpload
from google.oauth2 import service_account
import json
import os
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:
import traceback
st.error("Upload failed:")
st.code(traceback.format_exc())
raise
return uploaded_file.get("id")