ManifestOAuthAction
Accion que un proveedor OAuth ofrece a las demas extensiones (ctx.services.oauth.call(provider, id, params)). Las extensiones NO
construyen peticiones libres: solo invocan acciones declaradas. El nucleo comprueba el grupo de scopes, valida los parametros y llama a
apiBase + path con el token del usuario (que jamas sale del nucleo).
Firma
export interface ManifestOAuthAction {
id: string;
group: string;
method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
path: string;
params?: Record<string, ManifestOAuthActionParam>;
requiresScopes?: string[];
maxResponseBytes?: number;
apiBase?: string;
fixedQuery?: Record<string, string>;
bodyFrom?: string;
upload?: { metadata: string; content: string; mimeType?: string; };
write?: boolean;
quotaPerHour?: number;
credential?: "bot";
moderation?: boolean;
guild?: { param?: string; channelParam?: string; filterList?: boolean; };
pathSettings?: Record<string, string>;
}Miembros (17)
| Nombre | Tipo | Descripción |
|---|---|---|
| idobligatorio | string | Identificador tipo "calendar.events.list" (el SDK lo expone como ctx.libs.<proveedor>.calendar.events.list). |
| groupobligatorio | string | Grupo de scopes: hace falta el permiso OAUTH_ACCOUNT:<proveedor>:<grupo>. |
| methodobligatorio | "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | Sin descripción. |
| pathobligatorio | string | Ruta relativa a apiBase con {param} para parametros de ruta. |
| paramsopcional | Record<string, ManifestOAuthActionParam> | Sin descripción. |
| requiresScopesopcional | string[] | Scopes del catalogo que la cuenta debe tener concedidos. |
| maxResponseBytesopcional | number | Sin descripción. |
| apiBaseopcional | string | Base https propia de la accion (host de allowedHosts); por defecto la del proveedor. |
| fixedQueryopcional | Record<string, string> | Parametros de query constantes. |
| bodyFromopcional | string | Parametro |
| uploadopcional | { metadata: string; content: string; mimeType?: string; } | Subida multipart/related: nombres de parametros in: body (metadata object, content string base64, mimeType string). |
| writeopcional | boolean | Obligatorio si method != GET: true = modifica datos. |
| quotaPerHouropcional | number | Tope duro por hora y por usuario+extension, aplicado por el nucleo (1..10000; capacidad |
| credentialopcional | "bot" | "bot" = usa la credencial BOT del proveedor (grupo bot-read | bot-write | bot-mod; exige OAUTH_SHARED:<proveedor>; capacidad oauth.provider.v3). |
| moderationopcional | boolean | Accion de moderacion (grupo bot-mod): el nucleo la rechaza salvo que el admin active el ajuste de moderacion. |
| guildopcional | { param?: string; channelParam?: string; filterList?: boolean; } | Servidor al que afecta (lista blanca del admin): param = id en la ruta; channelParam = id de canal/hilo (se resuelve a su servidor); filterList = filtrar la lista devuelta. |
| pathSettingsopcional | Record<string, string> | Marcadores de ruta rellenados desde un ajuste NO secreto (p. ej. el Application ID). |
Usado en / Referenciado por
Referencia a
Fuente: bloomx-extensions/_shared/sdk/manifest.d.ts:170 · manifest.d.ts