Outlook アドインのアクセス許可を理解する
Outlook アドインは、マニフェストで必要なアクセス許可レベルを指定します。 使用可能なレベルは 4 つあります。
アクセス許可レベル 非現実的な名前 |
アドインのみのマニフェスト名 | Microsoft 365 名の統合マニフェスト | 概要の説明 |
---|---|---|---|
制限 | Restricted | MailboxItem.Restricted.User | ユーザーまたはメール アイテムに関する特定の情報に関連しないプロパティとメソッドへのアクセスを許可します。 |
アイテムの読み取り | ReadItem | MailboxItem.Read.User |
制限付きで許可される内容に加えて、次のことができます。
|
読み取り/書き込み項目 | ReadWriteItem | MailboxItem.ReadWrite.User |
読み取り項目で許可される内容に加えて、次のことができます。
|
メールボックスの読み取り/書き込み | ReadWriteMailbox | Mailbox.ReadWrite.User |
読み取り/書き込み項目で許可される内容に加えて、次のことができます。
|
アクセス許可はマニフェストで宣言されます。 マークアップはマニフェストの種類によって異なります。
- アドインのみのマニフェスト: <Permissions> 要素を使用します。
- Microsoft 365 の統合マニフェスト: "authorization.permissions.resourceSpecific" 配列内のオブジェクトの "name" プロパティを使用します。
注:
- 追加オン送信機能を使用するアドインには補助アクセス許可が必要です。 アドインのみのマニフェストで、 ExtendedPermissions 要素でアクセス許可を指定します。 詳細については、「 Outlook アドインに追加送信を実装する」を参照してください。 統合マニフェストを使用して、"authorization.permissions.resourceSpecific" 配列の追加オブジェクトに Mailbox.AppendOnSend.User という名前でこのアクセス許可を指定します。
- 共有フォルダーを使用するアドインには補助アクセス許可が必要です。 アドインのみのマニフェストでは、 SupportsSharedFolders 要素を
true
に設定して、アクセス許可を指定します。 詳細については、「 Outlook アドインで共有フォルダーと共有メールボックスのシナリオを有効にする」を参照してください。 統合マニフェストを使用して、"authorization.permissions.resourceSpecific" 配列の追加オブジェクトに Mailbox.SharedFolder という名前でこのアクセス許可を指定します。
アクセス許可の 4 つのレベルは累積的です。メールボックス読み取り/書き込みアクセス許可にはアイテム読み取り/書き込み、アイテム読み取り、および制限付きが含まれており、アイテム読み取り/書き込みにはアイテム読み取りと制限付きが含まれており、またアイテム読み取りアクセス許可には制限付きが含まれています。
AppSource からインストールする前に、メール アドインによって要求されたアクセス許可を確認できます。 Exchange 管理センターで、インストールしたアドインに必要なアクセス許可を表示することもできます。
制限付きアクセス許可
制限付きアクセス許可は、最も基本的なレベルのアクセス許可です。 アドインがマニフェストで特定のアクセス許可を要求しない場合、Outlook はこのアクセス許可を既定でメール アドインに割り当てます。
できること
ユーザーまたはアイテムに関する特定の情報に関連しないプロパティとメソッドへのアクセス (これを実行するメンバーのリストは、次のセクションを参照)。
できないこと
ItemHasAttachment ルールまたは ItemHasRegularExpressionMatch ルールを使用。
ユーザーまたはアイテムの情報に関連する次のリストに示すメンバーへのアクセス。 このリストのメンバーにアクセスしようとすると、null が返され、Outlook がメール アドインにアクセス許可の引き上げを要求していることを伝えるエラー メッセージが表示されます。
- item.addFileAttachmentAsync
- item.addItemAttachmentAsync
- item.attachments
- item.bcc
- item.body
- item.cc
- item.from
- item.getRegExMatches
- item.getRegExMatchesByName
- item.optionalAttendees
- item.organizer
- item.removeAttachmentAsync
- item.requiredAttendees
- item.sender
- item.to
- mailbox.getCallbackTokenAsync
- mailbox.getUserIdentityTokenAsync
- mailbox.makeEwsRequestAsync
- mailbox.userProfile
- Body およびその子メンバーすべて
- Location およびその子メンバーすべて
- Recipients およびその子メンバーすべて
- Subject およびその子メンバーすべて
- Time およびその子メンバーすべて
アイテムの読み取りアクセス許可
読み取り項目のアクセス許可は、アクセス許可モデルの次のレベルのアクセス許可です。
できること
閲覧フォームまたは 新規作成フォームの現在のアイテムの すべてのプロパティの読み取り。たとえば、閲覧フォームの item.to および新規作成フォームの item.to.getAsync。
Exchange Web Services (EWS) または Outlook REST API でアイテムの添付ファイルを取得するか、アイテム全体を取得するためのコールバック トークンを取得。
重要
従来の Exchange トークンは非推奨です。 2024 年 10 月以降、Exchange Online テナントのレガシ Exchange ユーザー ID と コールバック トークンはオフになり始めます。 タイムラインと詳細については、 FAQ ページを参照してください。 これは、現在の脅威の状況に対応するために必要なツールを組織に提供する 、Microsoft の Secure Future Initiative の一部です。 Exchange ユーザー ID トークンは、引き続き Exchange オンプレミスで機能します。 入れ子になったアプリ認証は、今後のトークンに推奨される方法です。
そのアイテムのアドインが設定するカスタム プロパティの書き込み。
コンテキスト アドインで 正規表現 を使用します。
できないこと
mailbox.getCallbackTokenAsync によって提供されるトークンを次の目的に使用すること。
- Outlook REST API を使用した現在のアイテムの更新または削除、またはユーザーのメールボックスにあるその他アイテムへのアクセス。
- Outlook REST API を使用した現在の予定表イベント アイテムの取得。
次のいずれかの API を使用します。
- mailbox.makeEwsRequestAsync
- item.addFileAttachmentAsync
- item.addItemAttachmentAsync
- item.bcc.addAsync
- item.bcc.setAsync
- item.body.prependAsync
- item.body.setAsync
- item.body.setSelectedDataAsync
- item.cc.addAsync
- item.cc.setAsync
- item.end.setAsync
- item.location.setAsync
- item.optionalAttendees.addAsync
- item.optionalAttendees.setAsync
- item.removeAttachmentAsync
- item.requiredAttendees.addAsync
- item.requiredAttendees.setAsync
- item.start.setAsync
- item.subject.setAsync
- item.to.addAsync
- item.to.setAsync
アイテムの読み取り/書き込みアクセス許可
マニフェストで アイテムの読み取り/書き込み アクセス許可を指定して、このアクセス許可を要求します。 作成フォームでアクティブになり、書き込みメソッド (Message.to.addAsync または Message.to.setAsync) を使用するメール アドインは、このレベル以上のアクセス許可を使用する必要があります。
できること
Outlook で閲覧または新規作成されているアイテムのすべてのアイテム レベルのプロパティを読み書き。
そのアイテムで添付ファイルを追加または削除。
メールボックス.makeEWSRequestAsync を除き、メール アドインに適用できる Office JavaScript API の他のすべてのメンバーを使用します。
できないこと
mailbox.getCallbackTokenAsync によって提供されるトークンを次の目的に使用すること。
- Outlook REST API を使用した現在のアイテムの更新または削除、またはユーザーのメールボックスにあるその他アイテムへのアクセス。
- Outlook REST API を使用した現在の予定表イベント アイテムの取得。
Mailbox.makeEWSRequestAsync の使用。
メールボックスの読み取り/書き込みアクセス許可
メールボックスの読み取り/書き込みアクセス許可は、最高レベルのアクセス許可です。
アイテムの読み取り/書き込みアクセス許可がサポートするものに加えて、mailbox.getCallbackTokenAsync によって提供されるトークンは、Exchange Web Services (EWS) 操作または Outlook REST API を使用して次の操作を実行するためのアクセスを提供します。
- ユーザーのメール ボックスのアイテムのすべてのプロパティの読み取りと書き込み。
- そのメール ボックスのフォルダーまたはアイテムの作成、読み取り、書き込み。
- そのメール ボックスからのアイテムの送信。
mailbox.makeEWSRequestAsync を使用して、次の EWS 操作にアクセスできます。
- CopyItem
- CreateFolder
- CreateItem
- FindConversation
- FindFolder
- FindItem
- GetConversationItems
- GetFolder
- GetItem
- MarkAsJunk
- MoveItem
- SendItem
- UpdateFolder
- UpdateItem
サポートされていない操作を使用すると、エラーが返されます。
重要
従来の Exchange トークンは非推奨です。 2024 年 10 月以降、Exchange Online テナントのレガシ Exchange ユーザー ID と コールバック トークンはオフになり始めます。 タイムラインと詳細については、 FAQ ページを参照してください。 これは、現在の脅威の状況に対応するために必要なツールを組織に提供する 、Microsoft の Secure Future Initiative の一部です。 Exchange ユーザー ID トークンは、引き続き Exchange オンプレミスで機能します。 入れ子になったアプリ認証は、今後のトークンに推奨される方法です。
関連項目
Office Add-ins