使用 SDK 呼叫已連接的 Apps
當後端程式碼需要呼叫你在 OOMOL 帳號中連接的 Apps 時,使用 Connector。這條路徑會呼叫 OOMOL 託管的 Connector 閘道,並使用形如 api_… 的個人 API key。
安裝 SDK
npm install @oomol-lab/connector
SDK 需要 Node 18 或更高版本。其他提供標準 fetch 與 AbortController API 的環境也可以使用,但個人 API key 必須留在可信的後端環境中。
建立個人 API key
在 OOMOL Console 建立 key,然後儲存為後端密鑰:
export OOMOL_API_KEY=api_...
不要把這個 key 放進瀏覽器 bundle、行動用戶端、公開程式碼倉庫、提示詞或用戶端日誌。
執行第一個 action
import { Connector } from "@oomol-lab/connector";
const oomol = new Connector({ apiKey: process.env.OOMOL_API_KEY! });
const result = await oomol.execute("gmail.search_threads", {
query: "is:unread",
});
Namespace 寫法會執行同一個 action:
const result = await oomol.gmail.search_threads({ query: "is:unread" });
需要在日誌或支援工單中保存 executionId、actionId 和回應訊息時,使用 executeRaw。
選擇已連接帳號
同一個 provider 有多個 connection 時,透過 connectionName 選擇帳號:
await oomol.execute(
"gmail.search_threads",
{ query: "from:ceo" },
{ connectionName: "work" },
);
使用 oomol.apps.list() 查看目前 OOMOL 帳號可用的 connections。Connection 的建立與移除仍在 OOMOL Console 中完成。
尋找 actions
透過 catalog 查看 providers、actions 與執行時 schemas:
const providers = await oomol.catalog.providers({ q: "mail" });
const actions = await oomol.catalog.actions("gmail");
const action = await oomol.catalog.action("gmail.search_threads");
上游 endpoint 還沒有對應 action 時,可以使用 proxy 透過所選 connection 呼叫。
繼續查閱參考
TypeScript SDK 參考包含精確的 action 類型、設定優先順序、重試、逾時、取消、proxy 行為、錯誤處理和完整的 Connector API。
如果產品裡的每個使用者都要連接獨立帳號,請改用 ProjectConnector。
Wanta