Outlook アドインのアクティブ化と JavaScript API の制限

Outlook アドインのユーザーに満足のいくエクスペリエンスを提供するには、特定のアクティブ化ルールと API の使用に関するガイドラインを理解し、制限の範囲内に収まるようにアドインを実装する必要があります。 これらのガイドラインは、個々のアドインがアクティブ化ルールや Office JavaScript API の呼び出しを処理するために通常とは異なる時間を費やすExchange Serverや Outlook を必要としないようにするために存在し、Outlook やその他のアドインの全体的なユーザー エクスペリエンスに影響を与えます。これらの制限は、アドイン マニフェストでアクティブ化ルールを設計し、カスタム プロパティ、ローミング設定、受信者、Exchange Web Services (EWS) の要求と応答、非同期呼び出しを使用する場合に適用されます。

注:

また、アドインが特定のランタイム リソースの使用制限内で実行されていることを確認する必要もあります。 詳細については、「 Office アドインのランタイム」を参照してください。

アドインのアクティブ化の制限

アドインが実行する場所とアクティブ化しない場所の詳細については、「Outlook アドインの概要」の「アドインで使用できるメールボックスアイテム」セクション 参照してください。

JavaScript API の制限

各 Outlook クライアントは、次の表で説明するように、JavaScript オブジェクト モデルで特定の制限を適用します。

機能 制限 関連する API 説明
カスタム プロパティ 2,500 文字 CustomProperties オブジェクト

Item.loadCustomPropertiesAsync メソッド
予定またはメッセージのアイテムのすべてのカスタム プロパティに関する制限です。 アドインのすべてのカスタム プロパティの合計サイズがこの制限を超えると、すべての Outlook クライアントからエラーが返されます。
ローミング設定 文字数 32 KB RoamingSettings オブジェクト

Context.roamingSettings プロパティ
アドインのすべてのローミング設定に関する制限です。 設定がこの制限を超えると、すべての Outlook クライアントからエラーが返されます。
インターネット ヘッダー Exchange Onlineのメッセージあたり 256 KB

Exchange オンプレミスのorganizationの管理者によって決定されるヘッダー サイズの制限
InternetHeaders.setAsync メソッド メッセージに適用できるヘッダーの合計サイズ制限。
既知のエンティティを抽出する 2,000 文字 Item.getEntities メソッド

Item.getEntitiesByType メソッド

Item.getFilteredEntitiesByName メソッド
Exchange Server でアイテム本体上のよく知られたエンティティを抽出する際の制限。 Exchange Server では、その制限を超えるエンティティが無視されます。 この制限は、アドインがルールを使用するかどうかとは無関係であることに ItemHasKnownEntity 注意してください。
Exchange Web サービス Outlook on the web、Windows (バージョン 2303 (ビルド 16225.10000)以降)、Mac (バージョン 16.73 (23042601 以降))、および新しい Outlook on Windows (プレビュー) で 5 MB の文字数

以前のバージョンの Outlook on Windows および Mac で 1 MB の文字
Mailbox.makeEwsRequestAsync メソッド 呼び出しに対する要求または応答の Mailbox.makeEwsRequestAsync 制限。
項目の複数選択 100 件のメッセージ Mailbox.getSelectedItemsAsync メソッド Outlook アドインがアクティブ化できる選択したメッセージの最大数。
受信者 Outlook クライアントによって異なります Item.requiredAttendees プロパティ

Item.optionalAttendees プロパティ

Item.to プロパティ

Item.cc プロパティ

Recipients.addAsync メソッド

Recipients.getAsync メソッド

Recipients.setAsync メソッド
各プロパティまたはメソッドで指定された受信者の制限。 特定の Outlook クライアントの受信者の制限については、プロパティまたはメソッドの API ドキュメントを参照してください。
表示名 255 文字 EmailAddressDetails.displayName プロパティ

Recipients オブジェクト

Item.requiredAttendees プロパティ

Item.optionalAttendees プロパティ

Item.to プロパティ

Item.cc プロパティ
予定やメッセージの表示名の長さの制限。
件名を設定する 255 文字 DisplayedSubject.setAsync (プレビュー)

Mailbox.displayNewAppointmentForm メソッド

Subject.setAsync メソッド
新しい予定のフォームの件名、または予定やメッセージの件名の設定に関する制限。
場所を設定する 255 文字 Location.setAsync メソッド 予定または会議出席依頼の場所の設定に関する制限。
新しい予定のフォームの本文 文字数 32 KB Mailbox.displayNewAppointmentForm メソッド 新しい予定のフォームでの本文に関する制限。
既存のアイテムの本文を表示する 文字数 32 KB Mailbox.displayAppointmentForm メソッド

Mailbox.displayMessageForm メソッド
Outlook on the web、モバイル デバイス、および新しい Outlook on Windows (プレビュー) の場合: 既存の予定またはメッセージ フォームの本文の制限。
本文を設定する 文字数 1 MB Body.prependAsync メソッド

Body.setAsync

Body.setSelectedDataAsync メソッド

DisplayedBody.setAsync (プレビュー)
予定またはメッセージ アイテムの本文の設定に関する制限。
署名を設定する 30,000 文字 Body.setSignatureAsync メソッド 予定またはメッセージ内の署名の長さの制限。
添付ファイルの数 Outlook on the web、モバイル デバイス、および新しい Outlook on Windows の 499 ファイル (プレビュー) Item.addFileAttachmentAsync メソッド アイテムを送信するために添付できるファイル数の制限。 Outlook on the webとモバイル デバイス、および新しい Outlook on Windows (プレビュー) では、通常、ユーザー インターフェイスとaddFileAttachmentAsync方法を使用して最大 499 個のファイルを添付できます。 Outlook on Windows と Mac では、添付ファイルの数を特に制限していません。 ただし、すべての Outlook クライアントは、ユーザーのExchange Serverによって決定される添付ファイルのサイズの制限を確認します (この表の「添付ファイルのサイズ」行を参照してください)。
添付ファイルのサイズ Exchange Server に依存 Item.addFileAttachmentAsync メソッド メール アイテムのすべての添付ファイルのサイズには制限があり、管理者はユーザーのメールボックスのExchange Serverで構成できます。 Outlook on Windows および Mac の場合、アイテムの添付ファイルの数が制限されます。 Outlook on the webとモバイル デバイス、および新しい Outlook on Windows (プレビュー) の場合、2 つの制限 (添付ファイルの数とすべての添付ファイルのサイズ) が小さいほど、アイテムの実際の添付ファイルが制限されます。
添付ファイルの名前 255 文字 Item.addFileAttachmentAsync メソッド アイテムに追加する添付ファイルのファイル名の長さを制限します。
添付ファイルの URI 2,048 文字 Item.addFileAttachmentAsync メソッド

Item.addFileAttachmentFromBase64Async メソッド
アイテムに添付ファイルとして追加するファイル名の URI に関する制限。
添付ファイルの Base64 でエンコードされた文字列 27,892,122 文字 (約 25 MB) Item.addFileAttachmentFromBase64Async メソッド 項目に添付ファイルとして追加される Base64 でエンコードされた文字列の制限。
添付ファイルの ID 100 文字 Item.addItemAttachmentAsync メソッド

Item.removeAttachmentAsync メソッド
アイテムに追加またはアイテムから削除する添付ファイルの ID の長さに関する制限。
非同期呼び出し 3 つの呼び出し Item.addFileAttachmentAsync メソッド

Item.addItemAttachmentAsync メソッド

Item.removeAttachmentAsync メソッド

Body.getTypeAsync メソッド

Body.prependAsync メソッド

Body.setSelectedDataAsync メソッド

CustomProperties.saveAsync メソッド

Item.LoadCustomPropertiesAsync メソッド

Location.getAsync メソッド

Location.setAsync メソッド

Mailbox.getCallbackTokenAsync メソッド

Mailbox.getUserIdentityTokenAsync メソッド

Mailbox.makeEwsRequestAsync メソッド

Recipients.addAsync メソッド

Recipients.getAsync メソッド

Recipients.setAsync メソッド

RoamingSettings.saveAsync メソッド

Subject.getAsync メソッド

Subject.setAsync メソッド

Time.getAsync メソッド

Time.setAsync メソッド
Outlook on the webとモバイル デバイス、および新しい Outlook on Windows (プレビュー) の場合: ブラウザーでは、サーバーへの非同期呼び出しの数が限られているので、同時非同期呼び出しの数を一度に制限します。
送信時の追加 5,000 文字 Body.appendOnSendAsync メソッド 送信時にメッセージまたは予定本文に追加されるコンテンツの制限。
送信前に送信する 5,000 文字 Body.prependOnSendAsync メソッド 送信時にメッセージまたは予定本文の先頭に追加するコンテンツの制限。

コンテキスト Outlook アドインのアクティブ化ルールの制限

重要

エンティティベースのコンテキスト Outlook アドインは、2024 年第 2 四半期に廃止される予定です。 この機能を廃止する作業は 5 月に開始され、6 月末まで継続されます。 6 月以降、コンテキスト アドインはメール アイテム内のエンティティを検出してタスクを実行できなくなります。 次の API も廃止されます。

中断の可能性を最小限に抑えるために、エンティティ ベースのコンテキスト アドインが廃止された後も、次の機能がサポートされます。

  • オンライン会議アドインによってアクティブ化される [会議に参加 ] ボタンの代替実装が開発されています。 エンティティベースのコンテキスト アドインのサポートが終了すると、オンライン会議アドインは自動的に別の実装に移行して [ 会議に参加 ] ボタンをアクティブ化します。
  • エンティティ ベースのコンテキスト アドインが廃止された後も、正規表現ルールは引き続きサポートされます。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 正規表現アクティブ化ルールを使用して Outlook アドインを表示する」を参照してください。

詳細については、「 エンティティ ベースのコンテキスト Outlook アドインの廃止」を参照してください。

コンテキスト Outlook アドインのアクティブ化ルールを設計する場合は、次のガイドラインに従ってください。

  • マニフェストのサイズを 256 KB までに制限します。 この制限を超えた場合、Exchange メールボックスの Outlook アドインをインストールすることはできません。

    注:

    ライセンス認証規則に依存する Outlook アドイン機能は、アドインで Microsoft 365 用の統合マニフェスト (プレビュー) を使用する場合はサポートされません。

  • アドインで指定できるアクティブ化ルールの数は最大 15 です。 この制限を超えた場合は、アドインをインストールできません。

  • Outlook on Windows と Mac では、選択したアイテムの本文に ItemHasKnownEntity ルールを使用する場合、そのルールは本文の最初の 1 MB にのみ適用され、その制限を超える本文の残りの部分には適用されないことを想定しています。 一致が本文の最初の MB の後にのみ存在する場合、アドインはアクティブになりません。 シナリオの可能性が高いと思われる場合は、アクティブ化の条件を再設計します。

  • または ItemHasRegularExpressionMatch ルールでItemHasKnownEntity正規表現を使用する場合は、一般的に Outlook アプリケーションに適用される次の制限とガイドライン、およびアプリケーションに応じて異なる後続のセクションの表で説明されているものに注意してください。

    • アドインのアクティブ化ルールでは、最大 5 つの正規表現を指定します。 この制限を超えた場合は、アドインをインストールできません。
    • 最初の 50 個の一致内のメソッド呼び出しによって getRegExMatches 予想される結果が返されるように、正規表現を指定します。
    • 重要: テキストは、正規表現に一致した結果の文字列に基づいて強調表示されます。 ただし、強調表示された出現箇所は、否定的な先(?!text)読み、後ろ見、および負のルックビハ(?<=text)(?<!text)インドなどの実際の正規表現アサーションの結果と完全に一致しない場合があります。 たとえば、"Like under、under score、およびアンダースコア" で正規表現 under(?!score) を使用すると、最初の 2 つだけではなく、すべての出現箇所に対して "under" という文字列が強調表示されます。

正規表現のサポートの違い

次の表に、制限の一覧を示し、Outlook クライアント間での正規表現のサポートの違いについて説明します。 デバイスやアイテムの本文の種類によってサポートが異なることはありません。

Windows と Mac の Outlook Outlook on the web、モバイル デバイス、および新しい Windows クライアント (プレビュー)
クライアントは、Visual Studio 標準テンプレート ライブラリの一部として提供される C++ 正規表現エンジンを使用します。 このエンジンは ECMAScript 5 標準に準拠しています。 クライアントは、JavaScript の一部である正規表現評価を使用します。 これはブラウザーによって提供され、ECMAScript 5 のスーパーセットをサポートします。
正規表現エンジンが異なるため、定義済みの文字クラスに基づくカスタム文字クラスを含む正規表現では、Outlook on Windows と Mac では、Outlook on the web、モバイル デバイス、および新しい Outlook on Windows (プレビュー) で異なる結果が返される場合があります。

たとえば、正規表現 [\s\S]{0,100} は、空白文字または空白以外の 1 文字の 0 から 100 までの任意の数値と一致します。 この正規表現は、Outlook クライアントに応じて異なる結果を返します。

回避策として、正規表現を として (\s\|\S){0,100}書き換える必要があります。 この正規表現は、空白または空白以外の 0 から 100 までの任意の数値と一致します。

各 Outlook クライアントで各正規表現を徹底的にテストする必要があります。 正規表現が異なる結果を返す場合は、正規表現を書き換えます。
各 Outlook クライアントで各正規表現を徹底的にテストする必要があります。 正規表現が異なる結果を返す場合は、正規表現を書き換えます。
既定では、アドインのすべての正規表現の評価は 1 秒に制限されます。 この制限を超えると、最大 3 回の再評価が発生します。 再評価の制限を超えると、Outlook on Windows と Mac では、どの Outlook クライアントでも同じメールボックスに対してアドインが実行されなくなります。

管理者は、 キーと OutlookActivationManagerRetryLimit レジストリ キーを使用して、これらの評価制限をOutlookActivationAlertThresholdオーバーライドできます。
Outlook on Windows と Mac でサポートされているリソース監視とレジストリ設定は、Outlook on the web、モバイル デバイス、および新しい Outlook on Windows (プレビュー) ではサポートされていません。 ただし、Outlook on Windows と Mac では評価時間が長すぎる正規表現を使用したアドインは、すべての Outlook クライアントで同じメールボックスに対して無効になります。

評価対象アイテムの本文のサイズ制限

次の表に、制限の一覧を示し、各 Outlook クライアントが正規表現を適用するアイテム本文の部分の違いについて説明します。 これらの制限の一部は、アイテム本体に正規表現が適用されている場合、デバイスとアイテムの本文の種類によって異なります。

Windows と Mac の Outlook モバイル デバイス上の Outlook 新しい Windows クライアントでのOutlook on the webと (プレビュー)
フォーム ファクター サポートされているデバイス。 Android スマートフォン、iPad、または iPhone。 Android スマートフォン、iPad、iPhone 以外のサポートされているデバイス。
プレーン テキスト アイテムの本文 RegEx は本文のデータの最初の 1 MB に適用されますが、制限を超える残りの本文には適用されません。 本文 < が 16,000 文字の場合にのみアドインをアクティブ化します。 本文 < が 500,000 文字の場合にのみアドインをアクティブにします。
HTML アイテムの本文 本文のデータの最初の 512 KB に正規表現を適用しますが、その制限を超える本文の残りの部分には適用されません。 (実際の文字数は、1 文字あたり 1 バイトから 4 バイトまでのエンコードによって異なります)。 RegEx は最初の 64,000 文字 (HTML タグ文字を含む) に適用されますが、制限を超える残りの本文には適用されません。 本文 < が 500,000 文字の場合にのみアドインをアクティブにします。

返される一致の制限

次の表に、制限の一覧を示し、正規表現を評価した後に各 Outlook クライアントが返す一致の違いについて説明します。 サポートは、特定の種類のデバイスに依存しませんが、アイテム本文に正規表現が適用されている場合は、アイテム本体の種類によって異なります。

Windows と Mac の Outlook Outlook on the web、モバイル デバイス、および新しい Windows クライアント (プレビュー)
一致が返される順序 このメソッドはgetRegExMatches、Outlook on Windows と Mac の同じメール アイテムと、Outlook on the web、モバイル デバイス、および新しい Outlook on Windows (プレビュー) で適用された同じ正規表現に対して異なる一致を返すものとします。 このメソッドはgetRegExMatches、Outlook on Windows と Mac の同じメール アイテムと、Outlook on the web、モバイル デバイス、および新しい Outlook on Windows (プレビュー) で適用された同じ正規表現に対して異なる一致を返すものとします。
プレーン テキスト アイテムの本文 メソッドは getRegExMatches 、最大 50 個の一致に対して最大 1,536 文字 (1.5 KB) の一致を返します。

: getRegExMatches 返される配列内の特定の順序で一致が返されることはありません。 一般に、Outlook on Windows と Mac の同じメール アイテムに適用される同じ正規表現の一致の順序が、Outlook on the web、モバイル デバイス、新しい Outlook on Windows (プレビュー) とは異なると仮定します。
getRegExMatches は、最大 3,072 文字 (3 KB) の一致を返し、最大 50 個の一致を返します。
HTML アイテムの本文 getRegExMatches は、最大 3,072 文字 (3 KB) の一致を返し、最大 50 個の一致を返します。

: getRegExMatches 返される配列内の特定の順序で一致が返されることはありません。 一般に、Outlook on Windows と Mac の同じメール アイテムに適用される同じ正規表現の一致の順序が、Outlook on the web、モバイル デバイス、新しい Outlook on Windows (プレビュー) とは異なると仮定します。
getRegExMatches は、最大 3,072 文字 (3 KB) の一致を返し、最大 50 個の一致を返します。

関連項目