Office.Mailbox interface
Microsoft Outlook アドイン オブジェクト モデルへのアクセスを提供します。
主なプロパティ:
diagnostics: Outlook アドインに診断情報を提供します。item: Outlook アドインのメッセージまたは予定にアクセスするためのメソッドおよびプロパティを提供します。userProfile: Outlook アドインでユーザーに関する情報を提供します。
注釈
最小アクセス許可レベル: 制限付き
適用可能な Outlook モード: Composeまたは読み取り
使用元
例
Office.onReady(() => {
document.addEventListener('DOMContentLoaded', () => {
// Get a reference to the mailbox and use it to add an event handler.
const mailbox = Office.context.mailbox;
mailbox.addHandlerAsync(Office.EventType.ItemChanged, loadNewItem, (result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
// Handle error.
}
});
});
});
function loadNewItem(eventArgs) {
const item = Office.context.mailbox.item;
// Check that item isn't null.
if (item !== null) {
// Work with item. For example, define and call a function that
// loads the properties of the newly selected item.
loadProps(item);
}
}
プロパティ
| diagnostics | Outlook アドインに診断情報を提供します。 アクセスできる診断プロパティの詳細については、「 Office.Diagnostics」を参照してください。 |
| ews |
Gets the URL of the Exchange Web サービス (EWS) endpoint for this email account. |
| item | メールボックス アイテム。 アドインを開いたコンテキストによっては、アイテムの種類が異なる場合があります。 特定の種類またはモードについてのみ IntelliSense を表示する場合は、この項目を次のいずれかにキャストします。 MessageCompose、 MessageRead、 AppointmentCompose、 AppointmentRead 重要:
|
| master |
メールボックスに関連付けられているカテゴリ マスター リストを管理するメソッドを提供するオブジェクトを取得します。 |
| rest |
この電子メール アカウントの REST エンドポイントの URL を取得します。 |
| user |
メールボックスに関連付けられているユーザーに関する情報。 これには、アカウントの種類、表示名、メール アドレス、タイム ゾーンが含まれます。 詳細については、 Office.UserProfile を参照してください。 |
メソッド
| add |
サポートされているイベントのイベント ハンドラーを追加します。 イベントは、作業ウィンドウのアドインでのみ使用できます。 |
| add |
サポートされているイベントのイベント ハンドラーを追加します。 イベントは、作業ウィンドウのアドインでのみ使用できます。 |
| convert |
サポートされている ID を Exchange Web サービス (EWS) 形式に変換します。 |
| convert |
クライアントのローカル時間で時間情報が含まれている辞書を取得します。 Outlook クライアントで使用されるタイム ゾーンは、プラットフォームによって異なります。 Windows (クラシック) および Mac 上の Outlook では、クライアント コンピューターのタイム ゾーンが使用されます。 Outlook on the web と新しい Outlook on Windows は、Exchange 管理センター (EAC) で設定されたタイム ゾーンを使用します。 ユーザー インターフェイスに表示される値が常にユーザーが期待するタイム ゾーンと一致するように、日付と時刻の値を処理してください。 Windows (クラシック) の Outlook と Mac の Outlook では、 |
| convert |
サポートされている ID を REST 形式に変換します。 |
| convert |
時間情報を含む辞書から
|
| display |
既存の予定を表示します。
Outlook on Mac では、この方法を使用して、定期的な予定の一部ではない 1 つの予定や、定期的な予定のマスター予定を表示することができます。 ただし、定期的な系列のインスタンスのプロパティ (アイテム ID を含む) にアクセスできないため、系列のインスタンスを表示することはできません。 Outlook on the web および新しい Outlook on Windows では、このメソッドは、フォームの本文が 32,000 文字以下の場合にのみ、指定されたフォームを開きます。 指定したアイテム識別子が既存の予定を識別しない場合、クライアント コンピューターまたはデバイスで空白のウィンドウが開き、エラー メッセージは返されません。 |
| display |
既存の予定を表示します。
Outlook on Mac では、この方法を使用して、定期的な予定の一部ではない 1 つの予定、または定期的な予定のマスター予定を表示することができます。 ただし、定期的な系列のインスタンスのプロパティ (アイテム ID を含む) にアクセスできないため、系列のインスタンスを表示することはできません。 Outlook on the web および新しい Outlook on Windows では、このメソッドは、フォームの本文が 32,000 文字以下の場合にのみ、指定されたフォームを開きます。 指定したアイテム識別子が既存の予定を識別しない場合、クライアント コンピューターまたはデバイスで空白のウィンドウが開き、エラー メッセージは返されません。 注: この方法は、iOS 版または Android 版 Outlook ではサポートされていません。 |
| display |
既存の予定を表示します。
Outlook on Mac では、この方法を使用して、定期的な予定の一部ではない 1 つの予定、または定期的な予定のマスター予定を表示することができます。 ただし、定期的な系列のインスタンスのプロパティ (アイテム ID を含む) にアクセスできないため、系列のインスタンスを表示することはできません。 Outlook on the web および新しい Outlook on Windows では、このメソッドは、フォームの本文が 32,000 文字以下の場合にのみ、指定されたフォームを開きます。 指定したアイテム識別子が既存の予定を識別しない場合、クライアント コンピューターまたはデバイスで空白のウィンドウが開き、エラー メッセージは返されません。 注: この方法は、iOS 版または Android 版 Outlook ではサポートされていません。 |
| display |
既存のメッセージを表示します。
Outlook on the web および新しい Outlook on Windows では、このメソッドは、フォームの本文が 32,000 文字以下の場合にのみ、指定されたフォームを開きます。 指定されたアイテム識別子で既存のメッセージが識別されない場合、クライアント コンピューターにメッセージは表示されず、エラー メッセージも返されません。 |
| display |
既存のメッセージを表示します。
Outlook on the web および新しい Outlook on Windows では、このメソッドは、フォームの本文が 32,000 文字以下の場合にのみ、指定されたフォームを開きます。 指定されたアイテム識別子で既存のメッセージが識別されない場合、クライアント コンピューターにメッセージは表示されず、エラー メッセージも返されません。 予定を表す itemId を持つ 注: この方法は、iOS 版または Android 版 Outlook ではサポートされていません。 |
| display |
既存のメッセージを表示します。
Outlook on the web および新しい Outlook on Windows では、このメソッドは、フォームの本文が 32,000 文字以下の場合にのみ、指定されたフォームを開きます。 指定されたアイテム識別子で既存のメッセージが識別されない場合、クライアント コンピューターにメッセージは表示されず、エラー メッセージも返されません。 予定を表す itemId を持つ 注: この方法は、iOS 版または Android 版 Outlook ではサポートされていません。 |
| display |
新しい予定を作成するためのフォームを表示します。
Outlook on the web および新しい Outlook on Windows では、この方法により、出席者フィールドを含むフォームが常に表示されます。 入力引数として出席者を指定しない場合、メソッドは [保存] ボタンを含むフォームを表示します。 出席者を指定した場合には、フォームにその出席者と [送信] ボタンが表示されます。 Windows (クラシック) および Mac の Outlook では、 パラメータのいずれかが指定されたサイズ制限を超えた場合、または不明なパラメータ名が指定された場合には、例外がスローされます。 |
| display |
新しい予定を作成するためのフォームを表示します。
Outlook on the web および新しい Outlook on Windows では、この方法により、出席者フィールドを含むフォームが常に表示されます。 入力引数として出席者を指定しないと、このメソッドにより [保存] ボタンのあるフォームが表示されます。 出席者を指定した場合には、フォームにその出席者と [送信] ボタンが表示されます。 Windows (クラシック) および Mac の Outlook では、 パラメータのいずれかが指定されたサイズ制限を超えた場合、または不明なパラメータ名が指定された場合には、例外がスローされます。 注: この方法は、iOS 版または Android 版 Outlook ではサポートされていません。 |
| display |
新しい予定を作成するためのフォームを表示します。
Outlook on the web および新しい Outlook on Windows では、この方法により、出席者フィールドを含むフォームが常に表示されます。 入力引数として出席者を指定しないと、このメソッドにより [保存] ボタンのあるフォームが表示されます。 出席者を指定した場合には、フォームにその出席者と [送信] ボタンが表示されます。 Windows (クラシック) および Mac の Outlook では、 パラメータのいずれかが指定されたサイズ制限を超えた場合、または不明なパラメータ名が指定された場合には、例外がスローされます。 注: この方法は、iOS 版または Android 版 Outlook ではサポートされていません。 |
| display |
新しいメッセージを作成するためのフォームを表示します。
パラメータのいずれかが指定されたサイズ制限を超えた場合、または不明なパラメータ名が指定された場合には、例外がスローされます。 |
| display |
新しいメッセージを作成するためのフォームを表示します。
パラメータのいずれかが指定されたサイズ制限を超えた場合、または不明なパラメータ名が指定された場合には、例外がスローされます。 |
| display |
新しいメッセージを作成するためのフォームを表示します。
パラメータのいずれかが指定されたサイズ制限を超えた場合、または不明なパラメータ名が指定された場合には、例外がスローされます。 |
| get |
REST API または Exchange Web サービス (EWS) の呼び出しに使用されるトークンを含む文字列を取得します。
トークンは、 |
| get |
Exchange Server から添付ファイルやアイテムを取得するために使用するトークンを含む文字列を取得します。
トークンは、 |
| get |
現在のメールボックスが Microsoft Intune によって管理されている場合は true を返します。 |
| get |
organization の Intune モバイル アプリケーション管理 (MAM) ポリシーで、アドインが指定した場所からデータにアクセスすることが許可されている場合は true を返します。 |
| get |
organization の Intune モバイル アプリケーション管理 (MAM) ポリシーで、アドインが指定した場所にデータを保存することが許可されている場合は true を返します。 |
| get |
アドインがアクティブ化して操作を実行できる、現在選択されているメッセージを取得します。 アドインは、一度に最大 100 個のメッセージに対してアクティブ化できます。 アイテムの複数選択の詳細については、「 複数のメッセージに対して Outlook アドインをアクティブ化する」を参照してください。 |
| get |
アドインがアクティブ化して操作を実行できる、現在選択されているメッセージを取得します。 アドインは、一度に最大 100 個のメッセージに対してアクティブ化できます。 アイテムの複数選択の詳細については、「 複数のメッセージに対して Outlook アドインをアクティブ化する」を参照してください。 |
| get |
ユーザーと Office アドインを識別するトークンを取得します。 トークンは、 |
| load |
Exchange Web サービス (EWS) ID で 1 つのメール アイテムを読み込みます。 次に、読み込まれた項目のプロパティとメソッドを提供するオブジェクトを取得します。 |
| load |
Exchange Web サービス (EWS) ID で 1 つのメール アイテムを読み込みます。 次に、読み込まれた項目のプロパティとメソッドを提供するオブジェクトを取得します。 |
| make |
ユーザーのメールボックスをホストする Exchange サーバー上の Exchange Web サービス (EWS) サービスに対して非同期要求を行います。
|
| remove |
サポートされているイベントの種類のイベント ハンドラーを削除します。 イベントは、作業ウィンドウのアドインでのみ使用できます。 |
| remove |
サポートされているイベントの種類のイベント ハンドラーを削除します。 イベントは、作業ウィンドウのアドインでのみ使用できます。 |
プロパティの詳細
diagnostics
Outlook アドインに診断情報を提供します。
アクセスできる診断プロパティの詳細については、「 Office.Diagnostics」を参照してください。
diagnostics: Diagnostics;
プロパティ値
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: Composeまたは読み取り
メールボックス要件セット 1.5 以降では、Office.context.診断プロパティを使用して同様の情報を取得することもできます。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-diagnostic-information.yaml
// This function gets a mailbox's diagnostic information, such as Outlook client and version, and logs it to the console.
const diagnostics = Office.context.mailbox.diagnostics;
console.log(`Client application: ${diagnostics.hostName}`);
console.log(`Client version: ${diagnostics.hostVersion}`);
switch (diagnostics.OWAView) {
case undefined:
console.log("Current view (Outlook on the web only): Not applicable. An Outlook desktop client is in use.");
break;
case Office.MailboxEnums.OWAView.OneColumnNarrow:
console.log("Current view (Outlook on the web only): Viewed from an older generation mobile phone");
break;
case Office.MailboxEnums.OWAView.OneColumn:
console.log("Current view (Outlook on the web only): Viewed from a newer generation mobile phone");
break;
case Office.MailboxEnums.OWAView.TwoColumns:
console.log("Current view (Outlook on the web only): Viewed from a tablet");
break;
case Office.MailboxEnums.OWAView.ThreeColumns:
console.log("Current view (Outlook on the web only): Viewed from a desktop computer");
break;
}
if (Office.context.requirements.isSetSupported("Mailbox", "1.16")) {
const ewsTokenStatus = diagnostics.ews;
ewsTokenStatus.getTokenStatusAsync({ isRest: false }, (result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.log(result.error.message);
return;
}
const status = result.value;
switch (status) {
case Office.MailboxEnums.TokenStatus.Enabled:
console.log("EWS token status: EWS callback tokens are enabled.");
break;
case Office.MailboxEnums.TokenStatus.Disabled:
console.log("EWS token status: EWS callback tokens are disabled.");
break;
case Office.MailboxEnums.TokenStatus.Removed:
console.log("EWS token status: The organization has an Exchange Online environment. Legacy Exchange tokens are no longer supported.");
break;
}
});
}
ewsUrl
Gets the URL of the Exchange Web サービス (EWS) endpoint for this email account.
ewsUrl: string;
プロパティ値
string
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: Composeまたは読み取り
重要:
アプリには、読み取りモードで
ewsUrlメンバーを呼び出すには、マニフェストで指定された読み取りアイテム アクセス許可が必要です。作成モードでは、
ewsUrlメンバーを使用する前にsaveAsyncメソッドを呼び出す必要があります。saveAsyncメソッドを呼び出すには、アプリに読み取り/書き込み項目のアクセス許可が必要です。このプロパティは、Outlook on Android または iOS ではサポートされていません。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください。
The
ewsUrlvalue can be used by a remote service to make EWS calls to the user's mailbox. たとえば、リモート サービスを作成して、選択したアイテムから添付ファイルを取得できます。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-for-exchange-on-premises/ids-and-urls.yaml
// Get the EWS URL and EWS item ID.
console.log("EWS URL: " + Office.context.mailbox.ewsUrl);
const ewsId = Office.context.mailbox.item.itemId;
console.log("EWS item ID: " + Office.context.mailbox.item.itemId);
// Convert the EWS item ID to a REST-formatted ID.
const restId = Office.context.mailbox.convertToRestId(ewsId, Office.MailboxEnums.RestVersion.v2_0);
console.log("REST item ID: " + restId);
// Convert the REST-formatted ID back to an EWS-formatted ID.
const ewsId2 = Office.context.mailbox.convertToEwsId(restId, Office.MailboxEnums.RestVersion.v2_0);
console.log("EWS ID (from REST ID): " + ewsId2);
item
メールボックス アイテム。 アドインを開いたコンテキストによっては、アイテムの種類が異なる場合があります。 特定の種類またはモードについてのみ IntelliSense を表示する場合は、この項目を次のいずれかにキャストします。
MessageCompose、 MessageRead、 AppointmentCompose、 AppointmentRead
重要:
メッセージで
Office.context.mailbox.itemを呼び出すときは、Outlook クライアントの閲覧ウィンドウがオンになっている必要があることに注意してください。 閲覧ウィンドウを構成する方法については、「 閲覧ウィンドウを使用してメッセージをプレビューする」を参照してください。itemアドインが作業ウィンドウのピン留めをサポートしている場合は、Null を指定できます。 処理方法の詳細については、「Outlook でピン留め可能な作業ウィンドウを実装する」を参照してください。
item?: Item & ItemCompose & ItemRead & Message & MessageCompose & MessageRead & Appointment & AppointmentCompose & AppointmentRead;
プロパティ値
masterCategories
メールボックスに関連付けられているカテゴリ マスター リストを管理するメソッドを提供するオブジェクトを取得します。
masterCategories: MasterCategories;
プロパティ値
注釈
最小アクセス許可レベル: メールボックスの読み取り/書き込み
適用可能な Outlook モード: Composeまたは読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/45-categories/work-with-master-categories.yaml
Office.context.mailbox.masterCategories.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const categories = asyncResult.value;
if (categories && categories.length > 0) {
console.log("Master categories:");
console.log(JSON.stringify(categories));
} else {
console.log("There are no categories in the master list.");
}
} else {
console.error(asyncResult.error);
}
});
...
const masterCategoriesToAdd = [
{
displayName: "TestCategory",
color: Office.MailboxEnums.CategoryColor.Preset0
}
];
Office.context.mailbox.masterCategories.addAsync(masterCategoriesToAdd, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Successfully added categories to master list");
} else {
console.log("masterCategories.addAsync call failed with error: " + asyncResult.error.message);
}
});
...
const masterCategoriesToRemove = ["TestCategory"];
Office.context.mailbox.masterCategories.removeAsync(masterCategoriesToRemove, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Successfully removed categories from master list");
} else {
console.log("masterCategories.removeAsync call failed with error: " + asyncResult.error.message);
}
});
restUrl
この電子メール アカウントの REST エンドポイントの URL を取得します。
restUrl: string;
プロパティ値
string
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: Composeまたは読み取り
重要:
Outlook REST v2.0 およびベータ エンドポイントは非推奨になりました。 ただし、プライベート リリースおよび AppSource でホストされているアドインは、Outlook 2019 の延長サポートが 2025 年 10 月 14 日に終了するまで、REST サービスを使用できます。 これらのアドインからのトラフィックは、自動的に除外対象として識別されます。 この例外は、2024 年 3 月 31 日以降に開発された新しいアドインにも適用されます。 アドインは 2025 年まで REST サービスを使用できますが、 Microsoft Graph を使用するようにアドインを移行することを強くお勧めします。 ガイダンスについては、「 Microsoft Graph と Outlook REST API エンドポイントの比較」を参照してください。
アドインには、読み取りモードで
restUrlメンバーを呼び出すには、マニフェストで指定された読み取りアイテム アクセス許可が必要です。In compose mode you must call the
saveAsyncmethod before you can use therestUrlmember. アドインには、saveAsyncメソッドを呼び出すための読み取り/書き込み項目のアクセス許可が必要です。 ただし、デリゲートまたは共有のシナリオでは、代わりに SharedProperties オブジェクトのtargetRestUrlプロパティを使用する必要があります (要件セット 1.8 で導入)。 詳細については、 共有フォルダーと共有メールボックスに関する 記事を参照してください。
例
// Get the URL of the REST endpoint.
const restUrl = Office.context.mailbox.restUrl;
console.log(`REST API URL: ${restUrl}`);
userProfile
メールボックスに関連付けられているユーザーに関する情報。 これには、アカウントの種類、表示名、メール アドレス、タイム ゾーンが含まれます。
詳細については、 Office.UserProfile を参照してください。
userProfile: UserProfile;
プロパティ値
メソッドの詳細
addHandlerAsync(eventType, handler, options, callback)
サポートされているイベントのイベント ハンドラーを追加します。 イベントは、作業ウィンドウのアドインでのみ使用できます。
addHandlerAsync(eventType: Office.EventType | string, handler: any, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- eventType
-
Office.EventType | string
ハンドラーを呼び出す必要のあるイベント。
- handler
-
any
イベントを処理する関数。 関数は、オブジェクト リテラルである単一パラメーターを受け入れる必要があります。 パラメーターの type プロパティは、addHandlerAsync に渡される eventType パラメーターと一致します。
- options
- Office.AsyncContextOptions
コールバックで使用するために、任意の種類のコンテキスト データを変更されないまま保持するためのオプションを提供します。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: Composeまたは読み取り
重要: Mailbox オブジェクトでは、次のイベントがサポートされています。
| イベント | 説明 | 最小要件セット |
|---|---|---|
DragAndDropEvent | Outlook クライアント ウィンドウで、アドインの作業ウィンドウにメッセージまたは添付ファイルをドラッグしてからドロップします。 このイベントは、Outlook on the web と新しい Outlook on Windows でのみサポートされます。 | 1.5 |
ItemChanged | 作業ウィンドウが固定されている間に、別の Outlook アイテムが選択されて表示されている。 | 1.5 |
OfficeThemeChanged | Outlook で OfficeTheme が変更された場合。 | 1.14 |
SelectedItemsChanged | 1 つ以上のメッセージが選択または選択解除される。 | 1.13 |
例
Office.onReady(() => {
document.addEventListener('DOMContentLoaded', () => {
// Get a reference to the mailbox and use it to add an event handler.
const mailbox = Office.context.mailbox;
mailbox.addHandlerAsync(Office.EventType.ItemChanged, loadNewItem, (result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
// Handle error.
}
});
});
});
function loadNewItem(eventArgs) {
const item = Office.context.mailbox.item;
// Check that item isn't null.
if (item !== null) {
// Work with item. For example, define and call a function that
// loads the properties of the newly selected item.
loadProps(item);
}
}
addHandlerAsync(eventType, handler, callback)
サポートされているイベントのイベント ハンドラーを追加します。 イベントは、作業ウィンドウのアドインでのみ使用できます。
addHandlerAsync(eventType: Office.EventType | string, handler: any, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- eventType
-
Office.EventType | string
ハンドラーを呼び出す必要のあるイベント。
- handler
-
any
イベントを処理する関数。 関数は、オブジェクト リテラルである単一パラメーターを受け入れる必要があります。 パラメーターの type プロパティは、addHandlerAsync に渡される eventType パラメーターと一致します。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: Composeまたは読み取り
重要: Mailbox オブジェクトでは、次のイベントがサポートされています。
| イベント | 説明 | 最小要件セット |
|---|---|---|
DragAndDropEvent | Outlook クライアント ウィンドウで、アドインの作業ウィンドウにメッセージまたは添付ファイルをドラッグしてからドロップします。 このイベントは、Outlook on the web と新しい Outlook on Windows でのみサポートされます。 | 1.5 |
ItemChanged | 作業ウィンドウが固定されている間に、別の Outlook アイテムが選択されて表示されている。 | 1.5 |
OfficeThemeChanged | Outlook で OfficeTheme が変更された場合。 | 1.14 |
SelectedItemsChanged | 1 つ以上のメッセージが選択または選択解除される。 | 1.13 |
convertToEwsId(id, restVersion)
サポートされている ID を Exchange Web サービス (EWS) 形式に変換します。
convertToEwsId(id: string, restVersion: MailboxEnums.RestVersion | string): string;
パラメーター
- id
-
string
EWS 形式に変換される ID。 この文字列には、Outlook REST API 用に書式設定されたアイテム ID も、 Office.context.mailbox.item.conversationId から取得した会話 ID を指定することもできます。
- restVersion
-
Office.MailboxEnums.RestVersion | string
アイテム ID の取得に使用された Outlook REST API のバージョンを示す値。
返品
string
注釈
最小アクセス許可レベル: 制限付き
適用可能な Outlook モード: Composeまたは読み取り
重要:
従来の Exchange Online ユーザー ID トークンとコールバック トークンはサポートされなくなり、すべての Microsoft 365 テナントでオフになっています。 Outlook アドインで委任されたユーザー アクセスまたはユーザー ID が必要な場合は、MSAL (Microsoft 認証ライブラリ) と入れ子になったアプリ認証 (NAA) を使用することをお勧めします。 Exchange ユーザー ID トークンは、Exchange オンプレミスで引き続きサポートされます。
この方法は、Android または iOS の Outlook ではサポートされていません。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください。
REST API (Microsoft Graph など) 経由で取得されるアイテム ID は、EWS で使用される形式とは異なる形式を使用します。 メソッドは、REST 形式の ID を EWS 用の適切な形式に変換します。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-for-exchange-on-premises/ids-and-urls.yaml
// Get the EWS URL and EWS item ID.
console.log("EWS URL: " + Office.context.mailbox.ewsUrl);
const ewsId = Office.context.mailbox.item.itemId;
console.log("EWS item ID: " + Office.context.mailbox.item.itemId);
// Convert the EWS item ID to a REST-formatted ID.
const restId = Office.context.mailbox.convertToRestId(ewsId, Office.MailboxEnums.RestVersion.v2_0);
console.log("REST item ID: " + restId);
// Convert the REST-formatted ID back to an EWS-formatted ID.
const ewsId2 = Office.context.mailbox.convertToEwsId(restId, Office.MailboxEnums.RestVersion.v2_0);
console.log("EWS ID (from REST ID): " + ewsId2);
convertToLocalClientTime(timeValue)
クライアントのローカル時間で時間情報が含まれている辞書を取得します。
Outlook クライアントで使用されるタイム ゾーンは、プラットフォームによって異なります。 Windows (クラシック) および Mac 上の Outlook では、クライアント コンピューターのタイム ゾーンが使用されます。 Outlook on the web と新しい Outlook on Windows は、Exchange 管理センター (EAC) で設定されたタイム ゾーンを使用します。 ユーザー インターフェイスに表示される値が常にユーザーが期待するタイム ゾーンと一致するように、日付と時刻の値を処理してください。
Windows (クラシック) の Outlook と Mac の Outlook では、 convertToLocalClientTime メソッドは、クライアント コンピューターのタイム ゾーンに設定された値を持つ辞書オブジェクトを返します。 Outlook on the web および新しい Outlook on Windows では、convertToLocalClientTime メソッドは、EAC で指定されたタイム ゾーンに設定された値を持つ辞書オブジェクトを返します。
convertToLocalClientTime(timeValue: Date): LocalClientTime;
パラメーター
- timeValue
-
Date
Date オブジェクト。
返品
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: Composeまたは読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-start-read.yaml
const time = Office.context.mailbox.item.start;
const localTime = Office.context.mailbox.convertToLocalClientTime(time);
console.log(`Appointment starts (local): ${localTime.month + 1}/${localTime.date}/${localTime.year}, ${localTime.hours}:${localTime.minutes}:${localTime.seconds}`);
convertToRestId(id, restVersion)
サポートされている ID を REST 形式に変換します。
convertToRestId(id: string, restVersion: MailboxEnums.RestVersion | string): string;
パラメーター
- id
-
string
REST 形式に変換する ID。 この文字列には、通常 Office.context.mailbox.item.itemId から取得される EWS 用に書式設定されたアイテム ID、 Office.context.mailbox.item.conversationId から取得される会話 ID、または Office.context.mailbox.item.seriesId から取得されるシリーズ ID があります。
- restVersion
-
Office.MailboxEnums.RestVersion | string
変換された ID で使用される Outlook REST API のバージョンを示す値。
返品
string
注釈
最小アクセス許可レベル: 制限付き
適用可能な Outlook モード: Composeまたは読み取り
重要:
この方法は、Android または iOS の Outlook ではサポートされていません。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください。
Exchange Web サービス (EWS) または
itemIdプロパティを介して取得されるアイテム ID は、REST API ( Microsoft Graph など) で使用される形式とは異なる形式を使用します。 メソッドは、EWS 形式の ID を REST 用の適切な形式に変換します。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-for-exchange-on-premises/ids-and-urls.yaml
// Get the EWS URL and EWS item ID.
console.log("EWS URL: " + Office.context.mailbox.ewsUrl);
const ewsId = Office.context.mailbox.item.itemId;
console.log("EWS item ID: " + Office.context.mailbox.item.itemId);
// Convert the EWS item ID to a REST-formatted ID.
const restId = Office.context.mailbox.convertToRestId(ewsId, Office.MailboxEnums.RestVersion.v2_0);
console.log("REST item ID: " + restId);
// Convert the REST-formatted ID back to an EWS-formatted ID.
const ewsId2 = Office.context.mailbox.convertToEwsId(restId, Office.MailboxEnums.RestVersion.v2_0);
console.log("EWS ID (from REST ID): " + ewsId2);
convertToUtcClientTime(input)
時間情報を含む辞書から Date オブジェクトを取得します。
convertToUtcClientTime メソッドは、ローカルの日付と時刻を含む辞書を、ローカルの日付と時刻の正しい値を持つDate オブジェクトに変換します。
convertToUtcClientTime(input: LocalClientTime): Date;
パラメーター
- input
- Office.LocalClientTime
変換するローカル時刻の値。
返品
Date
時間が UTC で表現された日付オブジェクト。
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: Composeまたは読み取り
例
// Represents 3:37 PM PDT on Monday, August 26, 2019.
const input = {
date: 26,
hours: 15,
milliseconds: 2,
minutes: 37,
month: 7,
seconds: 2,
timezoneOffset: -420,
year: 2019
};
// result should be a Date object.
const result = Office.context.mailbox.convertToUtcClientTime(input);
// Output should be "2019-08-26T22:37:02.002Z".
console.log(result.toISOString());
displayAppointmentForm(itemId)
既存の予定を表示します。
displayAppointmentForm メソッドは、デスクトップ上の新しいウィンドウで既存の予定表の予定を開きます。
Outlook on Mac では、この方法を使用して、定期的な予定の一部ではない 1 つの予定や、定期的な予定のマスター予定を表示することができます。 ただし、定期的な系列のインスタンスのプロパティ (アイテム ID を含む) にアクセスできないため、系列のインスタンスを表示することはできません。
Outlook on the web および新しい Outlook on Windows では、このメソッドは、フォームの本文が 32,000 文字以下の場合にのみ、指定されたフォームを開きます。
指定したアイテム識別子が既存の予定を識別しない場合、クライアント コンピューターまたはデバイスで空白のウィンドウが開き、エラー メッセージは返されません。
displayAppointmentForm(itemId: string): void;
パラメーター
- itemId
-
string
既存の予定の Exchange Web サービス (EWS) 識別子。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: Composeまたは読み取り
重要: この方法は Outlook on Android または iOS ではサポートされていません。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-existing-appointment.yaml
const itemId = (document.getElementById("itemId") as HTMLInputElement).value;
Office.context.mailbox.displayAppointmentForm(itemId);
displayAppointmentFormAsync(itemId, options, callback)
既存の予定を表示します。
displayAppointmentFormAsync メソッドは、デスクトップ上の新しいウィンドウやモバイル デバイス上のダイアログ ボックスに既存の予定を開きます。
Outlook on Mac では、この方法を使用して、定期的な予定の一部ではない 1 つの予定、または定期的な予定のマスター予定を表示することができます。 ただし、定期的な系列のインスタンスのプロパティ (アイテム ID を含む) にアクセスできないため、系列のインスタンスを表示することはできません。
Outlook on the web および新しい Outlook on Windows では、このメソッドは、フォームの本文が 32,000 文字以下の場合にのみ、指定されたフォームを開きます。
指定したアイテム識別子が既存の予定を識別しない場合、クライアント コンピューターまたはデバイスで空白のウィンドウが開き、エラー メッセージは返されません。
注: この方法は、iOS 版または Android 版 Outlook ではサポートされていません。
displayAppointmentFormAsync(itemId: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- itemId
-
string
既存の予定の Exchange Web サービス (EWS) 識別子。
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: Composeまたは読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-existing-appointment.yaml
const itemId = (document.getElementById("itemId") as HTMLInputElement).value;
// The async version will return error 9049 if the item is not found.
// The async version is only available starting with requirement set 1.9.
Office.context.mailbox.displayAppointmentFormAsync(itemId, function(asyncResult) {
console.log("Result: " + JSON.stringify(asyncResult));
});
displayAppointmentFormAsync(itemId, callback)
既存の予定を表示します。
displayAppointmentFormAsync メソッドは、デスクトップ上の新しいウィンドウやモバイル デバイス上のダイアログ ボックスに既存の予定を開きます。
Outlook on Mac では、この方法を使用して、定期的な予定の一部ではない 1 つの予定、または定期的な予定のマスター予定を表示することができます。 ただし、定期的な系列のインスタンスのプロパティ (アイテム ID を含む) にアクセスできないため、系列のインスタンスを表示することはできません。
Outlook on the web および新しい Outlook on Windows では、このメソッドは、フォームの本文が 32,000 文字以下の場合にのみ、指定されたフォームを開きます。
指定したアイテム識別子が既存の予定を識別しない場合、クライアント コンピューターまたはデバイスで空白のウィンドウが開き、エラー メッセージは返されません。
注: この方法は、iOS 版または Android 版 Outlook ではサポートされていません。
displayAppointmentFormAsync(itemId: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- itemId
-
string
既存の予定の Exchange Web サービス (EWS) 識別子。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: Composeまたは読み取り
displayMessageForm(itemId)
既存のメッセージを表示します。
displayMessageForm メソッドは、デスクトップ上の新しいウィンドウで既存のメッセージを開きます。
Outlook on the web および新しい Outlook on Windows では、このメソッドは、フォームの本文が 32,000 文字以下の場合にのみ、指定されたフォームを開きます。
指定されたアイテム識別子で既存のメッセージが識別されない場合、クライアント コンピューターにメッセージは表示されず、エラー メッセージも返されません。
displayMessageForm(itemId: string): void;
パラメーター
- itemId
-
string
既存のメッセージの Exchange Web サービス (EWS) 識別子。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: Composeまたは読み取り
重要:
この方法は、Android または iOS の Outlook ではサポートされていません。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください。
予定を表す itemId を持つ
displayMessageFormは使用しないでください。displayAppointmentFormメソッドを使用して既存の予定を表示し、displayNewAppointmentFormを使用してフォームを表示して新しい予定を作成します。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-existing-message.yaml
const itemId = (document.getElementById("itemId") as HTMLInputElement).value;
Office.context.mailbox.displayMessageForm(itemId);
displayMessageFormAsync(itemId, options, callback)
既存のメッセージを表示します。
displayMessageFormAsync メソッドは、デスクトップ上の新しいウィンドウやモバイル デバイス上のダイアログ ボックスに既存のメッセージを開きます。
Outlook on the web および新しい Outlook on Windows では、このメソッドは、フォームの本文が 32,000 文字以下の場合にのみ、指定されたフォームを開きます。
指定されたアイテム識別子で既存のメッセージが識別されない場合、クライアント コンピューターにメッセージは表示されず、エラー メッセージも返されません。
予定を表す itemId を持つ displayMessageForm メソッドや displayMessageFormAsync メソッドを使用しないでください。
displayAppointmentForm または displayAppointmentFormAsync メソッドを使用して既存の予定を表示し、displayNewAppointmentForm または displayNewAppointmentFormAsync を使用してフォームを表示して新しい予定を作成します。
注: この方法は、iOS 版または Android 版 Outlook ではサポートされていません。
displayMessageFormAsync(itemId: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- itemId
-
string
既存のメッセージの Exchange Web サービス (EWS) 識別子。
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: Composeまたは読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-existing-message.yaml
const itemId = (document.getElementById("itemId") as HTMLInputElement).value;
// The async version will return error 9049 if the item is not found.
// The async version is only available starting with requirement set 1.9.
Office.context.mailbox.displayMessageFormAsync(itemId, function (asyncResult) {
console.log("Result: " + JSON.stringify(asyncResult));
});
displayMessageFormAsync(itemId, callback)
既存のメッセージを表示します。
displayMessageFormAsync メソッドは、デスクトップ上の新しいウィンドウやモバイル デバイス上のダイアログ ボックスに既存のメッセージを開きます。
Outlook on the web および新しい Outlook on Windows では、このメソッドは、フォームの本文が 32,000 文字以下の場合にのみ、指定されたフォームを開きます。
指定されたアイテム識別子で既存のメッセージが識別されない場合、クライアント コンピューターにメッセージは表示されず、エラー メッセージも返されません。
予定を表す itemId を持つ displayMessageForm メソッドや displayMessageFormAsync メソッドを使用しないでください。
displayAppointmentForm または displayAppointmentFormAsync メソッドを使用して既存の予定を表示し、displayNewAppointmentForm または displayNewAppointmentFormAsync を使用してフォームを表示して新しい予定を作成します。
注: この方法は、iOS 版または Android 版 Outlook ではサポートされていません。
displayMessageFormAsync(itemId: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- itemId
-
string
既存のメッセージの Exchange Web サービス (EWS) 識別子。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: Composeまたは読み取り
displayNewAppointmentForm(parameters)
新しい予定を作成するためのフォームを表示します。
displayNewAppointmentForm メソッドを使用すると、ユーザーが新しい予定または会議を作成できるフォームが開きます。 パラメーターを指定すると、予定のフォーム フィールドにパラメーターの内容が自動的に設定されます。
Outlook on the web および新しい Outlook on Windows では、この方法により、出席者フィールドを含むフォームが常に表示されます。 入力引数として出席者を指定しない場合、メソッドは [保存] ボタンを含むフォームを表示します。 出席者を指定した場合には、フォームにその出席者と [送信] ボタンが表示されます。
Windows (クラシック) および Mac の Outlook では、 requiredAttendees、 optionalAttendees、または resources パラメーターで出席者またはリソースを指定すると、このメソッドは [送信] ボタンを含む会議フォームを表示します。 受信者を指定せずにこのメソッドを実行すると、[保存して閉じる] ボタンがある予定フォームが表示されます。
パラメータのいずれかが指定されたサイズ制限を超えた場合、または不明なパラメータ名が指定された場合には、例外がスローされます。
displayNewAppointmentForm(parameters: AppointmentForm): void;
パラメーター
- parameters
- Office.AppointmentForm
新しい予定を説明する AppointmentForm 。 すべてのプロパティは省略可能です。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: 読み取り
重要: この方法は Outlook on Android または iOS ではサポートされていません。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-new-appointment.yaml
const start = new Date();
const end = new Date();
end.setHours(start.getHours() + 1);
Office.context.mailbox.displayNewAppointmentForm({
requiredAttendees: ["bob@contoso.com"] as any,
optionalAttendees: ["sam@contoso.com"] as any,
start: start,
end: end,
location: "Home",
subject: "meeting",
resources: ["projector@contoso.com"] as any,
body: "Hello World!"
});
displayNewAppointmentFormAsync(parameters, options, callback)
新しい予定を作成するためのフォームを表示します。
displayNewAppointmentFormAsync メソッドを使用すると、ユーザーが新しい予定または会議を作成できるフォームが開きます。 パラメーターを指定すると、予定のフォーム フィールドにパラメーターの内容が自動的に設定されます。
Outlook on the web および新しい Outlook on Windows では、この方法により、出席者フィールドを含むフォームが常に表示されます。 入力引数として出席者を指定しないと、このメソッドにより [保存] ボタンのあるフォームが表示されます。 出席者を指定した場合には、フォームにその出席者と [送信] ボタンが表示されます。
Windows (クラシック) および Mac の Outlook では、 requiredAttendees、 optionalAttendees、または resources パラメーターで出席者またはリソースを指定すると、このメソッドは [送信] ボタンを含む会議フォームを表示します。 受信者を指定せずにこのメソッドを実行すると、[保存して閉じる] ボタンがある予定フォームが表示されます。
パラメータのいずれかが指定されたサイズ制限を超えた場合、または不明なパラメータ名が指定された場合には、例外がスローされます。
注: この方法は、iOS 版または Android 版 Outlook ではサポートされていません。
displayNewAppointmentFormAsync(parameters: AppointmentForm, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- parameters
- Office.AppointmentForm
新しい予定を説明する AppointmentForm 。 すべてのプロパティは省略可能です。
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: 読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-new-appointment.yaml
const start = new Date();
const end = new Date();
end.setHours(start.getHours() + 1);
// The async version is only available starting with requirement set 1.9,
// and provides a callback when the new appointment form has been created.
Office.context.mailbox.displayNewAppointmentFormAsync(
{
requiredAttendees: ["bob@contoso.com"] as any,
optionalAttendees: ["sam@contoso.com"] as any,
start: start,
end: end,
location: "Home",
subject: "meeting",
resources: ["projector@contoso.com"] as any,
body: "Hello World!"
},
function(asyncResult) {
console.log(JSON.stringify(asyncResult));
}
);
displayNewAppointmentFormAsync(parameters, callback)
新しい予定を作成するためのフォームを表示します。
displayNewAppointmentFormAsync メソッドを使用すると、ユーザーが新しい予定または会議を作成できるフォームが開きます。 パラメーターを指定すると、予定のフォーム フィールドにパラメーターの内容が自動的に設定されます。
Outlook on the web および新しい Outlook on Windows では、この方法により、出席者フィールドを含むフォームが常に表示されます。 入力引数として出席者を指定しないと、このメソッドにより [保存] ボタンのあるフォームが表示されます。 出席者を指定した場合には、フォームにその出席者と [送信] ボタンが表示されます。
Windows (クラシック) および Mac の Outlook では、 requiredAttendees、 optionalAttendees、または resources パラメーターで出席者またはリソースを指定すると、このメソッドは [送信] ボタンを含む会議フォームを表示します。 受信者を指定せずにこのメソッドを実行すると、[保存して閉じる] ボタンがある予定フォームが表示されます。
パラメータのいずれかが指定されたサイズ制限を超えた場合、または不明なパラメータ名が指定された場合には、例外がスローされます。
注: この方法は、iOS 版または Android 版 Outlook ではサポートされていません。
displayNewAppointmentFormAsync(parameters: AppointmentForm, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- parameters
- Office.AppointmentForm
新しい予定を説明する AppointmentForm 。 すべてのプロパティは省略可能です。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: 読み取り
displayNewMessageForm(parameters)
新しいメッセージを作成するためのフォームを表示します。
displayNewMessageForm メソッドは、ユーザーが新しいメッセージを作成できるフォームを開きます。 パラメータを指定すると、メッセージ フォーム フィールドにはパラメータのコンテンツが自動的に入力されます。
パラメータのいずれかが指定されたサイズ制限を超えた場合、または不明なパラメータ名が指定された場合には、例外がスローされます。
displayNewMessageForm(parameters: MessageForm): void;
パラメーター
- parameters
- Office.MessageForm
新しいメッセージ フォームに追加するコンテンツを含む MessageForm オブジェクト。 すべてのプロパティは省略可能です。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: 読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-new-message.yaml
Office.context.mailbox.displayNewMessageForm({
toRecipients: Office.context.mailbox.item.to, // Copies the To line from current item
ccRecipients: ["sam@contoso.com"],
subject: "Outlook add-ins are cool!",
htmlBody: 'Hello <b>World</b>!<br/><img src="cid:image.png"></i>',
attachments: [
{
type: "file",
name: "image.png",
url: "https://i.imgur.com/9S36xvA.jpg",
isInline: true
}
]
});
displayNewMessageFormAsync(parameters, options, callback)
新しいメッセージを作成するためのフォームを表示します。
displayNewMessageFormAsync メソッドは、ユーザーが新しいメッセージを作成できるフォームを開きます。 パラメータを指定すると、メッセージ フォーム フィールドにはパラメータのコンテンツが自動的に入力されます。
パラメータのいずれかが指定されたサイズ制限を超えた場合、または不明なパラメータ名が指定された場合には、例外がスローされます。
displayNewMessageFormAsync(parameters: MessageForm, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- parameters
- Office.MessageForm
新しいメッセージ フォームに追加するコンテンツを含む MessageForm オブジェクト。 すべてのプロパティは省略可能です。
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: 読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-new-message.yaml
// The async version is only available starting with requirement set 1.9,
// and provides a callback when the new message form has been created.
Office.context.mailbox.displayNewMessageFormAsync(
{
toRecipients: Office.context.mailbox.item.to, // Copies the To line from current item
ccRecipients: ["sam@contoso.com"],
subject: "Outlook add-ins are cool!",
htmlBody: 'Hello <b>World</b>!<br/><img src="cid:image.png"></i>',
attachments: [
{
type: "file",
name: "image.png",
url: "https://i.imgur.com/9S36xvA.jpg",
isInline: true
}
]
},
(asyncResult) => {
console.log(JSON.stringify(asyncResult));
}
);
displayNewMessageFormAsync(parameters, callback)
新しいメッセージを作成するためのフォームを表示します。
displayNewMessageFormAsync メソッドは、ユーザーが新しいメッセージを作成できるフォームを開きます。 パラメータを指定すると、メッセージ フォーム フィールドにはパラメータのコンテンツが自動的に入力されます。
パラメータのいずれかが指定されたサイズ制限を超えた場合、または不明なパラメータ名が指定された場合には、例外がスローされます。
displayNewMessageFormAsync(parameters: MessageForm, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- parameters
- Office.MessageForm
新しいメッセージ フォームに追加するコンテンツを含む MessageForm オブジェクト。 すべてのプロパティは省略可能です。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: 読み取り
getCallbackTokenAsync(options, callback)
REST API または Exchange Web サービス (EWS) の呼び出しに使用されるトークンを含む文字列を取得します。
getCallbackTokenAsync メソッドは、ユーザーのメールボックスをホストする Exchange Server から不透明なトークンを取得する非同期の呼び出しを行います。 コールバック トークンの有効期間は 5 分です。
トークンは、 asyncResult.value プロパティで文字列として返されます。
getCallbackTokenAsync(options: Office.AsyncContextOptions & { isRest?: boolean }, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- options
-
Office.AsyncContextOptions & { isRest?: boolean }
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- isRest: 指定されたトークンを Outlook REST API または Exchange Web サービスのどちらで使用するかを決定します。 既定値は false です。
asyncContext
: 非同期メソッドに渡されるすべての状態データ。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
メソッドが完了すると、コールバック パラメーターに渡された関数は、型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 トークンは、 asyncResult.value プロパティで文字列として返されます。 エラーが発生した場合、 asyncResult.error および asyncResult.diagnostics のプロパティで追加情報が提供される場合があります。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: Composeまたは読み取り
重要:
従来の Exchange Online ユーザー ID トークンとコールバック トークンはサポートされなくなり、すべての Microsoft 365 テナントでオフになっています。 Outlook アドインで委任されたユーザー アクセスまたはユーザー ID が必要な場合は、MSAL (Microsoft 認証ライブラリ) と入れ子になったアプリ認証 (NAA) を使用することをお勧めします。 Exchange ユーザー ID トークンは、Exchange オンプレミスで引き続きサポートされます。
Outlook REST v2.0 およびベータ エンドポイントは非推奨になりました。 ただし、プライベート リリースおよび AppSource でホストされているアドインは、Outlook 2019 の延長サポートが 2025 年 10 月 14 日に終了するまで、REST サービスを使用できます。 これらのアドインからのトラフィックは、自動的に除外対象として識別されます。 この例外は、2024 年 3 月 31 日以降に開発された新しいアドインにも適用されます。 アドインは 2025 年まで REST サービスを使用できますが、 Microsoft Graph を使用するようにアドインを移行することを強くお勧めします。 ガイダンスについては、「 Microsoft Graph と Outlook REST API エンドポイントの比較」を参照してください。
organization で REST トークンまたは EWS トークンを使用できるかどうかを判断するには、
Office.context.mailbox.diagnostics.ews.getTokenStatusAsyncを呼び出します。getTokenStatusAsyncメソッドは、Outlook on the web と Windows (新規およびクラシック (バージョン 2510、ビルド 19328.20000 以降)) でプレビューできます。Outlook.com または Gmail メールボックスにアドインを読み込む場合は、このメソッドはサポートされません。
このメソッドは、Android 版および iOS 版の Outlook の読み取りモードでのみサポートされます。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください。
EWS 操作は、iOS および Android 上の Outlook で実行されているアドインではサポートされていません。
options.isRestがfalseに設定されていても、Outlook モバイル クライアントでは常に REST トークンが返されます。読み取りモードで
getCallbackTokenAsyncメソッドを呼び出すには、 読み取り項目の最小アクセス許可レベルが必要です。作成モードで
getCallbackTokenAsyncメソッドを呼び出すには、アイテムを保存しておく必要があります。saveAsyncメソッドでは、読み取り/書き込み項目の最小アクセス許可レベルが必要です。委任または共有シナリオのガイダンスについては、 共有フォルダーと共有メールボックスに関する 記事を参照してください。
REST トークン
REST トークンが要求 (options.isRest = true) されると、結果のトークンは EWS 呼び出しを認証するために機能しません。 アドインがマニフェストでメール ボックスの読み取り/書き込み アクセス許可を指定していない限り、トークンのスコープは、現在のアイテムとその添付ファイルに対する読み取り専用アクセスに制限されます。
メールボックスの読み取り/書き込みアクセス許可が指定されている場合、結果のトークンによって、メール、予定表、連絡先への読み取り/書き込みアクセス権 (メールの送信を含む) が付与されます。
アドインでは、restUrl プロパティを使用して、REST API 呼び出しを行うときに使用する正しい URL を決定する必要があります。
この API は、次のスコープで動作します。
Mail.ReadWriteMail.SendCalendars.ReadWriteContacts.ReadWrite
EWS トークン
EWS トークンが要求 (options.isRest = false) されると、結果のトークンは REST API 呼び出しを認証するために機能しません。 トークンの範囲は、現在のアイテムへのアクセスに制限されます。
アドインでは、ewsUrl プロパティを使用して、EWS 呼び出しを行うときに使用する正しい URL を決定する必要があります。
トークンと添付ファイル識別子またはアイテム識別子の両方を外部システムに渡すことができます。 そのシステムは、トークンをベアラー承認トークンとして使用して、Exchange Web サービス (EWS) の GetAttachment 操作または GetItem 操作を呼び出し、添付ファイルまたは項目を返します。 たとえば、リモート サービスを作成して、選択したアイテムから添付ファイルを取得できます。
エラー:
呼び出しが失敗した場合は、asyncResult.診断プロパティを使用してエラーの詳細を表示します。
GenericTokenError: An internal error has occurred.- Exchange Online 環境では、このエラーは、Outlook アドイン用の従来の Exchange トークンがオフになっているためにトークンを取得できない場合に発生します。 アドインのシングル サインオン ソリューションとして NAA を使用することをお勧めします。HTTPRequestFailure: The request has failed. Please look at the diagnostics object for the HTTP error code.InternalServerError: The Exchange server returned an error. Please look at the diagnostics object for more information.- Exchange Online 環境では、このエラーは、Outlook アドイン用の従来の Exchange トークンがオフになっているためにトークンを取得できない場合に発生します。 アドインのシングル サインオン ソリューションとして NAA を使用することをお勧めします。NetworkError: The user is no longer connected to the network. Please check your network connection and try again.
getCallbackTokenAsync(callback, userContext)
Exchange Server から添付ファイルやアイテムを取得するために使用するトークンを含む文字列を取得します。
getCallbackTokenAsync メソッドは、ユーザーのメールボックスをホストする Exchange Server から不透明なトークンを取得する非同期の呼び出しを行います。 コールバック トークンの有効期間は 5 分です。
トークンは、 asyncResult.value プロパティで文字列として返されます。
getCallbackTokenAsync(callback: (asyncResult: Office.AsyncResult<string>) => void, userContext?: any): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
メソッドが完了すると、コールバック パラメーターに渡された関数は、型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 トークンは、 asyncResult.value プロパティで文字列として返されます。 エラーが発生した場合、 asyncResult.error および asyncResult.diagnostics のプロパティで追加情報が提供される場合があります。
- userContext
-
any
省略可能。 非同期メソッドに渡される状態データです。
返品
void
注釈
API セット: すべて読み取りモードをサポートします。メールボックス 1.3 では Compose モードのサポートが導入されました
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: Composeまたは読み取り
重要:
従来の Exchange Online ユーザー ID トークンとコールバック トークンはサポートされなくなり、すべての Microsoft 365 テナントでオフになっています。 Outlook アドインで委任されたユーザー アクセスまたはユーザー ID が必要な場合は、MSAL (Microsoft 認証ライブラリ) と入れ子になったアプリ認証 (NAA) を使用することをお勧めします。 Exchange ユーザー ID トークンは、Exchange オンプレミスで引き続きサポートされます。
トークンと添付ファイル識別子またはアイテム識別子の両方を外部システムに渡すことができます。 そのシステムは、トークンをベアラー承認トークンとして使用して、Exchange Web サービス (EWS) の GetAttachment または GetItem 操作を呼び出し、添付ファイルまたは項目を返します。 たとえば、リモート サービスを作成して、選択したアイテムから添付ファイルを取得できます。
organization で REST トークンまたは EWS トークンを使用できるかどうかを判断するには、
Office.context.mailbox.diagnostics.ews.getTokenStatusAsyncを呼び出します。getTokenStatusAsyncメソッドは、Outlook on the web と Windows (新規およびクラシック (バージョン 2510、ビルド 19328.20000 以降)) でプレビューできます。読み取りモードで
getCallbackTokenAsyncメソッドを呼び出すには、 読み取り項目の最小アクセス許可レベルが必要です。作成モードで
getCallbackTokenAsyncメソッドを呼び出すには、アイテムを保存しておく必要があります。saveAsyncメソッドでは、読み取り/書き込み項目の最小アクセス許可レベルが必要です。この方法は、Android または iOS の Outlook ではサポートされていません。 EWS 操作は、モバイル クライアント上の Outlook で実行されているアドインではサポートされていません。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください。
Outlook.com または Gmail メールボックスにアドインを読み込む場合は、このメソッドはサポートされません。
委任または共有シナリオのガイダンスについては、 共有フォルダーと共有メールボックスに関する 記事を参照してください。
エラー:
呼び出しが失敗した場合は、asyncResult.診断プロパティを使用してエラーの詳細を表示します。
GenericTokenError: An internal error has occurred.- Exchange Online 環境では、このエラーは、Outlook アドイン用の従来の Exchange トークンがオフになっているためにトークンを取得できない場合に発生します。 アドインのシングル サインオン ソリューションとして NAA を使用することをお勧めします。HTTPRequestFailure: The request has failed. Please look at the diagnostics object for the HTTP error code.InternalServerError: The Exchange server returned an error. Please look at the diagnostics object for more information.- Exchange Online 環境では、このエラーは、Outlook アドイン用の従来の Exchange トークンがオフになっているためにトークンを取得できない場合に発生します。 アドインのシングル サインオン ソリューションとして NAA を使用することをお勧めします。NetworkError: The user is no longer connected to the network. Please check your network connection and try again.
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-for-exchange-on-premises/user-callback-token.yaml
Office.context.mailbox.getCallbackTokenAsync((result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error(`Token retrieval failed with message: ${result.error.message}`);
return;
}
console.log(result.value);
});
getIsIdentityManaged()
現在のメールボックスが Microsoft Intune によって管理されている場合は true を返します。
getIsIdentityManaged(): boolean;
返品
boolean
現在のメールボックスが Microsoft Intune によって管理されている場合は true。
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: Compose、読み取り
重要: この方法は、Android 版 Outlook およびバージョン 4.2443.0 以降の iOS 版でのみサポートされています。 モバイル デバイス上の Outlook でサポートされている API の詳細については、「モバイル デバイス上の Outlook でサポートされている Outlook JavaScript API」を参照してください。
エラー:
-
MAMServiceNotAvailable: クライアントはモバイル アプリケーション管理 (MAM) ポリシーをフェッチできません。
例
// Checks if the mailbox is managed by Microsoft Intune.
const isIdentityManaged = Office.context.mailbox.getIsIdentityManaged();
console.log(`Intune-managed mailbox: ${isIdentityManaged}`);
getIsOpenFromLocationAllowed(openLocation)
organization の Intune モバイル アプリケーション管理 (MAM) ポリシーで、アドインが指定した場所からデータにアクセスすることが許可されている場合は true を返します。
getIsOpenFromLocationAllowed(openLocation: MailboxEnums.OpenLocation): boolean;
パラメーター
- openLocation
- Office.MailboxEnums.OpenLocation
アドインがデータにアクセスしようとしている場所。
返品
boolean
organization の Intune MAM ポリシーで、アドインが指定した場所からデータにアクセスすることが許可されている場合は true。
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: Compose、読み取り
重要: この方法は、Android 版 Outlook およびバージョン 4.2443.0 以降の iOS 版でのみサポートされています。 モバイル デバイス上の Outlook でサポートされている API の詳細については、「モバイル デバイス上の Outlook でサポートされている Outlook JavaScript API」を参照してください。
エラー:
InvalidOpenLocationInput: 指定した場所の値が無効です。MAMServiceNotAvailable: クライアントは MAM ポリシーをフェッチできません。
例
// Checks if the add-in can access data from the device's photo library.
const isOpenFromPhotoLibraryAllowed = Office.context.mailbox.getIsOpenFromLocationAllowed(Office.MailboxEnums.OpenLocation.PhotoLibrary);
if (isOpenFromPhotoLibraryAllowed) {
console.log("Access to the photo library is allowed.");
// Do something.
} else {
console.log("Access to the photo library isn't allowed.");
}
getIsSaveToLocationAllowed(saveLocation)
organization の Intune モバイル アプリケーション管理 (MAM) ポリシーで、アドインが指定した場所にデータを保存することが許可されている場合は true を返します。
getIsSaveToLocationAllowed(saveLocation: MailboxEnums.SaveLocation): boolean;
パラメーター
- saveLocation
- Office.MailboxEnums.SaveLocation
アドインがデータを保存しようとしている場所。
返品
boolean
organization の Intune MAM ポリシーでアドインが指定した場所にデータを保存することが許可されている場合は true。
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: Compose、読み取り
重要: この方法は、Android 版 Outlook およびバージョン 4.2443.0 以降の iOS 版でのみサポートされています。 モバイル デバイス上の Outlook でサポートされている API の詳細については、「モバイル デバイス上の Outlook でサポートされている Outlook JavaScript API」を参照してください。
エラー:
InvalidSaveLocationInput: 指定した場所の値が無効です。MAMServiceNotAvailable: クライアントは MAM ポリシーをフェッチできません。
例
// Checks if the add-in can save data to SharePoint.
const isSaveToSharePointAllowed = Office.context.mailbox.getIsSaveToLocationAllowed(Office.MailboxEnums.SaveLocation.SharePoint);
if (isSaveToSharePointAllowed) {
console.log("Saving to SharePoint is allowed.");
// Do something.
} else {
console.log("Saving to SharePoint isn't allowed.");
}
getSelectedItemsAsync(options, callback)
アドインがアクティブ化して操作を実行できる、現在選択されているメッセージを取得します。 アドインは、一度に最大 100 個のメッセージに対してアクティブ化できます。 アイテムの複数選択の詳細については、「 複数のメッセージに対して Outlook アドインをアクティブ化する」を参照してください。
getSelectedItemsAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<SelectedItemDetails[]>) => void): void;
パラメーター
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<Office.SelectedItemDetails[]>) => void
メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。 アイテム ID や件名など、選択したメッセージのプロパティは、asyncResult.value プロパティの SelectedItemDetails オブジェクトの配列として返されます。 配列内のオブジェクトは、メッセージが選択された順序に従います。
返品
void
注釈
最小アクセス許可レベル: メールボックスの読み取り/書き込み
適用可能な Outlook モード: Compose、読み取り
重要: この方法はメッセージにのみ適用されます。
getSelectedItemsAsync(callback)
アドインがアクティブ化して操作を実行できる、現在選択されているメッセージを取得します。 アドインは、一度に最大 100 個のメッセージに対してアクティブ化できます。 アイテムの複数選択の詳細については、「 複数のメッセージに対して Outlook アドインをアクティブ化する」を参照してください。
getSelectedItemsAsync(callback: (asyncResult: Office.AsyncResult<SelectedItemDetails[]>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<Office.SelectedItemDetails[]>) => void
メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。 アイテム ID や件名など、選択したメッセージのプロパティは、asyncResult.value プロパティの SelectedItemDetails オブジェクトの配列として返されます。 配列内のオブジェクトは、メッセージが選択された順序に従います。
返品
void
注釈
最小アクセス許可レベル: メールボックスの読み取り/書き込み
適用可能な Outlook モード: Compose、読み取り
重要: この方法はメッセージにのみ適用されます。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-message-properties.yaml
// Retrieves the selected messages' properties and logs them to the console.
Office.context.mailbox.getSelectedItemsAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log(asyncResult.error.message);
return;
}
asyncResult.value.forEach((message) => {
console.log(`Item ID: ${message.itemId}`);
console.log(`Conversation ID: ${message.conversationId}`);
console.log(`Internet message ID: ${message.internetMessageId}`);
console.log(`Subject: ${message.subject}`);
console.log(`Item type: ${message.itemType}`);
console.log(`Item mode: ${message.itemMode}`);
console.log(`Has attachment: ${message.hasAttachment}`);
});
});
getUserIdentityTokenAsync(callback, userContext)
ユーザーと Office アドインを識別するトークンを取得します。
トークンは、 asyncResult.value プロパティで文字列として返されます。
getUserIdentityTokenAsync(callback: (asyncResult: Office.AsyncResult<string>) => void, userContext?: any): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
メソッドが完了すると、コールバック パラメーターに渡された関数は、型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 トークンは、 asyncResult.value プロパティで文字列として返されます。 エラーが発生した場合、 asyncResult.error および asyncResult.diagnostics のプロパティで追加情報が提供される場合があります。
- userContext
-
any
省略可能。 非同期メソッドに渡される状態データです。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: Composeまたは読み取り
重要:
従来の Exchange Online ユーザー ID トークンとコールバック トークンはサポートされなくなり、すべての Microsoft 365 テナントでオフになっています。 Outlook アドインで委任されたユーザー アクセスまたはユーザー ID が必要な場合は、MSAL (Microsoft 認証ライブラリ) と入れ子になったアプリ認証 (NAA) を使用することをお勧めします。 Exchange ユーザー ID トークンは、Exchange オンプレミスで引き続きサポートされます。
getUserIdentityTokenAsyncメソッドは、外部システムでアドインとユーザーを識別して認証するために使用できるトークンを返します。Outlook.com または Gmail メールボックスにアドインを読み込む場合は、このメソッドはサポートされません。
エラー:
呼び出しが失敗した場合は、asyncResult.診断プロパティを使用してエラーの詳細を表示します。
GenericTokenError: An internal error has occurred.- Exchange Online 環境では、このエラーは、Outlook アドイン用の従来の Exchange トークンがオフになっているためにトークンを取得できない場合に発生します。 アドインのシングル サインオン ソリューションとして NAA を使用することをお勧めします。HTTPRequestFailure: The request has failed. Please look at the diagnostics object for the HTTP error code.InternalServerError: The Exchange server returned an error. Please look at the diagnostics object for more information.- Exchange Online 環境では、このエラーは、Outlook アドイン用の従来の Exchange トークンがオフになっているためにトークンを取得できない場合に発生します。 アドインのシングル サインオン ソリューションとして NAA を使用することをお勧めします。NetworkError: The user is no longer connected to the network. Please check your network connection and try again.
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-for-exchange-on-premises/user-identity-token.yaml
Office.context.mailbox.getUserIdentityTokenAsync((result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error(`Token retrieval failed with message: ${result.error.message}`)
return;
}
console.log(result.value);
});
loadItemByIdAsync(itemId, options, callback)
Exchange Web サービス (EWS) ID で 1 つのメール アイテムを読み込みます。 次に、読み込まれた項目のプロパティとメソッドを提供するオブジェクトを取得します。
loadItemByIdAsync(itemId: string, options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<LoadedMessageCompose | LoadedMessageRead>) => void): void;
パラメーター
- itemId
-
string
メール アイテムの EWS ID。
- options
- Office.AsyncContextOptions
asyncContext プロパティを含むオブジェクト リテラル。 このプロパティでは、コールバック関数でアクセスするオブジェクトを指定します。
- callback
-
(asyncResult: Office.AsyncResult<Office.LoadedMessageCompose | Office.LoadedMessageRead>) => void
メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。
asyncResult.value プロパティでは、LoadedMessageCompose オブジェクトまたは LoadedMessageRead オブジェクトが返されます。 このオブジェクトは、現在読み込まれている項目のプロパティを提供します。
返品
void
注釈
最小アクセス許可レベル: メールボックスの読み取り/書き込み
適用可能な Outlook モード: Compose、読み取り
重要:
この方法は、メッセージにのみ適用されます。
アイテムの複数選択機能を実装する場合は
Office.context.mailbox.getSelectedItemsAsyncを呼び出して選択した各アイテムのアイテム ID を取得し、一度に 1 つずつ読み込むことができるようにします。アイテムの複数選択機能を使用して
loadItemByIdAsyncメソッドを実装する前に、Office.context.mailbox.getSelectedItemsAsync呼び出しを使用して、選択したアイテムの必須プロパティに既にアクセスできるかどうかを確認します。 可能であれば、loadItemByIdAsyncに電話する必要はありません。一度に読み込むことができるメール アイテムは 1 つだけです。
loadItemByIdAsyncを実装するときは、アイテムを処理した後にunloadAsyncを呼び出す必要があります。 この操作は、別のアイテムでloadItemByIdAsyncを呼び出す前に行う必要があります。loadItemByIdAsyncメソッドは、同じメールボックス内のメッセージに対してのみ呼び出すことができます。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-loaded-message-properties.yaml
async function getSenderEmailAddress(item) {
const itemId = item.itemId;
await new Promise<void>((resolve) => {
Office.context.mailbox.loadItemByIdAsync(itemId, (result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.log(result.error.message);
resolve();
return;
}
const loadedItem = result.value;
const sender = (loadedItem.from as any).emailAddress;
appendToListItem(sender);
// Unload the current message before processing another selected message.
loadedItem.unloadAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log(asyncResult.error.message);
resolve();
return;
}
resolve();
});
});
});
}
loadItemByIdAsync(itemId, callback)
Exchange Web サービス (EWS) ID で 1 つのメール アイテムを読み込みます。 次に、読み込まれた項目のプロパティとメソッドを提供するオブジェクトを取得します。
loadItemByIdAsync(itemId: string, callback: (asyncResult: Office.AsyncResult<LoadedMessageCompose | LoadedMessageRead>) => void): void;
パラメーター
- itemId
-
string
メール アイテムの EWS ID。
- callback
-
(asyncResult: Office.AsyncResult<Office.LoadedMessageCompose | Office.LoadedMessageRead>) => void
メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。
asyncResult.value プロパティでは、LoadedMessageCompose オブジェクトまたは LoadedMessageRead オブジェクトが返されます。 このオブジェクトは、現在読み込まれている項目のプロパティを提供します。
返品
void
注釈
最小アクセス許可レベル: メールボックスの読み取り/書き込み
適用可能な Outlook モード: Compose、読み取り
重要:
この方法は、メッセージにのみ適用されます。
アイテムの複数選択機能を実装する場合は
Office.context.mailbox.getSelectedItemsAsyncを呼び出して選択した各アイテムのアイテム ID を取得し、一度に 1 つずつ読み込むことができるようにします。アイテムの複数選択機能を使用して
loadItemByIdAsyncメソッドを実装する前に、Office.context.mailbox.getSelectedItemsAsync呼び出しを使用して、選択したアイテムの必須プロパティに既にアクセスできるかどうかを確認します。 可能であれば、loadItemByIdAsyncに電話する必要はありません。一度に読み込むことができるメール アイテムは 1 つだけです。
loadItemByIdAsyncを実装するときは、アイテムを処理した後にunloadAsyncを呼び出す必要があります。 この操作は、別のアイテムでloadItemByIdAsyncを呼び出す前に行う必要があります。loadItemByIdAsyncメソッドは、同じメールボックス内のメッセージに対してのみ呼び出すことができます。
makeEwsRequestAsync(data, callback, userContext)
ユーザーのメールボックスをホストする Exchange サーバー上の Exchange Web サービス (EWS) サービスに対して非同期要求を行います。
makeEwsRequestAsync メソッドは、アドインの代わりに Exchange に EWS 要求を送信します。
makeEwsRequestAsync(data: any, callback: (asyncResult: Office.AsyncResult<string>) => void, userContext?: any): void;
パラメーター
- data
-
any
EWS 要求です。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。 EWS 要求の XML 応答は、 asyncResult.value プロパティの文字列として提供されます。 Outlook on the web、Windows (新規およびクラシック (バージョン 2303、ビルド 16225.10000 以降) および Mac (バージョン 16.73 (23042601) 以降) では、応答のサイズが 5 MB を超えると、asyncResult.error プロパティにエラー メッセージが返されます。 Windows (クラシック) および Mac 用の以前のバージョンの Outlook では、応答のサイズが 1 MB を超えるとエラー メッセージが返されます。
- userContext
-
any
省略可能。 非同期メソッドに渡される状態データです。
返品
void
注釈
最小アクセス許可レベル: メールボックスの読み取り/書き込み
適用可能な Outlook モード: Composeまたは読み取り
重要:
従来の Exchange Online ユーザー ID トークンとコールバック トークンはサポートされなくなり、すべての Microsoft 365 テナントでオフになっています。 Outlook アドインで委任されたユーザー アクセスまたはユーザー ID が必要な場合は、MSAL (Microsoft 認証ライブラリ) と入れ子になったアプリ認証 (NAA) を使用することをお勧めします。 Exchange ユーザー ID トークンは、Exchange オンプレミスで引き続きサポートされます。
makeEwsRequestAsyncメソッドで EWS 要求を行うには、サーバー管理者がクライアント アクセス サーバーの EWS ディレクトリでOAuthAuthenticationをtrueに設定する必要があります。アドインには、
makeEwsRequestAsyncメソッドを使用するためのメールボックスの読み取り/書き込みアクセス許可が必要です。 メールボックスの読み取り/書き込みアクセス許可の使用方法と、makeEwsRequestAsyncメソッドで呼び出すことができる EWS 操作の詳細については、「ユーザーのメールボックスへのメール アドイン アクセスのアクセス許可を指定する」を参照してください。アドインでフォルダーに関連付けられたアイテムにアクセスする必要がある場合、またはその XML 要求で UTF-8 エンコード (
\<?xml version="1.0" encoding="utf-8"?\>) を指定する必要がある場合は、代わりに Microsoft Graph または REST API を使用してユーザーのメールボックスにアクセスする必要があります。この方法は、Android または iOS の Outlook ではサポートされていません。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください。
アドインが Gmail メールボックスに読み込まれる場合は、このメソッドはサポートされません。
バージョン 15.0.4535.1004 より前のバージョンの Outlook で実行されるアドインで
makeEwsRequestAsync方式を使用する場合は、エンコード値を ISO-8859-1 (<?xml version="1.0" encoding="iso-8859-1"?>) に設定する必要があります。 Outlook クライアントのバージョンを確認するには、mailbox.diagnostics.hostVersionプロパティを使用します。 アドインが Windows 上の Outlook on the web と新しい Outlook で実行されている場合は、エンコードの値を設定する必要はありません。 アドインが実行されている Outlook クライアントを特定するには、mailbox.diagnostics.hostNameプロパティを使用します。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-for-exchange-on-premises/get-icaluid-as-attendee.yaml
const ewsId = Office.context.mailbox.item.itemId;
const request = `<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header><t:RequestServerVersion Version="Exchange2013" /></soap:Header>
<soap:Body>
<m:GetItem>
<m:ItemShape>
<t:BaseShape>AllProperties</t:BaseShape>
</m:ItemShape >
<m:ItemIds>
<t:ItemId Id="${ewsId}" />
</m:ItemIds>
</m:GetItem>
</soap:Body>
</soap:Envelope>`;
Office.context.mailbox.makeEwsRequestAsync(request, (result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error(result.error.message);
return;
}
console.log(getUID(result.value));
});
...
const request = '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">' +
' <soap:Header><t:RequestServerVersion Version="Exchange2010" /></soap:Header>' +
' <soap:Body>' +
' <m:CreateItem MessageDisposition="SendAndSaveCopy">' +
' <m:SavedItemFolderId><t:DistinguishedFolderId Id="sentitems" /></m:SavedItemFolderId>' +
' <m:Items>' +
' <t:Message>' +
' <t:Subject>Hello, Outlook!</t:Subject>' +
' <t:Body BodyType="HTML">This message was sent from a ScriptLab code sample, used from ' + Office.context.mailbox.diagnostics.hostName + ', version ' + Office.context.mailbox.diagnostics.hostVersion + '!</t:Body>' +
' <t:ToRecipients>' +
' <t:Mailbox><t:EmailAddress>' + Office.context.mailbox.userProfile.emailAddress + '</t:EmailAddress></t:Mailbox>' +
' </t:ToRecipients>' +
' </t:Message>' +
' </m:Items>' +
' </m:CreateItem>' +
' </soap:Body>' +
'</soap:Envelope>';
Office.context.mailbox.makeEwsRequestAsync(request, (result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to make EWS request: ${result.error.message}.`);
return;
}
console.log(result.value);
});
removeHandlerAsync(eventType, options, callback)
サポートされているイベントの種類のイベント ハンドラーを削除します。 イベントは、作業ウィンドウのアドインでのみ使用できます。
removeHandlerAsync(eventType: Office.EventType | string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- eventType
-
Office.EventType | string
ハンドラーを取り消すイベント。
- options
- Office.AsyncContextOptions
コールバックで使用するために、任意の種類のコンテキスト データを変更されないまま保持するためのオプションを提供します。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: Composeまたは読み取り
重要: Mailbox オブジェクトでは、次のイベントがサポートされています。
| イベント | 説明 | 最小要件セット |
|---|---|---|
DragAndDropEvent | Outlook クライアント ウィンドウで、アドインの作業ウィンドウにメッセージまたは添付ファイルをドラッグしてからドロップします。 このイベントは、Outlook on the web と新しい Outlook on Windows でのみサポートされます。 | 1.5 |
ItemChanged | 作業ウィンドウが固定されている間に、別の Outlook アイテムが選択されて表示されている。 | 1.5 |
OfficeThemeChanged | Outlook で OfficeTheme が変更された場合。 | 1.14 |
SelectedItemsChanged | 1 つ以上のメッセージが選択または選択解除される。 | 1.13 |
removeHandlerAsync(eventType, callback)
サポートされているイベントの種類のイベント ハンドラーを削除します。 イベントは、作業ウィンドウのアドインでのみ使用できます。
removeHandlerAsync(eventType: Office.EventType | string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- eventType
-
Office.EventType | string
ハンドラーを取り消すイベント。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: Composeまたは読み取り
重要: Mailbox オブジェクトでは、次のイベントがサポートされています。
| イベント | 説明 | 最小要件セット |
|---|---|---|
DragAndDropEvent | Outlook クライアント ウィンドウで、アドインの作業ウィンドウにメッセージまたは添付ファイルをドラッグしてからドロップします。 このイベントは、Outlook on the web と新しい Outlook on Windows でのみサポートされます。 | 1.5 |
ItemChanged | 作業ウィンドウが固定されている間に、別の Outlook アイテムが選択されて表示されている。 | 1.5 |
OfficeThemeChanged | Outlook で OfficeTheme が変更された場合。 | 1.14 |
SelectedItemsChanged | 1 つ以上のメッセージが選択または選択解除される。 | 1.13 |
例
Office.context.mailbox.removeHandlerAsync(Office.EventType.OfficeThemeChanged, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.error("Failed to remove event handler: " + asyncResult.error.message);
return;
}
console.log("Event handler removed successfully.");
});