メインコンテンツへスキップ
Base44 は、アプリを外部 API に接続するためのいくつかの方法を提供します。各アプローチには、セットアップの複雑さ、クレデンシャル管理、柔軟性に関して異なるトレードオフがあります。

Connectors

Slack、Google Calendar、Discord などのサービスへの OAuth ログイン

Custom integrations

OpenAPI 仕様によるワークスペース全体の API アクセス

Backend functions

リクエストを完全に制御できるバックエンドコード

Connectors

Connectors は、サードパーティサービスの生の OAuth アクセストークンを提供し、それを使ってそのサービスの API を直接呼び出すことができます。Base44 が OAuth フローとクレデンシャルの保存を処理します。2 つのタイプがあります。
  • Shared connectors: アプリ全体で 1 つのアカウントが接続されます。すべてのアプリユーザーが同じトークンを共有します。社内 Slack チャンネルへの投稿や共有カレンダーからの読み取りなど、サービスアカウントに最適です。
  • App user connectors: サインインしている各アプリユーザーが独自のアカウントを接続します。各ユーザーが独自のトークンを持ちます。Gmail からメールを送信するなど、個別のユーザーとして実行する必要があるアクションに最適です。
const { accessToken } = await base44.asServiceRole.connectors.getConnection(
  "googlecalendar"
);

const response = await fetch(
  "https://www.googleapis.com/calendar/v3/calendars",
  { headers: { Authorization: `Bearer ${accessToken}` } }
);

const calendars = await response.json();

connectors

完全な API リファレンス

カスタムインテグレーション

カスタムインテグレーションを使うと、ユーザーやアプリに固有でない共有クレデンシャルを使って外部 API を呼び出すことができます。ワークスペース管理者が OpenAPI 仕様をインポートしてクレデンシャルを構成すれば、ワークスペース内の任意のアプリが SDK を介してその API を呼び出せるようになります。リクエストは Base44 のバックエンドを介してプロキシされるため、シークレットがブラウザに到達することはありません。一度インテグレーションがセットアップされると、ワークスペース内のすべてのアプリで共有されます。開発者は API キーを直接扱うことはなく、管理者はアプリコードに触れることなくクレデンシャルをローテーションできます。
const response = await base44.integrations.custom.call(
  "my-crm", // integration slug
  "get:/contacts", // endpoint: method:path format
  {
    pathParams: { id: "123" },
    queryParams: { limit: 10 },
  }
);

if (response.success) {
  console.log(response.data);
}

custom integrations

完全な API リファレンス

バックエンド関数

バックエンド関数はサーバー上で実行されるため、API キーやシークレットを環境変数として安全に保存し、ブラウザに公開せずに済みます。API リクエストを完全に制御したい場合、カスタムロジックやデータ変換を追加したい場合、カスタムインテグレーションが利用できない API を使用する場合は、バックエンド関数を使ってください。フロントエンドがバックエンド関数を呼び出し、その関数が外部 API リクエストを行って結果を返します。
// In your backend function
export default async function handler(request: Request) {
  const apiKey = process.env.EXTERNAL_API_KEY;

  const response = await fetch("https://api.example.com/data", {
    headers: {
      Authorization: `Bearer ${apiKey}`,
      "Content-Type": "application/json",
    },
  });

  return Response.json(await response.json());
}

functions

バックエンド関数の詳細を学ぶ
このページは AI を使用して翻訳されました。最も正確で最新の情報については、英語版 を参照してください。