SDK で接続済み Apps を呼び出す
自分の OOMOL account に接続された Apps を backend code から呼び出す場合は、Connector を使用します。この方法では、hosted OOMOL Connector gateway と api_… 形式の personal API key を使います。
SDK をインストールする
npm install @oomol-lab/connector
SDK には Node 18 以降が必要です。標準の fetch と AbortController API を提供する他の環境でも動作しますが、personal API key は信頼できる backend environment に保管してください。
personal API key を作成する
OOMOL Console で key を作成し、backend secret として保存します。
export OOMOL_API_KEY=api_...
この key を browser bundle、mobile client、public repository、prompt、client-side log に置かないでください。
最初の 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" });
logs や support のために executionId、actionId、response message も必要な場合は、executeRaw を使用します。
connected account を選択する
同じ provider に複数の connections がある場合は、connectionName で 1 つ選択します。
await oomol.execute(
"gmail.search_threads",
{ query: "from:ceo" },
{ connectionName: "work" },
);
現在の OOMOL account で利用できる connections は、oomol.apps.list() で確認できます。connection の作成と削除は OOMOL Console で行います。
actions を探す
catalog を使って providers、actions、runtime 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");
upstream endpoint に model 化された action がない場合は、proxy を使い、選択した connection 経由で呼び出します。
reference に進む
action ごとの precise types、configuration precedence、retries、timeouts、cancellation、proxy behavior、errors、完全な Connector API については、TypeScript SDK referenceを参照してください。
product の各 user が別々の account を接続する必要がある場合は、代わりに ProjectConnectorを使用します。
Wanta