Skip to main content
Esta página es parte de una habilidad de agente de codificación con IA y está escrita para agentes, no para humanos. Para la documentación de Base44 legible por humanos, consulta la documentación para desarrolladores.

Módulo Connectors

Gestión de tokens OAuth para servicios externos.
  • base44.asServiceRole.connectors — Tokens OAuth con ámbito de app (solo backend/rol de servicio). Todos los usuarios comparten la misma cuenta conectada.

Contenido


Conectores de rol de servicio (base44.asServiceRole.connectors)

Tokens OAuth con ámbito de app. El constructor de la app conecta la cuenta una vez; todos los usuarios la comparten. Solo backend/rol de servicio.

Métodos

MétodoFirmaDescripción
getConnection(integrationType)Promise<ConnectorConnectionResponse>Obtiene el token de acceso y la configuración de conexión opcional
getAccessToken(integrationType)Promise<string>⚠️ Obsoleto — usa getConnection() en su lugar

Ejemplos

// Solo función de backend
Deno.serve(async (req) => {
  const base44 = createClientFromRequest(req);

  // Recomendado: usa getConnection() para token + config opcional
  const { accessToken, connectionConfig } = await base44.asServiceRole.connectors.getConnection("slack");

  const response = await fetch("https://slack.com/api/chat.postMessage", {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${accessToken}`,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({ channel: "#general", text: "Hello from Base44!" })
  });

  return Response.json(await response.json());
});
// Usando connectionConfig (para servicios que necesitan parámetros extra, por ejemplo un subdominio)
const { accessToken, connectionConfig } = await base44.asServiceRole.connectors.getConnection("myservice");
const subdomain = connectionConfig?.subdomain;
const response = await fetch(`https://${subdomain}.example.com/api/v1/data`, {
  headers: { "Authorization": `Bearer ${accessToken}` }
});
// Ejemplo de Google Calendar
const { accessToken } = await base44.asServiceRole.connectors.getConnection("googlecalendar");

const events = await fetch(
  "https://www.googleapis.com/calendar/v3/calendars/primary/events?" +
  new URLSearchParams({ maxResults: "10", orderBy: "startTime", singleEvents: "true", timeMin: new Date().toISOString() }),
  { headers: { "Authorization": `Bearer ${accessToken}` } }
).then(r => r.json());

Servicios disponibles

ServicioIdentificador de tipo
Airtableairtable
Boxbox
ClickUpclickup
Discorddiscord
Dropboxdropbox
GitHubgithub
Gmailgmail
Google Analyticsgoogle_analytics
Google BigQuerygooglebigquery
Google Calendargooglecalendar
Google Classroomgoogle_classroom
Google Docsgoogledocs
Google Drivegoogledrive
Google Search Consolegoogle_search_console
Google Sheetsgooglesheets
Google Slidesgoogleslides
HubSpothubspot
Linearlinear
LinkedInlinkedin
Microsoft Teamsmicrosoft_teams
Microsoft OneDriveone_drive
Notionnotion
Outlookoutlook
Salesforcesalesforce
SharePointshare_point
Slack Userslack
Slack Botslackbot
Splitwisesplitwise
TikToktiktok
Typeformtypeform
Wixwix
Wrikewrike
Ejecuta npx base44 connectors list-available desde la CLI para ver todos los tipos disponibles.

Requisitos de configuración

  1. Plan Builder o superior
  2. Funciones de backend habilitadas (para conectores de rol de servicio)
  3. Conector configurado en el panel de Base44 (flujo OAuth completado)

Notas importantes

  • Conectores de rol de servicio: Una cuenta por conector por app — todos los usuarios comparten la misma cuenta conectada
  • Tú manejas las llamadas API: Base44 proporciona el token; tú haces las solicitudes API reales
  • Renovación de token: Base44 maneja la renovación de token automáticamente

Definiciones de tipos

/**
 * El tipo de integración/conector externo (para conectores de rol de servicio).
 * Ejemplos: 'googlecalendar', 'slack', 'github', 'notion', etc.
 */
type ConnectorIntegrationType = string;

/** Detalles de conexión devueltos por getConnection(). */
interface ConnectorConnectionResponse {
  /** El token de acceso OAuth para el servicio externo. */
  accessToken: string;
  /** Configuración clave-valor para la conexión, o null si no se necesita. */
  connectionConfig: Record<string, string> | null;
}

/** Módulo de conectores de rol de servicio (OAuth con ámbito de app). Solo backend. */
interface ConnectorsModule {
  /**
   * Recupera el token de acceso OAuth y la configuración de conexión opcional.
   * @param integrationType - por ejemplo, 'googlecalendar', 'slack', 'github'.
   */
  getConnection(integrationType: ConnectorIntegrationType): Promise<ConnectorConnectionResponse>;

  /**
   * @deprecated Usa getConnection() en su lugar.
   * Recupera solo la cadena del token de acceso OAuth.
   */
  getAccessToken(integrationType: ConnectorIntegrationType): Promise<string>;
}

Esta página fue traducida usando IA. Para obtener la información más precisa y actualizada, consulta la versión en inglés.