Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -1,13 +1,33 @@
|
|
1 |
import gradio as gr
|
2 |
import comunicacion_gmail
|
3 |
import json
|
|
|
4 |
|
5 |
def gmail_interface(accion, parametros):
|
6 |
"""Funci贸n que llama a gmail_tool y formatea la respuesta."""
|
7 |
try:
|
8 |
-
|
|
|
|
|
|
|
|
|
9 |
|
10 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
12 |
if "requires_auth" in resultado and resultado["requires_auth"]:
|
13 |
auth_url = resultado["auth_url"]
|
|
|
1 |
import gradio as gr
|
2 |
import comunicacion_gmail
|
3 |
import json
|
4 |
+
from urllib.parse import urlparse, parse_qs
|
5 |
|
6 |
def gmail_interface(accion, parametros):
|
7 |
"""Funci贸n que llama a gmail_tool y formatea la respuesta."""
|
8 |
try:
|
9 |
+
if parametros: # Si hay par谩metros, verifica si contiene el auth_code
|
10 |
+
try:
|
11 |
+
parametros = json.loads(parametros) # Convierte la cadena JSON a un diccionario
|
12 |
+
except json.JSONDecodeError:
|
13 |
+
return "Error: Par谩metros JSON inv谩lidos."
|
14 |
|
15 |
+
auth_code = parametros.get("auth_code")
|
16 |
+
if auth_code:
|
17 |
+
# Completar el flujo OAuth con el auth_code
|
18 |
+
flow = InstalledAppFlow.from_client_secrets_file(
|
19 |
+
'credentials.json', comunicacion_gmail.SCOPES) # Accede a SCOPES desde comunicacion_gmail
|
20 |
+
flow.fetch_token(code=auth_code)
|
21 |
+
creds = flow.credentials
|
22 |
+
with open('token.pickle', 'wb') as token:
|
23 |
+
pickle.dump(creds, token)
|
24 |
+
# Vuelve a llamar a gmail_tool para ejecutar la acci贸n original (sin el auth_code)
|
25 |
+
del parametros["auth_code"] # Eliminar auth_code antes de la siguiente llamada
|
26 |
+
resultado = comunicacion_gmail.gmail_tool(accion, parametros)
|
27 |
+
else:
|
28 |
+
resultado = comunicacion_gmail.gmail_tool(accion, parametros)
|
29 |
+
else: # Si no hay par谩metros, llama a gmail_tool
|
30 |
+
resultado = comunicacion_gmail.gmail_tool(accion, parametros)
|
31 |
|
32 |
if "requires_auth" in resultado and resultado["requires_auth"]:
|
33 |
auth_url = resultado["auth_url"]
|