File size: 591 Bytes
0c2ac5a
 
9dfc538
0c2ac5a
9dfc538
 
0c2ac5a
 
 
 
9dfc538
0c2ac5a
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from google.oauth2 import service_account
from google.auth.transport.requests import Request
from dotenv import load_dotenv
import json
import os
load_dotenv()

def get_access_token():
    # Load service account credentials from JSON file or environment variable
    credentials = service_account.Credentials.from_service_account_info(
        json.loads(os.getenv('ACCOUNT_CREDS')),
        scopes=['https://www.googleapis.com/auth/cloud-platform']
    )
    
    # Refresh token if needed
    if credentials.expired:
        credentials.refresh(Request())
    
    return credentials.token