> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Outlook をアプリに接続する

> 共有アカウントまたは各ユーザー自身のアカウントを使って、アプリからメールを送受信し、カレンダーの予定を管理します。

アプリを Outlook に接続すると、メールの送受信、カレンダーの予定の管理ができます。また、メールや予定が変わったときにワークフローを実行できます。アプリ全体で 1 つの共有アカウントを使うことも、各ユーザーが自分の Microsoft アカウントを接続することもできます。

> [!NOTE]
>
> アプリでコネクタを使用するには、[Builder プラン](https://base44.com/pricing) 以上が必要です。

***

## できること

Outlook のメールとカレンダーをアプリのワークフローに取り込みます。

> [card] メールを送信
>
> 新しい予約など、アプリで何かが起きたときに Outlook アカウントからメールを送信します。

> [card] メールを読んで整理
>
> 最近のメッセージを読んで要約し、アプリから移動や更新を行います。

> [card] カレンダーを管理
>
> Outlook の予定をアプリに表示し、何かが予定されたときに予定を作成または更新します。

> [card] [ワークフローを実行](https://docs.base44.com/ja/Building-your-app/Creating-workflows.md#connector)
>
> 受信トレイにメールが届いたときやカレンダーの予定が作成されたとき、またはそれらが更新・削除されたときにワークフローを開始します。

**プロンプト例**

AI チャットで、メールボックスまたはカレンダー、アクションのきっかけ、動的なフィールドを説明します。例:

```text wrap theme={null}
Outlook を使ってアプリからメールを送信して。
```

```text wrap theme={null}
Outlook カレンダーの予定をダッシュボードに表示して。
```

```text wrap theme={null}
アプリで何かが予定されたら、Outlook にカレンダーの予定を作成して。
```

```text wrap theme={null}
Outlook の最近のメールを読んで要約して。
```

> [!TIP]
>
> Superagent を Outlook の会議に参加させてメモを取らせたい場合は、[カレンダーを接続する](https://docs.base44.com/ja/superagents/meeting-notes.md#connecting-your-calendar) を参照してください。

***

## Outlook を接続する

接続方法を選びます。アプリ全体で 1 つの共有アカウントを使うか、各ユーザーが自分のアカウントを使います。

> [tab] 共有コネクタ
>
> 1 つのアカウントを接続すると、アプリを使う全員がそのアカウントとデータを共有します。
>
> **共有 Outlook コネクタを追加するには:**
>
> 1. ワークスペースのサイドバーで **コネクタ** をクリックします。
>
> 2. **コネクターを追加** をクリックします。
>
> 3. **Outlook** を検索し、クリックします。
>
> 4. **Shared connector** を選択し、**次へ** をクリックします。
>
> 5. **接続名** を入力します。
>
> 6. **アクセスできる対象** で、接続を使える場所を選択します。**アプリと Super Agent** (デフォルト)、**Apps only**、**Super agent only** のいずれかです。
>
> 7. **権限** で **読み取り専用** (デフォルト)、**読み取りと書き込み**、**カスタム** のいずれかを選択します。メールを送信するには、**読み取りと書き込み** を選択します。詳しくは [スコープと権限](#scopes-and-permissions) を参照してください。
>
>    ![接続名、アクセスできる対象、読み取り専用の権限が選択された共有 Outlook コネクタの設定画面](https://mintcdn.com/base44/dnY2McSyQ8BRavEs/images/apps-connectors-outlook-shared-setup.png?fit=max\&auto=format\&n=dnY2McSyQ8BRavEs\&q=85\&s=5638130e25a42638151162b63b297ef3)
>
>    共有 Outlook コネクタを設定する
>
> 8. **コネクターを追加** をクリックします。
>
> 9. 共有したい Microsoft アカウントでログインします。

> [tab] アプリユーザーコネクタ
>
> 各ユーザーが自分の Microsoft アカウントを接続します。アプリは、そのユーザーのメールとカレンダーを扱えます。
>
> > [!TIP]
> >
> > **始める前に:** これを設定できるのはワークスペースのオーナーと管理者だけです。Microsoft のアプリ登録と、そのクライアント ID とクライアントシークレットが必要です。[Microsoft テナント ID](#using-a-microsoft-tenant) を入力する場合を除き、アプリ登録の **Supported account types** を、任意の組織ディレクトリのアカウントと個人の Microsoft アカウントに設定してください。[独自の OAuth クライアントを使う](https://docs.base44.com/ja/Integrations/Connectors.md#using-your-own-oauth-client) を参照してください。
>
> **アプリユーザー Outlook コネクタを追加するには:**
>
> 1. ワークスペースのサイドバーで **コネクタ** をクリックします。
>
> 2. **コネクターを追加** をクリックします。
>
> 3. **Outlook** を検索し、クリックします。
>
> 4. **アプリユーザーコネクター** を選択し、**次へ** をクリックします。
>
> 5. **Callback URL** をコピーします。
>
> 6. Microsoft のアプリ登録で、Callback URL を許可済みリダイレクト URI に追加します。
>
> 7. **Add Outlook Connection** フォームに戻り、**コネクタ名**、**クライアントID**、**クライアントシークレット** を入力します。
>
>    ![Callback URL、コネクタ名、クライアント ID、クライアントシークレットが表示された Add Outlook Connection フォーム](https://mintcdn.com/base44/dnY2McSyQ8BRavEs/images/apps-connectors-outlook-app-user-credentials.png?fit=max\&auto=format\&n=dnY2McSyQ8BRavEs\&q=85\&s=5fb6f375d00995fabb114eb4e9dd463c)
>
>    Microsoft アプリの資格情報を入力する
>
> 8. (任意) **スコープ** で事前に選択されているスコープを確認し、アプリに不要なものを削除します。
>
>    ![ロックされたスコープとデフォルトのスコープ、その下に追加スコープがある Outlook のスコープ欄](https://mintcdn.com/base44/dnY2McSyQ8BRavEs/images/apps-connectors-outlook-app-user-scopes.png?fit=max\&auto=format\&n=dnY2McSyQ8BRavEs\&q=85\&s=2d9c8f72c63f63496b4f8f45aae8daf4)
>
>    アプリユーザーコネクタのスコープを選択する
>
> 9. **コネクタを追加** をクリックします。
>
> 次に、各ユーザーが自分の Outlook アカウントを接続できる仕組みを追加するよう、アプリの AI チャットに依頼します。

***

## スコープと権限

スコープは、アプリが Outlook でできることを制御します。スコープはコネクタを設定するときに選びます。

> [card]
>
> **1. Base44 が追加するもの**
>
> これらは常に含まれるため、共有コネクタでは **カスタム**、アプリユーザーコネクタでは **スコープ** にロックされたスコープとして表示されます。
>
> * `User.Read`: 接続するアカウントでログインし、プロフィールを読み取ります
> * `offline_access`: 再度ログインしなくても接続が動作し続けるようにします
>
> **2. 自分で設定するもの**
>
> 共有コネクタでは **カスタム**、アプリユーザーコネクタでは **スコープ** で、アプリに必要なスコープを選択します。
>
> 共有コネクタでは、**読み取り専用** で `Mail.Read` と `Calendars.Read` が付与されます。**読み取りと書き込み** では `Mail.ReadWrite`、`Calendars.ReadWrite`、`Mail.Send` が付与されます。
>
> * `Mail.Read`: メールを読み取ります
> * `Mail.ReadWrite`: メールの読み取り、作成、更新、削除を行います (送信は除く)
> * `Mail.Send`: アカウントとしてメールを送信します
> * `Calendars.Read`: カレンダーの予定を読み取ります
> * `Calendars.ReadWrite`: カレンダーの予定の読み取り、作成、更新、削除を行います
>
> **アクセス:** アプリは、接続を認可した Microsoft アカウントのメールボックスとカレンダーを扱います。

### Microsoft テナントを使う

アプリユーザーコネクタでは、設定フォームの Connection Configuration で **Microsoft Tenant ID** を入力できます。空のままにすると `common` が使われます。入力した場合、Microsoft のアプリ登録のサポートされるアカウントの種類の設定は適用されません。

***

## バックエンド関数を使う

Outlook を接続すると、バックエンド関数がアクセストークンを取得して Microsoft Graph API を直接呼び出せます。ログインの処理とトークンの更新は Base44 が行います。

* 共有接続の場合は、`getConnection()` でトークンを取得します。
* アプリユーザー接続の場合は、`getCurrentAppUserConnection()` を使い、各リクエストがログイン中のユーザーのトークンを使用するようにします。

`graph.microsoft.com` で Microsoft Graph API を呼び出し、トークンを `Authorization` ヘッダーで渡します。

```javascript theme={null}
// Shared connection: one account the whole app uses
const { accessToken } = await base44.asServiceRole.connectors.getConnection("outlook");

const response = await fetch(
  "https://graph.microsoft.com/v1.0/me/messages?$top=10",
  { headers: { Authorization: `Bearer ${accessToken}` } },
);
const { value: messages } = await response.json();
```

> [card] [共有コネクタ](https://docs.base44.com/ja/developers/backend/resources/connectors/shared-connectors.md)
>
> バックエンド関数から共有接続を設定、デプロイ、呼び出します。

> [card] [アプリユーザーコネクタ](https://docs.base44.com/ja/developers/backend/resources/connectors/app-user-connectors.md)
>
> ユーザーごとのトークンを取得し、ログイン中のユーザーとして API を呼び出します。

***

## トラブルシューティング

アプリで Outlook が動作しなくなった場合は、接続とそのスコープを確認してください。

> [accordion] 接続の再接続が必要になる
>
> Outlook のアクセスが失われたり期限切れになったりすると、接続に **この接続は再接続が必要です** と表示されます。共有コネクタの場合は、[再接続](https://docs.base44.com/ja/Integrations/Connectors.md#managing-your-connectors) し、同じ Microsoft アカウントでログインします。その接続を使うすべてのアプリが再び動作します。アプリユーザーコネクタの場合は、各ユーザーがアプリ内から自分のアカウントを再接続します。

> [accordion] アプリからメールを送信できない
>
> メールを送信するには、アプリに `Mail.Send` スコープが必要です。`Mail.ReadWrite` スコープでは、メッセージの読み取りと変更はできますが、送信はできません。
>
> * 共有コネクタでは、権限は接続を追加するときに設定されます。Outlook コネクタのページで **Add another connector** をクリックし、新しい接続で **読み取りと書き込み** を選択します。
> * アプリユーザーコネクタでは、Outlook コネクタのページでコネクタを開き、スコープに `Mail.Send` を追加して **Save Changes** をクリックします。すでに接続しているユーザーは、再度接続するまで以前のアクセス権のままです。

> [!NOTE]
>
> このページは AI を使用して翻訳されました。最も正確で最新の情報については、[英語版](https://docs.base44.com/index.md) を参照してください。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.