共有または委任されたフォルダー内の Outlook メッセージを取得する

Outlook では、ユーザーがメール フォルダーを互いに共有し、個々のフォルダーに対する読み取り、作成、変更、削除のアクセス権を与えることができます。 また、Outlook では、あるユーザーが別のユーザーの代理人としてふるまい、ユーザーのメールボックス全体の中にある特定のメール フォルダーにアクセスすることもできます。これは Outlook では "委任" とも呼ばれます。

Microsoft Graph では、プログラムによって、他のユーザーによって共有されているメール フォルダー内のメッセージの取得と、共有フォルダー自体の取得がサポートされています。 サポートは、委任されたフォルダーにも適用されます。

たとえば、Garth は自分の受信トレイを John に共有し、読み取りアクセス権を与えています。 John がアプリにサインインし、委任されたアクセス許可 (Mail.Read.Shared または Mail.ReadWrite.Shared) を提供する場合、アプリは、この記事の説明に従って Garth のメールと Garth の受信トレイにアクセスします。

Microsoft Graph のアクセス許可

委任されたアクセス許可、Mail.Read.Shared または Mail.ReadWrite.Shared を使用して、共有フォルダーまたは委任フォルダー内のメッセージをそれぞれ読み取りまたは書き込みます。

これら 2 つのアクセス許可は、共有フォルダーまたは委任されたフォルダー内のアイテムに対 する変更通知のサブスクライブ をサポートしていません。 テナントで共有フォルダー、委任フォルダー、その他のユーザーのメール フォルダーに含まれているメッセージに変更通知サブスクリプションを設定するには、アプリケーション アクセス許可の Mail.Read を使用します。

詳細については、「メールのアクセス許可」を参照してください。

共有フォルダーのメッセージを取得

Garth の受信トレイの特定のメッセージを取得できます:

GET users/{Garth-userId | Garth-userPrincipalName}/mailfolders('Inbox')/messages/{id}

正常に完了すると、HTTP 200 OK と Garth の受信トレイから識別{id}されたメッセージ インスタンスが取得されます。

共有フォルダー内の全メッセージを取得

Garth の受信トレイの全メッセージを取得:

GET users/{Garth-userId | Garth-userPrincipalName}/mailfolders('Inbox')/messages

正常に完了すると、HTTP 200 OK と Garth の受信トレイに メッセージ インスタンスのコレクションが表示されます。

共有フォルダーを取得

Garth が John と共有したフォルダー (受信トレイ) を取得します。

GET users/{Garth-userId | Garth-userPrincipalName}/mailfolders('Inbox')

正常に完了すると、HTTP 200 OK と Garth の受信トレイ フォルダーを表す mailFolder インスタンスが取得されます。

Garth が John に対して、Garth の受信トレイへのさらに多くのアクセス権を委任していた場合、または Garth が自分のメールボックス全体を John に委任していた場合も、同じ GET 機能が適用されます。

Garth が受信トレイを John と共有していない場合や、メールボックスを John に委任していない場合は、それらの GET 操作で Garth のユーザー ID またはユーザー プリンシパル名を指定するとエラーが返されます。

次の手順