Spaces:
Sleeping
Sleeping
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") | |