EmailAgentwithMemory / app /gmail_auth.py
Gaykar's picture
changes to gmail auth
9de823d
Raw
History Blame Contribute Delete
1.13 kB
import os
from pathlib import Path
from app.core.config import settings
AUTH_DIR = Path("/tmp/google_auth")
AUTH_DIR.mkdir(parents=True, exist_ok=True)
CREDENTIALS_PATH = AUTH_DIR / "credentials.json"
TOKEN_PATH = AUTH_DIR / "token.json"
if "GOOGLE_CREDENTIALS" in os.environ:
CREDENTIALS_PATH.write_text(os.environ["GOOGLE_CREDENTIALS"])
else:
raise ValueError("GOOGLE_CREDENTIALS secret is missing from environment variables!")
if "GOOGLE_TOKEN" in os.environ:
TOKEN_PATH.write_text(os.environ["GOOGLE_TOKEN"])
else:
raise ValueError("GOOGLE_TOKEN secret is missing from environment variables!")
from langchain_google_community.gmail.utils import (
build_resource_service,
get_gmail_credentials,
)
from langchain_google_community import GmailToolkit
credentials = get_gmail_credentials(
token_file=str(TOKEN_PATH.resolve()),
scopes=["https://mail.google.com/"],
client_sercret_file=str(CREDENTIALS_PATH.resolve()),
)
# BUILD API RESOURCE
api_resource = build_resource_service(
credentials=credentials
)
# TOOLKIT
gmail_toolkit = GmailToolkit(
api_resource=api_resource
)