ドキュメントを閲覧

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 以降が必要です。標準の fetchAbortController 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 のために executionIdactionId、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を使用します。