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 も廃止されます。
- Office.context.mailbox.item.getEntities()
- Office.context.mailbox.item.getEntitiesByType(entityType)
- Office.context.mailbox.item.getFilteredEntitiesByName(name)
- Office.context.mailbox.item.getSelectedEntities()
中断の可能性を最小限に抑えるために、エンティティ ベースのコンテキスト アドインが廃止された後も、次の機能がサポートされます。
- オンライン会議アドインによってアクティブ化される [会議に参加 ] ボタンの代替実装が開発されています。 エンティティベースのコンテキスト アドインのサポートが終了すると、オンライン会議アドインは自動的に別の実装に移行して [ 会議に参加 ] ボタンをアクティブ化します。
- エンティティ ベースのコンテキスト アドインが廃止された後も、正規表現ルールは引き続きサポートされます。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 正規表現アクティブ化ルールを使用して 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 個の一致を返します。 |
関連項目
Office Add-ins
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示