import io from google.oauth2.credentials import Credentials from googleapiclient.discovery import build from googleapiclient.http import MediaIoBaseUpload from google.auth.transport.requests import Request CLIENT_ID = "264416265072-kdmaad5bvu2q5kkobc6r7kjkfjlpha0u.apps.googleusercontent.com" CLIENT_SECRET = "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" REFRESH_TOKEN = "1//09dHp6XrF8mqECgYIARAAGAkSNwF-L9IrfkqtOKMW1-e9ZVO41OdS0c4USnS3_RRkdPlyZooU3gK8kEh0KMa4AETig4Nc-EIFGyY" def upload_pdf_to_drive(file_bytes: bytes, filename: str, folder_id: str): creds = Credentials( None, refresh_token=REFRESH_TOKEN, client_id=CLIENT_ID, client_secret=CLIENT_SECRET, token_uri="https://oauth2.googleapis.com/token" ) if not creds.valid: creds.refresh(Request()) drive_service = build('drive', 'v3', credentials=creds) file_metadata = { 'name': filename, 'parents': [folder_id] } media = MediaIoBaseUpload(io.BytesIO(file_bytes), mimetype='application/pdf') uploaded_file = drive_service.files().create( body=file_metadata, media_body=media, fields='id' ).execute() return uploaded_file.get('id')