Outlook メール REST API を使用する

重要

Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。

Microsoft Graph を使用すると、アプリは個人または組織のアカウントでユーザーの Outlook メール データに正当にアクセスできます。 適切な委任されたメールまたはアプリケーション のメールアクセス許可を使用すると、アプリはサインインしているユーザーまたはテナント内の任意のユーザーのメール データにアクセスできます。 アクセス トークン、アプリの登録、委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「 認証と承認の基本」を参照してください。

Microsoft Graph API は、ユーザーの プライマリ メールボックスおよび 共有メールボックス のデータへのアクセスをサポートしています。 データは、Microsoft 365 の一部として Exchange Online のクラウド内のメールボックスに保存されるか、ハイブリッド展開のオンプレミスの Exchange に保存されるカレンダー、メール、または個人の連絡先にすることができます。

この API は、Exchange Online 上Exchange Server 上 ではなく、インプレース アーカイブ メールボックスへのアクセスをサポートしていません

メール REST API の使用

メール API 要求は、ユーザーの id プロパティ (一意の GUID)、電子メール アドレス、サインインしているユーザーの me ショートカット エイリアスで識別できるユーザーに代わって実行されます。

Emailメッセージはメッセージ リソースによって表され、mailFolder で編成されます。 メッセージとメール フォルダーは、操作からGET取得できる id プロパティによって識別されます。

重要

一般的に、メールボックス内で message ID と mailfolder ID が一意で常に同じ状態であるとは想定しないでください。 それらは、コピーまたは移動などの特定の操作の後に変更される可能性があります。 メッセージが同じメールボックスに残っている限り、同じ ID を保持するために 不変 ID を使用することもできます。ただし、下書きメッセージの送信およびいくつかのその他のシナリオの場合は除きます。 詳細については、「不変 ID の有効期間」を確認してください。

メッセージ本文は、HTML 形式またはテキスト形式になります。

InboxDraftsSentItemsDeletedItems などの既知のフォルダー名を使用して、すべてのユーザーに既定で存在する特定のメール フォルダーを識別できます。 サポートされている既知のフォルダー名の一覧については、「mailFolder リソースの種類」を参照してください。

たとえば、最初にフォルダー ID を取得せずに、サインインしているユーザーの Outlook 送信済みアイテム フォルダー内のメッセージを取得できます。

GET /me/mailFolders('SentItems')/messages?$select=sender,subject

一般的なユース ケース

message リソースは、UI で利用可能な機能に対応する categoriesconversationIdflagimportance などのプロパティを公開し、アプリを自動化したり、組み込みの Outlook ユーザー エクスペリエンスを統合したりできるようにします。

Microsoft Graph API には、メッセージの一般的なユース ケースをサポートするメソッドとアクションも用意されています。

ユース ケース REST リソース 関連項目
ユーザー指向のアクション
メッセージを下書き、読み取り、返信、転送、送信、更新、削除する message message のメソッド
メールボックス所有者の代理としてメッセージを送信するように別のユーザーに委任する message メッセージfrom プロパティと sender プロパティの設定
ユーザーがより重要なメッセージを最初に表示できるようにする inferenceClassificationOverride 優先受信トレイ
検索フォルダ―でメッセージの検索を行い、メッセージを取得する mailSearchFolder mailSearchFolder のメソッド
メッセージまたはメッセージの添付ファイルの MIME コンテンツを取得する message MIME コンテンツを取得する
MIME コンテンツでメッセージを送信する メッセージ MIME コンテンツを送信する
メッセージの添付ファイルを追加、取得、削除する attachment
fileAttachment
itemAttachment
referenceAttachment
message
添付ファイルのメソッド
ユーザーの言語とタイムゾーンの選択肢を取得する localeInfo
timeZoneInformation
supportedLanguages
supportedTimeZones
ユーザーの自動応答、ロケール、タイム ゾーン、就業時間を取得または更新する mailboxSettings
automaticRepliesSetting
localeInfo
workingHours
ユーザーのメールボックスの設定を取得する
ユーザーのメールボックスの設定を更新する
不在など、他の受信者の特別な状態のメールヒントを取得する user
mailTips
メール ヒントを取得する
その他のメッセージに記載されている場合は、ユーザーに警告する (プレビュー) mention (プレビュー) メッセージ内の @-mentions の詳細を取得する
ユーザーを電子メール配布リストの登録から解除する (プレビュー) message (プレビュー) 登録を解除する
メールとフォルダーの管理
メール フォルダー階層内のメッセージを整理する mailFolder mailFolder のメソッド
メッセージを分類する outlookCategory outlookCategory のメソッド
受信トレイのルールを使用して、特定の着信メッセージを転送するなどの操作を自動化する messageRule messageRule のメソッド
メッセージのインターネット メッセージ ヘッダーを取得する message メッセージの internetMessageHeaders プロパティを取得します
メッセージの検索とフィルター処理 message クエリ パラメーター
フォルダー内のメッセージに対する変更の通知を受け取る subscription Microsoft Graph の Webhooks での作業
メッセージまたはメール フォルダーの階層を同期する message フォルダー内のメッセージへの増分の変更を取得する
アプリ開発
カスタム アプリのデータをメッセージのインターネット メッセージ ヘッダーとして追加する message メッセージの internetMessageHeaders コレクションにカスタム データを追加します。
拡張機能を使用してカスタム アプリのデータをメッセージに追加する openTypeExtension
schemaExtension
拡張機能を使用してカスタム データをリソースに追加する
公開の度合いが不十分の Outlook MAPI プロパティのカスタム データにアクセスする singleValueLegacyExtendedProperty
multiValueLegacyExtendedProperty
Outlook の拡張プロパティの概要

次の手順

メール API は、ユーザーと連携するための新しい方法を開発することができます。