メインコンテンツへスキップ
Base44 クライアントは、Base44 SDK へのインターフェイスです。すべての SDK モジュールへのアクセスを提供し、認証トークンを自動的に管理します。 クライアントは 2 つの方法で使用できます。
  • Base44 アプリ内: クライアントは自動的に作成・構成されます。
  • 外部アプリ: 自前のアプリで Base44 をバックエンドとして使うために、自分でクライアントを作成します。

Base44 アプリ内

Base44 がアプリを生成するとき、SDK クライアントは事前に構成されていてすぐに使用できます。

フロントエンドクライアント

フロントエンドコードでは、クライアントはすでに base44 としてインポート済みで使用可能です。
import { base44 } from "@/api/base44Client";

// The client is pre-configured and ready to use
const user = await base44.auth.me();
const userTasks = await base44.entities.Task.filter({
  assignedTo: user.id,
  status: "pending",
});

console.log(`${user.name} has ${userTasks.length} pending tasks`);

バックエンド関数

Base44 がホストするバックエンド関数では、受信リクエストからクライアントを作成します。Base44 は必要な認証ヘッダーを自動的に注入します。
import { createClientFromRequest } from "npm:@base44/sdk";

Deno.serve(async (req) => {
  const base44 = createClientFromRequest(req);

  // Get the current user and their data
  const user = await base44.auth.me();
  const userTasks = await base44.entities.Task.filter({
    assignedTo: user.id,
    status: "pending",
  });

  return Response.json({
    user: user.name,
    pendingTasks: userTasks.length,
  });
});

外部アプリ

Base44 をバックエンドとして使う独自のアプリを構築する場合は、createClient() を使ってクライアントを自分で作成・構成します。

インストール

npm 経由で SDK をインストールします。
npm install @base44/sdk

クライアントを作成する

アプリ ID を指定してクライアントを作成します。アプリ ID は Base44 エディターの URL で確認できます。
https://app.base44.com/apps/<your-app-id>/editor/...
import { createClient } from "@base44/sdk";

// Create a client for your Base44 app
const base44 = createClient({
  appId: "your-app-id", // Find this in the Base44 editor URL
});

// Read public data (anonymous access)
const products = await base44.entities.Products.list();

ユーザー認証

メールアドレスとパスワードまたはソーシャルプロバイダーでユーザーを認証します。クライアントは後続のリクエストにトークンを自動的に適用します。ソーシャル認証は loginWithProvider() を使って Google、Microsoft、Facebook、Apple で利用できます。
import { createClient } from "@base44/sdk";

const base44 = createClient({
  appId: "your-app-id",
});

// Authenticate a user (token is automatically set)
await base44.auth.loginViaEmailPassword("user@example.com", "password");

// Now operations use the authenticated user's permissions
const userOrders = await base44.entities.Orders.list();

サービスロール

デフォルトでは、クライアントはユーザーレベルの権限で動作し、現在のユーザーが閲覧・操作できる範囲にアクセスを制限します。サービスロールはバックエンド操作のための昇格された権限を提供し、Base44 がホストするバックエンド関数でのみ利用可能です。
サービスロール認証は Base44 がホストするバックエンド関数でのみ利用可能です。外部バックエンドではサービスロール権限を使用できません。
サービスロール認証を持つクライアントを使うと、バックエンドコードで以下が可能になります。
  • アプリの管理者と同じ権限でデータと操作にアクセスする。
  • connectors モジュールなどの管理者向けモジュールを使用する。
サービスロール認証を使うには、クライアントから直接ではなく base44.asServiceRole 経由でモジュールにアクセスします。例えば、base44.asServiceRole.entities.Task.list() は管理者権限で動作し、base44.entities.Task.list() は現在のユーザーの権限を使用します。 バックエンド関数で createClientFromRequest() を使うと、サービスロールが自動的に利用可能になります。
import { createClientFromRequest } from "npm:@base44/sdk";

Deno.serve(async (req) => {
  const base44 = createClientFromRequest(req);

  // Access all data with admin-level permissions
  const allOrders = await base44.asServiceRole.entities.Orders.list();

  return Response.json({ orders: allOrders });
});

詳細

createClient()

完全な API リファレンス

createClientFromRequest()

バックエンドクライアントの作成
このページは AI を使用して翻訳されました。最も正確で最新の情報については、英語版 を参照してください。