Office.MessageCompose interface
Office.context.mailbox.item のメッセージ作成モード。
重要:
これは内部の Outlook オブジェクトであり、既存のインターフェイスを通じて直接公開されることはありません。 これを
Office.context.mailbox.itemモードとして扱う必要があります。 詳細については、「 Outlook アイテム オブジェクト モデル」を参照してください。メッセージで
Office.context.mailbox.itemを呼び出すときは、Outlook クライアントの閲覧ウィンドウがオンになっている必要があることに注意してください。 閲覧ウィンドウを構成する方法については、「 閲覧ウィンドウを使用してメッセージをプレビューする」を参照してください。
親インターフェイス:
- Extends
注釈
使用元
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml
const attachmentUrl = (document.getElementById("attachmentUrl") as HTMLInputElement).value;
Office.context.mailbox.item.addFileAttachmentAsync(
attachmentUrl,
getFileName(attachmentUrl),
{ isInline: false },
(result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to add attachment: ${result.error.message}.`);
return;
}
console.log(`Added attachment with ID: ${result.value}`);
}
);
プロパティ
| bcc | メッセージの BCC (ブラインド カーボン コピー) 行の受信者を取得または更新するメソッドを提供するオブジェクトを取得します。 クライアント/プラットフォーム (Windows、Mac など) によっては、取得または更新できる受信者の数に制限が適用される場合があります。 詳細については、 Recipients オブジェクトを参照してください。 |
| body | アイテムの本文を操作するメソッドを提供するオブジェクトを取得します。 |
| categories | 項目のカテゴリを管理するためのメソッドを提供するオブジェクトを取得します。 |
| cc | メッセージの CC (カーボン コピー) の受信者へのアクセスを提供します。 オブジェクトのタイプとアクセス レベルは、現在の項目のモードによって異なります。
|
| conversation |
特定のメッセージが含まれている電子メールの会話の識別子を取得します。 メール アプリを閲覧フォームでアクティブ化するか、新規作成フォームの返信でアクティブ化すると、このプロパティで整数を取得することができます。 その後、ユーザーが返信の件名を変更した場合、その返信の送信時にメッセージの会話 ID が変更され、以前に取得した値は適用されなくなります。 新規作成フォームで新しいアイテムに対してこのプロパティに null を取得します。 ユーザーが件名を設定し、アイテムを保存する場合、 |
| delay |
メッセージの遅延配信日時を取得または設定します。
|
| from | メッセージの送信者の電子メール アドレスを取得します。
|
| in |
現在のメッセージから返信される元のメッセージのインターネット メッセージ ID を取得します。 |
| internet |
メッセージのカスタム インターネット ヘッダーを取得または設定します。
詳細については、「Outlook アドインでメッセージのインターネット ヘッダーを取得して設定する」を参照してください。 |
| item |
インスタンスが表しているアイテムの種類を取得します。
|
| notification |
アイテムの通知メッセージを取得します。 |
| sensitivity |
オブジェクトを取得し、メッセージの 秘密度ラベル を取得または設定します。 |
| series |
インスタンスが属するシリーズの ID を取得します。 Outlook on the web、Windows (新規およびクラシック)、および Mac では、 |
| session |
Compose モードでアイテムの SessionData を管理します。 重要: メールボックス 1.15 以前をサポートする Outlook クライアントでは、各メール アイテムの SessionData オブジェクト全体はアドインあたり 50,000 文字に制限されます。 メールボックス 1.16 以降をサポートするクライアントでは、アドインあたりの文字数制限は 2,621,440 文字です。 |
| subject | アイテムの件名フィールドに示される説明を取得または設定します。
|
| to | メッセージの To 行にある受信者へのアクセスを提供します。 オブジェクトのタイプとアクセス レベルは、現在の項目のモードによって異なります。
|
メソッド
| add |
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
|
| add |
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
|
| add |
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
その後、 |
| add |
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
その後、 |
| add |
サポートされているイベントのイベント ハンドラーを追加します。 イベントは、作業ウィンドウのアドインでのみ使用できます。 |
| add |
サポートされているイベントのイベント ハンドラーを追加します。 イベントは、作業ウィンドウのアドインでのみ使用できます。 |
| add |
メッセージなどの Exchange アイテムを添付ファイルとして、メッセージまたは予定に追加します。
その後、 Windows 上の Outlook on the web または新しい Outlook で Office アドインが実行されている場合 |
| add |
メッセージなどの Exchange アイテムを添付ファイルとして、メッセージまたは予定に追加します。
その後、 Windows 上の Outlook on the web または新しい Outlook で Office アドインが実行されている場合 |
| close() | 作成中の現在の項目を閉じます。
Windows (クラシック) の Outlook と Mac の Outlook では、 |
| close |
保存されていない変更を破棄するオプションを設定して、作成中の現在のメッセージを閉じます。 作成中のメッセージは、新しいメッセージ、返信、または既存の下書きにすることができます。 |
| close |
現在作成中の新しいメッセージを閉じます。 作成中の新しいメッセージの動作は、メッセージに保存されていない変更が含まれているかどうかによって異なります。 変更が加えられていない場合、メッセージは保存ダイアログなしで閉じられます。 一方、メッセージに未保存の変更が含まれている場合は、保存ダイアログが表示され、下書きの保存、変更の破棄、または操作のキャンセルを求めるメッセージが表示されます。 |
| disable |
Outlook クライアント署名を無効にします。 このメソッドの動作は、アドインが実行しているクライアントによって異なります。
|
| disable |
Outlook クライアント署名を無効にします。 このメソッドの動作は、アドインが実行しているクライアントによって異なります。
|
| get |
メッセージまたは予定から添付ファイルを取得し、 |
| get |
メッセージまたは予定から添付ファイルを取得し、 |
| get |
アイテムの添付ファイルを配列として取得します。 |
| get |
アイテムの添付ファイルを配列として取得します。 |
| get |
メッセージ作成の種類とその強制の種類を指定します。 メッセージは新しいメッセージ、返信または転送にすることができます。 強制の種類は HTML またはプレーン テキストです。 |
| get |
メッセージ作成の種類とその強制の種類を指定します。 メッセージは新しいメッセージ、返信または転送にすることができます。 強制の種類は HTML またはプレーン テキストです。 |
| get |
Base64 でエンコードされたスレッド内の現在のメッセージの位置を取得します。 |
| get |
Base64 でエンコードされたスレッド内の現在のメッセージの位置を取得します。 |
| get |
アクション可能なメッセージによってアドインがアクティブ化されたときに渡される初期化データを取得します。 |
| get |
アクション可能なメッセージによってアドインがアクティブ化されたときに渡される初期化データを取得します。 |
| get |
選択したメッセージの Exchange Web サービス項目クラスを取得します。 |
| get |
選択したメッセージの Exchange Web サービス項目クラスを取得します。 |
| get |
保存されたアイテムの Exchange Web サービス (EWS) アイテム識別子 を非同期で取得します。 このメソッドは呼び出すと、コールバック関数によってアイテム ID を返します。 |
| get |
保存されたアイテムの Exchange Web サービス (EWS) アイテム識別子 を非同期で取得します。 このメソッドは呼び出すと、コールバック関数によってアイテム ID を返します。 |
| get |
メッセージの件名または本文から非同期的に選択したデータを返します。 選択範囲がなく、カーソルが本文または件名にある場合、メソッドは選択したデータに対して空の文字列を返します。 本文または件名以外のフィールドが選択されている場合、 コールバック関数から選択したデータにアクセスするには、 |
| get |
メッセージの件名または本文から非同期的に選択したデータを返します。 選択範囲がなく、カーソルが本文または件名にある場合、メソッドは選択したデータに対して空の文字列を返します。 本文または件名以外のフィールドが選択されている場合、 コールバック関数から選択したデータにアクセスするには、 |
| get |
共有フォルダーまたは共有メールボックス内の予定またはメッセージのプロパティを取得します。 この API の使用方法の詳細については、「Outlook アドインで共有フォルダーと共有メールボックスのシナリオを有効にする」を参照してください。 |
| get |
共有フォルダーまたは共有メールボックス内の予定またはメッセージのプロパティを取得します。 この API の使用方法の詳細については、「Outlook アドインで共有フォルダーと共有メールボックスのシナリオを有効にする」を参照してください。 |
| is |
クライアント署名が有効になっているかどうかを取得します。 Windows (クラシック) および Mac 上の Outlook では、新しいメッセージ、返信、または転送の既定の署名が、送信元の Outlook アカウントのテンプレートに設定されている場合、API 呼び出しによって |
| is |
クライアント署名が有効になっているかどうかを取得します。 Windows (クラシック) および Mac 上の Outlook では、新しいメッセージ、返信、または転送の既定の署名が、送信元の Outlook アカウントのテンプレートに設定されている場合、API 呼び出しによって |
| load |
選択されたアイテムのこのアドインのカスタム プロパティを非同期に読み込みます。 カスタム プロパティは、アプリごと、アイテムごとにキーと値のペアとして格納されます。 このメソッドはコールバックで CustomProperties オブジェクトを返します。このオブジェクトには、現在の項目と現在のアドインに固有のカスタム プロパティにアクセスするメソッドが用意されています。 カスタム プロパティはアイテムで暗号化されていないため、これをセキュリティで保護されたストレージとして使用しないでください。 カスタム プロパティは |
| remove |
メッセージまたは予定から添付ファイルを削除します。
|
| remove |
メッセージまたは予定から添付ファイルを削除します。
|
| remove |
サポートされているイベントの種類のイベント ハンドラーを削除します。 イベントは、作業ウィンドウのアドインでのみ使用できます。 |
| remove |
サポートされているイベントの種類のイベント ハンドラーを削除します。 イベントは、作業ウィンドウのアドインでのみ使用できます。 |
| save |
現在のメッセージを下書きとして非同期に保存します。 |
| save |
現在のメッセージを下書きとして非同期に保存します。 |
| send |
作成中のメッセージを送信します。 |
| send |
作成中のメッセージを送信します。 |
| set |
メッセージの本文または件名に非同期的にデータを挿入します。
|
| set |
メッセージの本文または件名に非同期的にデータを挿入します。
|
プロパティの詳細
bcc
メッセージの BCC (ブラインド カーボン コピー) 行の受信者を取得または更新するメソッドを提供するオブジェクトを取得します。
クライアント/プラットフォーム (Windows、Mac など) によっては、取得または更新できる受信者の数に制限が適用される場合があります。 詳細については、 Recipients オブジェクトを参照してください。
bcc: Recipients;
プロパティ値
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-set-bcc-message-compose.yaml
Office.context.mailbox.item.bcc.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const msgBcc = asyncResult.value;
console.log("Message being blind-copied to:");
for (let i = 0; i < msgBcc.length; i++) {
console.log(msgBcc[i].displayName + " (" + msgBcc[i].emailAddress + ")");
}
} else {
console.error(asyncResult.error);
}
});
...
const email = (document.getElementById("emailBcc") as HTMLInputElement).value;
const emailArray = [email];
Office.context.mailbox.item.bcc.setAsync(emailArray, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Succeeded in setting Bcc field.");
} else {
console.error(asyncResult.error);
}
});
body
アイテムの本文を操作するメソッドを提供するオブジェクトを取得します。
body: Body;
プロパティ値
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
例
// This example gets the body of the item as plain text.
Office.context.mailbox.item.body.getAsync(
"text",
{ asyncContext: "This is passed to the callback" },
function callback(result) {
// Do something with the result.
});
// The following is an example of the result parameter passed to the callback function.
{
"value": "TEXT of whole body (including threads below)",
"status": "succeeded",
"asyncContext": "This is passed to the callback"
}
categories
項目のカテゴリを管理するためのメソッドを提供するオブジェクトを取得します。
categories: Categories;
プロパティ値
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
重要: Windows の Outlook on the web および新しい Outlook では、API を使用して Compose モードでメッセージのカテゴリを管理することはできません。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/45-categories/work-with-categories.yaml
Office.context.mailbox.item.categories.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const categories = asyncResult.value;
if (categories && categories.length > 0) {
console.log("Categories assigned to this item:");
console.log(JSON.stringify(categories));
} else {
console.log("There are no categories assigned to this item.");
}
} else {
console.error(asyncResult.error);
}
});
...
// Note: In order for you to successfully add a category,
// it must be in the mailbox categories master list.
Office.context.mailbox.masterCategories.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const masterCategories = asyncResult.value;
if (masterCategories && masterCategories.length > 0) {
// Grab the first category from the master list.
const categoryToAdd = [masterCategories[0].displayName];
Office.context.mailbox.item.categories.addAsync(categoryToAdd, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log(`Successfully assigned category '${categoryToAdd}' to item.`);
} else {
console.log("categories.addAsync call failed with error: " + asyncResult.error.message);
}
});
} else {
console.log("There are no categories in the master list on this mailbox. You can add categories using Office.context.mailbox.masterCategories.addAsync.");
}
} else {
console.error(asyncResult.error);
}
});
...
Office.context.mailbox.item.categories.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const categories = asyncResult.value;
if (categories && categories.length > 0) {
// Grab the first category assigned to this item.
const categoryToRemove = [categories[0].displayName];
Office.context.mailbox.item.categories.removeAsync(categoryToRemove, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log(`Successfully unassigned category '${categoryToRemove}' from this item.`);
} else {
console.log("categories.removeAsync call failed with error: " + asyncResult.error.message);
}
});
} else {
console.log("There are no categories assigned to this item.");
}
} else {
console.error(asyncResult.error);
}
});
cc
メッセージの CC (カーボン コピー) の受信者へのアクセスを提供します。 オブジェクトのタイプとアクセス レベルは、現在の項目のモードによって異なります。
cc プロパティは、メッセージの Cc 行にある受信者を取得または更新するメソッドを提供する Recipients オブジェクトを返します。 ただし、クライアント/プラットフォーム (Windows、Mac など) によっては、取得または更新できる受信者の数に制限が適用される場合があります。 詳細については、 Recipients オブジェクトを参照してください。
cc: Recipients;
プロパティ値
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-set-cc-message-compose.yaml
Office.context.mailbox.item.cc.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const msgCc = asyncResult.value;
console.log("Message being copied to:");
for (let i = 0; i < msgCc.length; i++) {
console.log(msgCc[i].displayName + " (" + msgCc[i].emailAddress + ")");
}
} else {
console.error(asyncResult.error);
}
});
...
const email = (document.getElementById("emailCc") as HTMLInputElement).value;
const emailArray = [email];
Office.context.mailbox.item.cc.setAsync(emailArray, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Succeeded in setting Cc field.");
} else {
console.error(asyncResult.error);
}
});
conversationId
特定のメッセージが含まれている電子メールの会話の識別子を取得します。
メール アプリを閲覧フォームでアクティブ化するか、新規作成フォームの返信でアクティブ化すると、このプロパティで整数を取得することができます。 その後、ユーザーが返信の件名を変更した場合、その返信の送信時にメッセージの会話 ID が変更され、以前に取得した値は適用されなくなります。
新規作成フォームで新しいアイテムに対してこのプロパティに null を取得します。 ユーザーが件名を設定し、アイテムを保存する場合、conversationId プロパティは値を返します。
conversationId: string;
プロパティ値
string
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-conversation-id-message.yaml
console.log(`Conversation ID: ${Office.context.mailbox.item.conversationId}`);
delayDeliveryTime
メッセージの遅延配信日時を取得または設定します。
delayDeliveryTime プロパティは、メッセージの配信日時を管理するメソッドを提供する DelayDeliveryTime オブジェクトを返します。
delayDeliveryTime: DelayDeliveryTime;
プロパティ値
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/delay-message-delivery.yaml
function setDeliveryDate(minutes) {
// This snippet sets the delivery date and time of a message.
const currentTime = new Date().getTime();
const milliseconds = totalDelay * 60000;
const timeDelay = new Date(currentTime + milliseconds);
Office.context.mailbox.item.delayDeliveryTime.setAsync(timeDelay, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log(asyncResult.error.message);
return;
}
if (minutes === 1440) {
console.log(`Delayed delivery by an additional one day.`);
} else {
console.log(`Delayed delivery by an additional ${minutes} minutes.`);
}
});
}
from
メッセージの送信者の電子メール アドレスを取得します。
from プロパティは、from 値を取得するメソッドを提供する From オブジェクトを返します。
from: From;
プロパティ値
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
重要: このプロパティは Outlook on Android および iOS でサポートされています。 サンプル シナリオについては、「Outlook モバイル アドインでイベントベースのライセンス認証を実装する」を参照してください。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-from-message-compose.yaml
Office.context.mailbox.item.from.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const msgFrom = asyncResult.value;
console.log("Message from: " + msgFrom.displayName + " (" + msgFrom.emailAddress + ")");
} else {
console.error(asyncResult.error);
}
});
inReplyTo
現在のメッセージから返信される元のメッセージのインターネット メッセージ ID を取得します。
inReplyTo: string;
プロパティ値
string
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
重要:
Windows 上の Outlook では、返信の件名の変更など、ユーザーが行った変更に関係なく、すべての返信で
inReplyTo値が保持されます。inReplyToプロパティは、会議の開催者でもあるユーザーによって転送される新しいメッセージと会議出席依頼のnullを返します。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-in-reply-to.yaml
// This snippet gets the ID of the message being replied to by the current message (PR_IN_REPLY_TO_ID).
// The API call is supported on messages being composed and isn't supported on read items.
const inReplyTo = Office.context.mailbox.item.inReplyTo;
if (inReplyTo) {
console.log("ID of the message being replied to: " + inReplyTo);
} else {
console.log("No InReplyTo property available for this message");
}
internetHeaders
メッセージのカスタム インターネット ヘッダーを取得または設定します。
internetHeaders プロパティは、メッセージのインターネット ヘッダーを管理するメソッドを提供する InternetHeaders オブジェクトを返します。
詳細については、「Outlook アドインでメッセージのインターネット ヘッダーを取得して設定する」を参照してください。
internetHeaders: InternetHeaders;
プロパティ値
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
重要: インターネット ヘッダー API は、Android 版および iOS バージョン 4.2405.0 以降の Outlook でサポートされています。 モバイル デバイスでの Outlook でサポートされている機能の詳細については、「モバイル デバイス上の Outlook でサポートされている JavaScript API」を参照してください。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/70-mime-headers/manage-custom-internet-headers-message-compose.yaml
Office.context.mailbox.item.internetHeaders.getAsync(
["preferred-fruit", "preferred-vegetable", "best-vegetable", "nonexistent-header"],
function (asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Selected headers: " + JSON.stringify(asyncResult.value));
} else {
console.log("Error getting selected headers: " + JSON.stringify(asyncResult.error));
}
}
);
itemType
インスタンスが表しているアイテムの種類を取得します。
itemType プロパティは、アイテム オブジェクト インスタンスがメッセージか予定かを示す、ItemType列挙値のいずれかを返します。
itemType: MailboxEnums.ItemType | string;
プロパティ値
Office.MailboxEnums.ItemType | string
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-item-type.yaml
const itemType = Office.context.mailbox.item.itemType;
switch (itemType) {
case Office.MailboxEnums.ItemType.Appointment:
console.log(`Current item is an ${itemType}.`);
break;
case Office.MailboxEnums.ItemType.Message:
console.log(`Current item is a ${itemType}. A message could be an email, meeting request, meeting response, or meeting cancellation.`);
break;
}
notificationMessages
アイテムの通知メッセージを取得します。
notificationMessages: NotificationMessages;
プロパティ値
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
重要: 実装できるさまざまな種類の通知メッセージの詳細については、「 Outlook アドインの通知を作成する」を参照してください。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/35-notifications/add-getall-remove.yaml
// Adds a progress indicator to the mail item.
const id = (document.getElementById("notificationId") as HTMLInputElement).value;
const details =
{
type: Office.MailboxEnums.ItemNotificationMessageType.ProgressIndicator,
message: "Progress indicator with id = " + id
};
Office.context.mailbox.item.notificationMessages.addAsync(id, details, (result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to add progress notification with id = ${id}. Try using a different ID.`);
return;
}
console.log(`Added progress notification with id = ${id}.`);
});
...
// Adds an informational notification to the mail item.
const id = (document.getElementById("notificationId") as HTMLInputElement).value;
const details =
{
type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
message: "Non-persistent informational notification message with id = " + id,
icon: "PG.Icon.16",
persistent: false
};
Office.context.mailbox.item.notificationMessages.addAsync(id, details, (result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to add informational notification with id = ${id}. Try using a different ID.`);
return;
}
console.log(`Added informational notification with id = ${id}.`);
});
...
// Adds a persistent information notification to the mail item.
const id = (document.getElementById("notificationId") as HTMLInputElement).value;
const details =
{
type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
message: "Persistent informational notification message with id = " + id,
icon: "PG.Icon.16",
persistent: true
};
Office.context.mailbox.item.notificationMessages.addAsync(id, details, (result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to add persistent informational notification with id = ${id}. Try using a different ID.`);
return;
}
console.log(`Added persistent informational notification with id = ${id}.`);
});
...
// Gets all the notification messages and their keys for the current mail item.
Office.context.mailbox.item.notificationMessages.getAllAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log(asyncResult.error.message);
return;
}
console.log(JSON.stringify(asyncResult.value));
});
...
// Replaces a notification message of a given key with another message.
const id = (document.getElementById("notificationId") as HTMLInputElement).value;
Office.context.mailbox.item.notificationMessages.replaceAsync(
id,
{
type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
message: "Notification message with id = " + id + " has been replaced with an informational message.",
icon: "icon2",
persistent: false
},
(result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to replace notification with id = ${id}. ${result.error.message}.`);
return;
}
console.log(`Replaced notification with id = ${id}.`);
});
...
// Removes a notification message from the current mail item.
const id = (document.getElementById("notificationId") as HTMLInputElement).value;
Office.context.mailbox.item.notificationMessages.removeAsync(id, (result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to remove notification with id = ${id}. ${result.error.message}.`);
return;
}
console.log(`Removed notification with id = ${id}.`);
});
sensitivityLabel
オブジェクトを取得し、メッセージの 秘密度ラベル を取得または設定します。
sensitivityLabel: SensitivityLabel;
プロパティ値
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
対象となる Outlook モード: メッセージ Compose
重要: アドインで秘密度ラベル機能を使用するには、Microsoft 365 E5 サブスクリプションが必要です。
アドインで秘密度ラベルを管理する方法の詳細については、「 作成モードでメッセージまたは予定の秘密度ラベルを管理する」を参照してください。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/60-sensitivity-label/sensitivity-label.yaml
// This snippet gets the current mail item's sensitivity label.
Office.context.sensitivityLabelsCatalog.getIsEnabledAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded && asyncResult.value == true) {
Office.context.mailbox.item.sensitivityLabel.getAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log(asyncResult.value);
} else {
console.log("Action failed with error: " + asyncResult.error.message);
}
});
} else {
console.log("Action failed with error: " + asyncResult.error.message);
}
});
seriesId
インスタンスが属するシリーズの ID を取得します。
Outlook on the web、Windows (新規およびクラシック)、および Mac では、seriesIdは、このアイテムが属する親 (系列) アイテムの Exchange Web サービス (EWS) ID を返します。 ただし、iOS と Android では、seriesId は親項目の REST ID を返します。
seriesId: string;
プロパティ値
string
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
重要: seriesId プロパティによって返される識別子は、Exchange Web サービスの項目識別子と同じです。
seriesId プロパティは、Outlook REST API で使用される Outlook ID と同じではありません。 この値を使用して REST API 呼び出しを行う前に、 Office.context.mailbox.convertToRestId を使用して変換する必要があります。 詳細については、「Outlook アドインから Outlook REST API を使用する」を参照してください。
seriesId プロパティは、単一の予定、一連のアイテム、会議出席依頼など、親アイテムを持たないアイテムのnullを返し、会議出席依頼ではない他のアイテムのundefinedを返します。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/50-recurrence/get-series-id.yaml
const seriesId = Office.context.mailbox.item.seriesId;
if (seriesId === undefined) {
console.log("This is a message that's not a meeting request.");
} else if (seriesId === null) {
console.log("This is a single appointment, a parent series, or a meeting request for a series or single meeting.");
} else {
console.log("This is an instance belonging to series with ID " + seriesId);
}
sessionData
Compose モードでアイテムの SessionData を管理します。
重要: メールボックス 1.15 以前をサポートする Outlook クライアントでは、各メール アイテムの SessionData オブジェクト全体はアドインあたり 50,000 文字に制限されます。 メールボックス 1.16 以降をサポートするクライアントでは、アドインあたりの文字数制限は 2,621,440 文字です。
sessionData: SessionData;
プロパティ値
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/session-data-apis.yaml
Office.context.mailbox.item.sessionData.getAllAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("The sessionData is " + JSON.stringify(asyncResult.value));
} else {
console.log("Failed to get all sessionData. Error: " + JSON.stringify(asyncResult.error));
}
});
subject
アイテムの件名フィールドに示される説明を取得または設定します。
subject プロパティは、電子メール サーバーによって送信されたアイテムの件名全体を取得または設定します。
subject プロパティは件名を取得および設定するためのメソッドを提供する Subject オブジェクトを返します。
subject: Subject;
プロパティ値
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-set-subject-compose.yaml
Office.context.mailbox.item.subject.getAsync((result) => {
if (result.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Action failed with message ${result.error.message}`);
return;
}
console.log(`Subject: ${result.value}`);
});
...
let subject = "Hello World!";
Office.context.mailbox.item.subject.setAsync(subject, (result) => {
if (result.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Action failed with message ${result.error.message}`);
return;
}
console.log(`Successfully set subject to ${subject}`);
});
to
メッセージの To 行にある受信者へのアクセスを提供します。 オブジェクトのタイプとアクセス レベルは、現在の項目のモードによって異なります。
to プロパティは、メッセージの To 行の受信者を取得または更新するメソッドを提供する Recipients オブジェクトを返します。 ただし、クライアント/プラットフォーム (Windows、Mac など) によっては、取得または更新できる受信者の数に制限が適用される場合があります。 詳細については、 Recipients オブジェクトを参照してください。
to: Recipients;
プロパティ値
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-set-to-message-compose.yaml
Office.context.mailbox.item.to.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const msgTo = asyncResult.value;
console.log("Message being sent to:");
for (let i = 0; i < msgTo.length; i++) {
console.log(msgTo[i].displayName + " (" + msgTo[i].emailAddress + ")");
}
} else {
console.error(asyncResult.error);
}
});
...
const email = (document.getElementById("emailTo") as HTMLInputElement).value;
const emailArray = [email];
Office.context.mailbox.item.to.setAsync(emailArray, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Succeeded in setting To field.");
} else {
console.error(asyncResult.error);
}
});
メソッドの詳細
addFileAttachmentAsync(uri, attachmentName, options, callback)
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
addFileAttachmentAsync メソッドは、指定した URI にあるファイルをアップロードし、新規作成フォーム内のアイテムに添付します。
addFileAttachmentAsync(uri: string, attachmentName: string, options: Office.AsyncContextOptions & { isInline: boolean }, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- uri
-
string
メッセージまたは予定に添付するファイルの場所を示す URI。 最大長は 2048 文字です。
- attachmentName
-
string
添付ファイルのアップロード時に表示される添付ファイルの名前。 最大の長さは、255 文字です。
- options
-
Office.AsyncContextOptions & { isInline: boolean }
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
isInline
: true の場合、添付ファイルがメッセージ本文に画像としてインラインで表示され、添付ファイルの一覧には表示されないことを示します。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 成功すると、添付ファイル識別子が asyncResult.value プロパティで提供されます。 識別子は、Outlook クライアントによって異なります。 Outlook on the web と新しい Outlook on Windows では、Exchange Web サービス (EWS) ID が返されます。
isInline が true に設定されている場合、添付ファイルがサーバーにアップロードされる間、最初は addinId というプレフィックスが付いた一時的な添付ファイル ID が返されます。 アップロードが完了すると、添付ファイルに EWS ID が割り当てられます。 詳細については、「備考」セクションの注を参照してください。 Windows (クラシック) 版および Mac 版の Outlook では、インライン添付ファイルとインライン以外の添付ファイルに対して、添付ファイルのインデックスが返されます。 添付ファイルのアップロードに失敗した場合は、 asyncResult.error にエラーの説明が表示されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
対象となる Outlook モード: メッセージ Compose
重要:
この方法は、iOS 版または Android 版 Outlook ではサポートされていません。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください。
2026 年 3 月 30 日以降、
isInlineをtrueに設定したaddFileAttachmentAsyncまたはaddFileAttachmentFromBase64Asyncへの呼び出しが完了すると、Outlook on the web のインライン イメージと新しい Outlook on Windows には、サーバーにアップロードされる間、ローカルに一時的な添付ファイル ID が割り当てられます。 添付ファイルの一時IDのプレフィックスはaddinId。 画像がサーバーにアップロードされると、idプロパティで Exchange Web サービス (EWS) ID が割り当てられ、isServiceAccessibleプロパティがtrueに設定されます。 一時添付ファイル ID は、現在の作成セッションの期間中のみサポートされます。 インライン画像の処理方法の変更の詳細については、「 Outlook アドインでのインライン画像の添付ファイル ID の変更」を参照してください。ビットマップ (BMP) 画像は、インライン添付ファイルとして追加されている場合はサポートされません。
従来の Outlook on Windows の最近のビルドで、このアクションに
Authorization: Bearerヘッダーが誤って付加されるバグが導入されました (この API または Outlook UI を使用する場合)。 この問題を回避するには、要件セット 1.8 で導入されたaddFileAttachmentFromBase64API を使用します。添付するファイルの URI が実稼働環境でのキャッシュをサポートしている必要があります。 画像をホストしているサーバーは、HTTP 応答で
no-cache、no-store、または同様のオプションを指定するCache-Controlヘッダーを返すべきではありません。 ただし、アドインを開発してファイルに変更を加えるときには、キャッシュによって変更が表示されない可能性があります。 開発中はCache-Controlヘッダーを使用することをお勧めします。同じ URI を
removeAttachmentAsyncメソッドで使用して、同じセッションで添付ファイルを削除できます。
エラー:
AttachmentSizeExceeded: 添付ファイルが許可されているサイズより大きくなっています。FileTypeNotSupported: 添付ファイルに、許可されない拡張子があります。NumberOfAttachmentsExceeded: メッセージまたは予定の添付ファイルが多すぎます。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml
const attachmentUrl = (document.getElementById("attachmentUrl") as HTMLInputElement).value;
Office.context.mailbox.item.addFileAttachmentAsync(
attachmentUrl,
getFileName(attachmentUrl),
{ isInline: false },
(result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to add attachment: ${result.error.message}.`);
return;
}
console.log(`Added attachment with ID: ${result.value}`);
}
);
addFileAttachmentAsync(uri, attachmentName, callback)
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
addFileAttachmentAsync メソッドは、指定した URI にあるファイルをアップロードし、新規作成フォーム内のアイテムに添付します。
addFileAttachmentAsync(uri: string, attachmentName: string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- uri
-
string
メッセージまたは予定に添付するファイルの場所を示す URI。 最大長は 2048 文字です。
- attachmentName
-
string
添付ファイルのアップロード時に表示される添付ファイルの名前。 最大の長さは、255 文字です。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 成功すると、添付ファイル識別子が asyncResult.value プロパティで提供されます。 識別子は、Outlook クライアントによって異なります。 Outlook on the web と新しい Outlook on Windows では、Exchange Web サービス (EWS) ID が返されます。
isInline が true に設定されている場合、添付ファイルがサーバーにアップロードされる間、最初は addinId というプレフィックスが付いた一時的な添付ファイル ID が返されます。 アップロードが完了すると、添付ファイルに EWS ID が割り当てられます。 詳細については、「備考」セクションの注を参照してください。 Windows (クラシック) 版および Mac 版の Outlook では、インライン添付ファイルとインライン以外の添付ファイルに対して、添付ファイルのインデックスが返されます。 添付ファイルのアップロードに失敗した場合は、 asyncResult.error にエラーの説明が表示されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
対象となる Outlook モード: メッセージ Compose
重要:
この方法は、iOS 版または Android 版 Outlook ではサポートされていません。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください。
2026 年 3 月 30 日以降、
isInlineをtrueに設定したaddFileAttachmentAsyncまたはaddFileAttachmentFromBase64Asyncへの呼び出しが完了すると、Outlook on the web のインライン イメージと新しい Outlook on Windows には、サーバーにアップロードされる間、ローカルに一時的な添付ファイル ID が割り当てられます。 添付ファイルの一時IDのプレフィックスはaddinId。 画像がサーバーにアップロードされると、idプロパティで Exchange Web サービス (EWS) ID が割り当てられ、isServiceAccessibleプロパティがtrueに設定されます。 一時添付ファイル ID は、現在の作成セッションの期間中のみサポートされます。 インライン画像の処理方法の変更の詳細については、「 Outlook アドインでのインライン画像の添付ファイル ID の変更」を参照してください。ビットマップ (BMP) 画像は、インライン添付ファイルとして追加されている場合はサポートされません。
従来の Outlook on Windows の最近のビルドで、このアクションに
Authorization: Bearerヘッダーが誤って付加されるバグが導入されました (この API または Outlook UI を使用する場合)。 この問題を回避するには、要件セット 1.8 で導入されたaddFileAttachmentFromBase64API を使用します。添付するファイルの URI が実稼働環境でのキャッシュをサポートしている必要があります。 画像をホストしているサーバーは、HTTP 応答で
no-cache、no-store、または同様のオプションを指定するCache-Controlヘッダーを返すべきではありません。 ただし、アドインを開発してファイルに変更を加えるときには、キャッシュによって変更が表示されない可能性があります。 開発中はCache-Controlヘッダーを使用することをお勧めします。同じ URI を
removeAttachmentAsyncメソッドで使用して、同じセッションで添付ファイルを削除できます。
エラー:
AttachmentSizeExceeded: 添付ファイルが許可されているサイズより大きくなっています。FileTypeNotSupported: 添付ファイルに、許可されない拡張子があります。NumberOfAttachmentsExceeded: メッセージまたは予定の添付ファイルが多すぎます。
addFileAttachmentFromBase64Async(base64File, attachmentName, options, callback)
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
addFileAttachmentFromBase64Async メソッドは、Base64 エンコードからファイルをアップロードし、作成フォームのアイテムに添付します。 このメソッドは、 asyncResult.value オブジェクトの添付ファイル識別子を返します。
その後、removeAttachmentAsync メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。
addFileAttachmentFromBase64Async(base64File: string, attachmentName: string, options: Office.AsyncContextOptions & { isInline: boolean }, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- base64File
-
string
メールまたはイベントに追加する画像またはファイルの Base64 でエンコードされたコンテンツ。 エンコードされた文字列の最大長は、34,865,152 文字です。 これは、Base64 エンコード前の最大添付ファイル サイズである 25 MB に相当します。
- attachmentName
-
string
添付ファイルのアップロード時に表示される添付ファイルの名前。 最大の長さは、255 文字です。
- options
-
Office.AsyncContextOptions & { isInline: boolean }
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
isInline
: true の場合、添付ファイルがメッセージ本文に画像としてインラインで表示され、添付ファイルの一覧には表示されないことを示します。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 成功すると、添付ファイル識別子が asyncResult.value プロパティで提供されます。 識別子は、Outlook クライアントによって異なります。 Outlook on the web と新しい Outlook on Windows では、Exchange Web サービス (EWS) ID が返されます。
isInline が true に設定されている場合、添付ファイルがサーバーにアップロードされる間、最初は addinId というプレフィックスが付いた一時的な添付ファイル ID が返されます。 アップロードが完了すると、添付ファイルに EWS ID が割り当てられます。 詳細については、「備考」セクションの注を参照してください。 Windows (クラシック) 版および Mac 版の Outlook では、インライン添付ファイルとインライン以外の添付ファイルに対して、添付ファイルのインデックスが返されます。 添付ファイルのアップロードに失敗した場合は、 asyncResult.error にエラーの説明が表示されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
対象となる Outlook モード: メッセージ Compose
重要:
作成モードでメッセージにインライン Base64 ファイルを追加する機能は、Android 版および iOS 版 Outlook でサポートされています。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください。
2026 年 3 月 30 日以降、
isInlineをtrueに設定したaddFileAttachmentAsyncまたはaddFileAttachmentFromBase64Asyncへの呼び出しが完了すると、Outlook on the web のメッセージと新しい Outlook on Windows のメッセージ内のインライン画像は、サーバーにアップロードされる間、ローカルに一時的な添付ファイル ID が割り当てられます。 添付ファイルの一時IDのプレフィックスはaddinId。 画像がサーバーにアップロードされると、Exchange Web サービス (EWS) ID が割り当てられます。 一時添付ファイル ID は、現在の作成セッションの期間中のみサポートされます。 インライン画像の処理方法の変更の詳細については、「 Outlook アドインでのインライン画像の添付ファイル ID の変更」を参照してください。データ URL API (
readAsDataURLなど) を使用している場合は、データ URL プレフィックスを削除し、文字列の残りの部分をこの API に送信する必要があります。 たとえば、文字列全体がdata:image/svg+xml;base64,<rest of Base64 string>で表されている場合は、data:image/svg+xml;base64,を削除します。作成中のメッセージまたは予定の本文に Base64 でエンコードされたインライン画像を追加するには、
prependAsync、setSignatureAsync、setAsyncなどの Body API メソッドを使用します。Office.context.mailbox.item.body.setAsyncを使用して画像を挿入する場合は、まずOffice.context.mailbox.item.body.getAsyncを呼び出してアイテムの現在の本文を取得します。 そうしないと、画像は挿入後に本文にレンダリングされません。 例については、Script Lab の「インライン Base64 でエンコードされた画像をメッセージまたは予定の本文 (Compose) に追加する」サンプルを参照してください。
エラー:
AttachmentSizeExceeded: 添付ファイルが許可されているサイズより大きくなっています。FileTypeNotSupported: 添付ファイルに、許可されない拡張子があります。NumberOfAttachmentsExceeded: メッセージまたは予定の添付ファイルが多すぎます。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml
const base64String = "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsSAAALEgHS3X78AAACRUlEQVRYw82XzXHbMBCFP2F8tzsQc8Ixyh0zoiuIXIGdCsxUYKqC0B04FdiuwMoM7mGOOIXqQGoAymXhgSX+itJM9kIRFLAP+3YXD5Pdbscx5oxaAIW8Ztr6l2PWmQwF4IyaieP53qdfAqQ8CwBn1JU4vpWhrbxXQA5MZfynANmcDIAzKgcy4FKGXsVJFf3nLgKyBQptfT4KQMRz2N0fcbxqmRMDWXflx0VPnrdArq0vekQ1Dv0UeHZGNebHhwjU8AzwKM43RyZnbAf58Q6ghudeWd0Aus0+5EcMIIRi3beua0D3Nm39BEAx3i7HTK4DEBJn5YxKOnaRA5+ErpMBWMpzDvx1RuXCcxOISlufAjfC7zgAsqsvUvMAD0ApPaEtGi9AIlUzKgJo60tt/SyKRkzLrAXERluf7W1gOICWaMyB386oooOWsIHvXbSoHuUSFovtHqicUVnH3EJoeT0aQEf5/XBGlc6otIOWBXAtPeZkAIJ9Bt6cUU9tZautX2nrk3MACHYr1ZKProKRtDw4o8pzAPjWo+NtpXTTvoteDDg8noDAcwbcRedAkGdFXyk2GEDcegVAFp2gyVDHjRQ4o6q2smoqtR5Hd+qMqtoALCWUUymr1m43QMZfOaMK4C0SrMsDANJ2E5FNcbdbjHC+ENl+H0myJFbLtaq4Rt8dyPBYRQV1E40nMv9rl7xrOw3DGb+Whcqu3i/OM6CUOWvgRlufNmnLYy4m77uJI7AXtdNcTDrU71LEyv7v01/N/ovL6bmu5/8A1tNWZldH0W4AAAAASUVORK5CYII=";
Office.context.mailbox.item.addFileAttachmentFromBase64Async(
base64String,
"logo.png",
{ isInline: false },
(result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to add attachment from Base64-encoded string: ${result.error.message}.`);
return;
}
console.log(`Added attachment from a Base64-encoded string with ID: ${result.value}`);
}
);
...
// Set the signature for the current item with inline image.
const modIcon1Base64 = "iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpDRDMxMDg1MjBCNDZFMTExODE2MkM1RUI2M0M4MDYxRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTUxQjgyRjQ2MEQxMUUxODlFMkQwNTYzQ0YwMTUxMiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTUxQjgyRTQ2MEQxMUUxODlFMkQwNTYzQ0YwMTUxMiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgV2luZG93cyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQxMzEwODUyMEI0NkUxMTE4MTYyQzVFQjYzQzgwNjFEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNEMzEwODUyMEI0NkUxMTE4MTYyQzVFQjYzQzgwNjFEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+uC/WfAAAAehJREFUeNpilCzfwEAEkAbiECA2A2J1IOaHin8E4ptAfBaIVwLxU0IGMRKw0B6IW4DYhoE4cASIK6E0VsCEQ1wUiNcB8QESLGOAqj0MxBuhZhBloS4QnwHiQAbygR/UDF1CFupCXSjHQDmQg5qli8tCUBBsQUoQ1AD8UDNFsVk4n0o+w+bT+egWglKjNymmeGhLkqLcG2oHAwtUoIuQDj5OVgZPLUmwRe5aEmAxqYqNpFgKssOcCeplM0KqdST5GfpDDRm0JfkYrj3/SE7QguyQY4ImYYLgCtAS10kHGMw6dzNsv/qC7OwCClJXYlR++v6b4er3j5QmIFcmaNlIL6AOslCIjhYKMTHQGTBBqxh6gXcgC6/R0cKbIAv30dHCfaAKGJTxHxJSqS3Fz9DkowNmywpyMcgA8fF7b8D8VWcfM6w8+4gYC+VB+RCk8hSh0gaUD4/dewvlvUWRe/z+GzGWgex4BGtiOAHxXhoHpzMoSGHZAhSPW2lo2VZYWkHOh4nEtLrIAE+hZmNUwK+B2BOIv1PRsu9QM1/jatNcBtVZ0IREKXgENesyoVYbzNIdFFi2A5tl+NqlL6BB4QBNzsSCU1A9nlAzMAALAQMOQl0qB23qWwKxIlIrDBQ394H4OBCvISYqAAIMACVibHDqsO7zAAAAAElFTkSuQmCC";
Office.context.mailbox.item.addFileAttachmentFromBase64Async(
modIcon1Base64,
"myImage.png",
{ isInline: true },
function(result) {
if (result.status == Office.AsyncResultStatus.Succeeded) {
const signature = (document.getElementById("signature") as HTMLInputElement).value + "<img src='cid:myImage.png'>";
console.log(`Setting signature to "${signature}".`);
Office.context.mailbox.item.body.setSignatureAsync(
signature,
{ coercionType: "html" },
function(asyncResult) {
console.log(`setSignatureAsync: ${asyncResult.status}`);
}
);
} else {
console.error(`addFileAttachmentFromBase64Async: ${result.error}`);
}
}
);
addFileAttachmentFromBase64Async(base64File, attachmentName, callback)
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
addFileAttachmentFromBase64Async メソッドは、Base64 エンコードからファイルをアップロードし、作成フォームのアイテムに添付します。 このメソッドは、 asyncResult.value オブジェクトの添付ファイル識別子を返します。
その後、removeAttachmentAsync メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。
addFileAttachmentFromBase64Async(base64File: string, attachmentName: string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- base64File
-
string
メールまたはイベントに追加する画像またはファイルの Base64 でエンコードされたコンテンツ。 エンコードされた文字列の最大長は、34,865,152 文字です。 これは、Base64 エンコード前の最大添付ファイル サイズである 25 MB に相当します。
- attachmentName
-
string
添付ファイルのアップロード時に表示される添付ファイルの名前。 最大の長さは、255 文字です。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 成功すると、添付ファイル識別子が asyncResult.value プロパティで提供されます。 識別子は、Outlook クライアントによって異なります。 Outlook on the web と新しい Outlook on Windows では、Exchange Web サービス (EWS) ID が返されます。
isInline が true に設定されている場合、添付ファイルがサーバーにアップロードされる間、最初は addinId というプレフィックスが付いた一時的な添付ファイル ID が返されます。 アップロードが完了すると、添付ファイルに EWS ID が割り当てられます。 詳細については、「備考」セクションの注を参照してください。 Windows (クラシック) 版および Mac 版の Outlook では、インライン添付ファイルとインライン以外の添付ファイルに対して、添付ファイルのインデックスが返されます。 添付ファイルのアップロードに失敗した場合は、 asyncResult.error にエラーの説明が表示されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
対象となる Outlook モード: メッセージ Compose
重要:
作成モードでメッセージにインライン Base64 ファイルを追加する機能は、Android 版および iOS 版 Outlook でサポートされています。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください。
2026 年 3 月 30 日以降、
isInlineをtrueに設定したaddFileAttachmentAsyncまたはaddFileAttachmentFromBase64Asyncへの呼び出しが完了すると、Outlook on the web のメッセージと新しい Outlook on Windows のメッセージ内のインライン画像は、サーバーにアップロードされる間、ローカルに一時的な添付ファイル ID が割り当てられます。 添付ファイルの一時IDのプレフィックスはaddinId。 画像がサーバーにアップロードされると、Exchange Web サービス (EWS) ID が割り当てられます。 一時添付ファイル ID は、現在の作成セッションの期間中のみサポートされます。 インライン画像の処理方法の変更の詳細については、「 Outlook アドインでのインライン画像の添付ファイル ID の変更」を参照してください。データ URL API (
readAsDataURLなど) を使用している場合は、データ URL プレフィックスを削除し、文字列の残りの部分をこの API に送信する必要があります。 たとえば、文字列全体がdata:image/svg+xml;base64,<rest of Base64 string>で表されている場合は、data:image/svg+xml;base64,を削除します。作成中のメッセージまたは予定の本文に Base64 でエンコードされたインライン画像を追加するには、
prependAsync、setSignatureAsync、setAsyncなどの Body API メソッドを使用します。Office.context.mailbox.item.body.setAsyncを使用して画像を挿入する場合は、まずOffice.context.mailbox.item.body.getAsyncを呼び出してアイテムの現在の本文を取得します。 そうしないと、画像は挿入後に本文にレンダリングされません。 例については、Script Lab の「インライン Base64 でエンコードされた画像をメッセージまたは予定の本文 (Compose) に追加する」サンプルを参照してください。
エラー:
AttachmentSizeExceeded: 添付ファイルが許可されているサイズより大きくなっています。FileTypeNotSupported: 添付ファイルに、許可されない拡張子があります。NumberOfAttachmentsExceeded: メッセージまたは予定の添付ファイルが多すぎます。
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
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
重要: メール アイテムでサポートされているイベントの一覧については、「 Outlook アイテム オブジェクト モデル」を参照してください。
例
function myHandlerFunction(eventarg) {
if (eventarg.attachmentStatus === Office.MailboxEnums.AttachmentStatus.Added) {
const attachment = eventarg.attachmentDetails;
console.log("Event Fired and Attachment Added!");
getAttachmentContentAsync(attachment.id, options, callback);
}
}
Office.context.mailbox.item.addHandlerAsync(Office.EventType.AttachmentsChanged, myHandlerFunction, myCallback);
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 つのパラメーター asyncResult を指定して呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
重要: メール アイテムでサポートされているイベントの一覧については、「 Outlook アイテム オブジェクト モデル」を参照してください。
addItemAttachmentAsync(itemId, attachmentName, options, callback)
メッセージなどの Exchange アイテムを添付ファイルとして、メッセージまたは予定に追加します。
addItemAttachmentAsync メソッドは、指定された Exchange 識別子を持つアイテムを作成フォーム内のアイテムに添付します。 コールバック関数を指定すると、メソッドは 1 つのパラメーター ( asyncResult) を使用して呼び出されます。このパラメーターには、添付ファイル識別子またはアイテムの添付中に発生したエラーを示すコードが含まれます。 必要に応じて、options パラメーターを使用して、状態情報をコールバック関数に渡すことができます。
その後、removeAttachmentAsync メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。
Windows 上の Outlook on the web または新しい Outlook で Office アドインが実行されている場合addItemAttachmentAsyncメソッドでは、編集しているアイテム以外のアイテムにアイテムを追加できます。 ただし、これはサポートされておらず、推奨されません。
addItemAttachmentAsync(itemId: any, attachmentName: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- itemId
-
any
添付するアイテムの Exchange 識別子。 最大長は 100 文字です。
- attachmentName
-
string
添付ファイルのアップロード時に表示される添付ファイルの名前。 最大の長さは、255 文字です。
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 成功すると、添付ファイルの識別子が asyncResult.value プロパティに設定されます。 添付ファイルの追加に失敗した場合、asyncResult オブジェクトには、エラーの説明を提供する Error オブジェクトが含まれます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
対象となる Outlook モード: メッセージ Compose
エラー:
-
NumberOfAttachmentsExceeded: メッセージまたは予定の添付ファイルが多すぎます。
例
// The following example adds an existing Outlook item as an attachment
// with the name "My Attachment".
function addAttachment() {
// EWS ID of item to attach (shortened for readability).
const itemId = "AAMkADI1...AAA=";
// The values in asyncContext can be accessed in the callback.
const options = { asyncContext: { var1: 1, var2: 2 } };
Office.context.mailbox.item.addItemAttachmentAsync(itemId, "My Attachment", options, (result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error("Failed to add attachment: " + result.error.message);
return;
}
console.log("Attachment added successfully.");
console.log("var1: " + result.asyncContext.var1);
console.log("var2: " + result.asyncContext.var2);
});
}
addItemAttachmentAsync(itemId, attachmentName, callback)
メッセージなどの Exchange アイテムを添付ファイルとして、メッセージまたは予定に追加します。
addItemAttachmentAsync メソッドは、指定された Exchange 識別子を持つアイテムを作成フォーム内のアイテムに添付します。 コールバック関数を指定すると、メソッドは 1 つのパラメーター ( asyncResult) を使用して呼び出されます。このパラメーターには、添付ファイル識別子またはアイテムの添付中に発生したエラーを示すコードが含まれます。 必要に応じて、options パラメーターを使用して、状態情報をコールバック関数に渡すことができます。
その後、removeAttachmentAsync メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。
Windows 上の Outlook on the web または新しい Outlook で Office アドインが実行されている場合addItemAttachmentAsyncメソッドでは、編集しているアイテム以外のアイテムにアイテムを追加できます。 ただし、これはサポートされておらず、推奨されません。
addItemAttachmentAsync(itemId: any, attachmentName: string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- itemId
-
any
添付するアイテムの Exchange 識別子。 最大長は 100 文字です。
- attachmentName
-
string
添付ファイルのアップロード時に表示される添付ファイルの名前。 最大の長さは、255 文字です。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 成功すると、添付ファイルの識別子が asyncResult.value プロパティに設定されます。 添付ファイルの追加に失敗した場合、asyncResult オブジェクトには、エラーの説明を提供する Error オブジェクトが含まれます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
対象となる Outlook モード: メッセージ Compose
エラー:
-
NumberOfAttachmentsExceeded: メッセージまたは予定の添付ファイルが多すぎます。
close()
作成中の現在の項目を閉じます。
close メソッドの動作は、作成中のアイテムの現在の状態によって異なります。 アイテムに未保存の変更がある場合、クライアントはユーザーにアクションの保存、破棄、または閉じるよう求めます。
Windows (クラシック) の Outlook と Mac の Outlook では、 close メソッドは閲覧ウィンドウの返信には影響しません。
close(): void;
返品
void
注釈
最小アクセス許可レベル: 制限付き
対象となる Outlook モード: メッセージ Compose
重要: Windows 上の Outlook on the web および新しい Outlook ではアイテムが予定であり、以前に saveAsync を使用して保存されている場合、アイテムが最後に保存されてから変更が行われていない場合でも、ユーザーは保存、破棄、またはキャンセルを求めるメッセージが表示されます。
ヒント: アドインで次のことを行う場合は、close メソッドではなく closeAsync メソッドを使用します。
保存ダイアログでユーザーにプロンプトを表示せずに、作成中のメッセージを自動的に破棄します。
作成中のメッセージでアイテムの保存ダイアログをユーザーがキャンセルするタイミングを決定します。
閲覧ウィンドウで返信を閉じるか、既存の下書きを閉じます。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/25-item-save-and-close/close.yaml
Office.context.mailbox.item.close();
closeAsync(options, callback)
保存されていない変更を破棄するオプションを設定して、作成中の現在のメッセージを閉じます。 作成中のメッセージは、新しいメッセージ、返信、または既存の下書きにすることができます。
closeAsync(options: Office.AsyncContextOptions & { discardItem: boolean }, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- options
-
Office.AsyncContextOptions & { discardItem: boolean }
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
discardItem
: trueの場合、現在作成中のメッセージは閉じられ、未保存の変更は破棄されます。 パラメーターが宣言されていないか、 falseに設定されている場合、保存ダイアログが表示され、下書きの保存、変更の破棄、または操作のキャンセルを求めるメッセージが表示されます。 この現象は、閲覧ウィンドウから新しいメッセージと返信がポップアップする場合に発生します。 閲覧ウィンドウまたは既存の下書きで返信を閉じる場合は、 discardItem を [ true] に設定する必要があります。 それ以外の場合、呼び出しはエラーを返します。 エラーの詳細については、「解説」セクションを参照してください。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、コールバック パラメーターに渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を使用して呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
対象となる Outlook モード: メッセージ Compose
重要:
closeAsyncメソッドは、作業ウィンドウと関数コマンドの実装でのみサポートされます。 イベント ベースのハンドラーまたは項目の複数選択シナリオではサポートされていません。closeAsyncメソッドが正常に現在のメッセージを閉じて破棄すると、それを呼び出したアドインの実行が停止します。
エラー:
The operation was cancelled by the user: ユーザーが保存ダイアログから [キャンセル ] を選択し、discardItemプロパティが定義されていないか、falseに設定されています。The operation is not supportedcloseAsyncメソッドが閲覧ウィンドウまたは既存の下書きで返信を閉じようとしますが、discardItemプロパティが定義されていないか、falseに設定されています。
closeAsync(callback)
現在作成中の新しいメッセージを閉じます。
作成中の新しいメッセージの動作は、メッセージに保存されていない変更が含まれているかどうかによって異なります。 変更が加えられていない場合、メッセージは保存ダイアログなしで閉じられます。 一方、メッセージに未保存の変更が含まれている場合は、保存ダイアログが表示され、下書きの保存、変更の破棄、または操作のキャンセルを求めるメッセージが表示されます。
closeAsync(callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、コールバック パラメーターに渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を使用して呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
対象となる Outlook モード: メッセージ Compose
重要:
closeAsyncメソッドは、作業ウィンドウと関数コマンドの実装でのみサポートされます。 イベント ベースのハンドラーまたは項目の複数選択シナリオではサポートされていません。closeAsyncメソッドが正常に現在のメッセージを閉じて破棄すると、それを呼び出したアドインの実行が停止します。
エラー:
The operation was cancelled by the user: ユーザーが保存ダイアログから [キャンセル ] を選択します。The operation is not supported:closeAsyncメソッドは、閲覧ウィンドウまたは既存の下書きで返信を閉じようとします。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/25-item-save-and-close/close-async.yaml
// This snippet closes the current message being composed and discards any unsaved changes when the optional property, discardItem, is set to true.
// The API call works on a new message being composed, a reply, or an existing draft.
// When discardItem is set to false or isn't defined on a new message with unsaved changes, the user is prompted to save a draft, discard the changes, or cancel the close operation.
Office.context.mailbox.item.closeAsync(
{ discardItem: true },
(asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
});
disableClientSignatureAsync(options, callback)
Outlook クライアント署名を無効にします。
このメソッドの動作は、アドインが実行しているクライアントによって異なります。
Windows 上の Outlook on the web および新しい Outlook では、新しいメール、返信、転送の署名オプションは無効になっています。 選択した署名も、メソッドによって無効になります。
Windows (クラシック) および Mac の Outlook では、送信アカウントの [ 新しいメッセージ ] セクションと [ 返信/転送] セクションの署名は [(なし)] に設定されています。
Android 版と iOS 版の Outlook では、モバイル デバイスに保存されている署名は消去されます。
disableClientSignatureAsync(options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、コールバック パラメーターに渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を使用して呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
対象となる Outlook モード: メッセージ Compose
重要: この方法は、Android 版および iOS バージョン 4.2352.0 以降の Outlook の Message Compose でサポートされています。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/work-with-client-signatures.yaml
// Disable the client signature.
Office.context.mailbox.item.disableClientSignatureAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("disableClientSignatureAsync succeeded");
} else {
console.error(asyncResult.error);
}
});
disableClientSignatureAsync(callback)
Outlook クライアント署名を無効にします。
このメソッドの動作は、アドインが実行しているクライアントによって異なります。
Windows 上の Outlook on the web および新しい Outlook では、新しいメール、返信、転送の署名オプションは無効になっています。 選択した署名も、メソッドによって無効になります。
Windows (クラシック) および Mac の Outlook では、送信アカウントの [ 新しいメッセージ ] セクションと [ 返信/転送] セクションの署名は [(なし)] に設定されています。
Android 版と iOS 版の Outlook では、モバイル デバイスに保存されている署名は消去されます。
disableClientSignatureAsync(callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、コールバック パラメーターに渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を使用して呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
対象となる Outlook モード: メッセージ Compose
重要: この方法は、Android 版および iOS バージョン 4.2352.0 以降の Outlook の Message Compose でサポートされています。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください。
getAttachmentContentAsync(attachmentId, options, callback)
メッセージまたは予定から添付ファイルを取得し、 AttachmentContent オブジェクトとして返します。
getAttachmentContentAsync(attachmentId: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<AttachmentContent>) => void): void;
パラメーター
- attachmentId
-
string
取得する添付ファイルの識別子。 Outlook on the web と新しい Outlook on Windows では、サーバーにまだアップロードされていないインライン画像に対してローカルで生成される一時的な添付ファイル ID が、現在の作成セッションの間サポートされます。
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<Office.AttachmentContent>) => void
省略可能。 メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。 呼び出しが失敗した場合、 asyncResult.error プロパティにはエラーの理由を含むエラー コードが含まれます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
重要:
getAttachmentContentAsyncメソッドは、指定された識別子を持つ添付ファイルをアイテムから取得します。 ベスト プラクティスとしては、getAttachmentsAsync呼び出しから添付ファイルの識別子を取得し、同じセッションでその識別子を使用して添付ファイルを取得する必要があります。2026 年 3 月 30 日以降、
isInlineをtrueに設定したaddFileAttachmentAsyncまたはaddFileAttachmentFromBase64Asyncへの呼び出しが完了すると、Outlook on the web のメッセージと新しい Outlook on Windows のメッセージ内のインライン画像は、サーバーにアップロードされる間、ローカルに一時的な添付ファイル ID が割り当てられます。 添付ファイルの一時IDのプレフィックスはaddinId。 画像がサーバーにアップロードされると、Exchange Web サービス (EWS) ID が割り当てられます。 一時添付ファイル ID は、現在の作成セッションの期間中のみサポートされます。 インライン画像の処理方法の変更の詳細については、「 Outlook アドインでのインライン画像の添付ファイル ID の変更」を参照してください。Outlook on the web と新しい Outlook on Windows では、[アップロードして共有] オプションを使用して追加された添付ファイルは
getAttachmentContentAsyncサポートされません。Outlook on the web、モバイル デバイス、および新しい Outlook on Windows では、添付ファイル識別子は同じセッション内でのみ有効です。 ユーザーがアプリを閉じるか、ユーザーがインライン フォームの作成を開始した後、フォームをポップアウトして別のウィンドウで続行すると、セッションは終了です。
エラー:
AttachmentTypeNotSupported: 添付ファイルの種類はサポートされていません。 サポートされていない種類には、埋め込み画像 (リッチ テキスト形式) や、メールや予定表アイテム以外のアイテム添付ファイルの種類 (連絡先やタスク アイテムなど) が含まれます。InvalidAttachmentId: 添付ファイル識別子は存在しません。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/get-attachment-content.yaml
// Gets the attachments of the current message or appointment in compose mode. The getAttachmentsAsync call can only be used in compose mode.
Office.context.mailbox.item.getAttachmentsAsync((result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.log(result.error.message);
return;
}
if (result.value.length <= 0) {
console.log("Mail item has no attachments.");
return;
}
for (let i = 0; i < result.value.length; i++) {
// Log the attachment type and its contents to the console.
Office.context.mailbox.item.getAttachmentContentAsync(result.value[i].id, handleAttachmentsCallback);
}
});
getAttachmentContentAsync(attachmentId, callback)
メッセージまたは予定から添付ファイルを取得し、 AttachmentContent オブジェクトとして返します。
getAttachmentContentAsync(attachmentId: string, callback?: (asyncResult: Office.AsyncResult<AttachmentContent>) => void): void;
パラメーター
- attachmentId
-
string
取得する添付ファイルの識別子。 Outlook on the web と新しい Outlook on Windows では、サーバーにまだアップロードされていないインライン画像に対してローカルで生成される一時的な添付ファイル ID が、現在の作成セッションの間サポートされます。
- callback
-
(asyncResult: Office.AsyncResult<Office.AttachmentContent>) => void
省略可能。 メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。 呼び出しが失敗した場合、 asyncResult.error プロパティにはエラーの理由を含むエラー コードが含まれます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
重要:
getAttachmentContentAsyncメソッドは、指定された識別子を持つ添付ファイルをアイテムから取得します。 ベスト プラクティスとしては、getAttachmentsAsync呼び出しから添付ファイルの識別子を取得し、同じセッションでその識別子を使用して添付ファイルを取得する必要があります。2026 年 3 月 30 日以降、
isInlineをtrueに設定したaddFileAttachmentAsyncまたはaddFileAttachmentFromBase64Asyncへの呼び出しが完了すると、Outlook on the web のメッセージと新しい Outlook on Windows のメッセージ内のインライン画像は、サーバーにアップロードされる間、ローカルに一時的な添付ファイル ID が割り当てられます。 添付ファイルの一時IDのプレフィックスはaddinId。 画像がサーバーにアップロードされると、Exchange Web サービス (EWS) ID が割り当てられます。 一時添付ファイル ID は、現在の作成セッションの期間中のみサポートされます。 インライン画像の処理方法の変更の詳細については、「 Outlook アドインでのインライン画像の添付ファイル ID の変更」を参照してください。Outlook on the web と新しい Outlook on Windows では、[アップロードして共有] オプションを使用して追加された添付ファイルは
getAttachmentContentAsyncサポートされません。Outlook on the web、モバイル デバイス、および新しい Outlook on Windows では、添付ファイル識別子は同じセッション内でのみ有効です。 ユーザーがアプリを閉じるか、ユーザーがインライン フォームの作成を開始した後、フォームをポップアウトして別のウィンドウで続行すると、セッションは終了です。
エラー:
AttachmentTypeNotSupported: 添付ファイルの種類はサポートされていません。 サポートされていない種類には、埋め込み画像 (リッチ テキスト形式) や、メールや予定表アイテム以外のアイテム添付ファイルの種類 (連絡先やタスク アイテムなど) が含まれます。InvalidAttachmentId: 添付ファイル識別子は存在しません。
getAttachmentsAsync(options, callback)
アイテムの添付ファイルを配列として取得します。
getAttachmentsAsync(options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<AttachmentDetailsCompose[]>) => void): void;
パラメーター
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<Office.AttachmentDetailsCompose[]>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 呼び出しが失敗した場合、 asyncResult.error プロパティにはエラーの理由を含むエラー コードが含まれます。 呼び出しが成功すると、 AttachmentDetailsCompose オブジェクトの配列が asyncResult.value プロパティで返されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
重要:
2026 年 3 月 30 日以降、
isInlineをtrueに設定したaddFileAttachmentAsyncまたはaddFileAttachmentFromBase64Asyncへの呼び出しが完了すると、Outlook on the web のメッセージと新しい Outlook on Windows のメッセージ内のインライン画像は、サーバーにアップロードされる間、ローカルに一時的な添付ファイル ID が割り当てられます。 添付ファイルの一時IDのプレフィックスはaddinId。 画像がサーバーにアップロードされると、Exchange Web サービス (EWS) ID が割り当てられます。 一時添付ファイル ID は、現在の作成セッションの期間中のみサポートされます。 インライン画像の処理方法の変更の詳細については、「 Outlook アドインでのインライン画像の添付ファイル ID の変更」を参照してください。Outlook on the web と新しい Outlook on Windows では、ユーザーは [アップロードして共有] オプションを選択して添付ファイルを OneDrive にアップロードし、ファイルへのリンクをメール アイテムに含めることができます。 ただし、リンクのみが含まれているため、
getAttachmentsAsyncはこの添付ファイルを返しません。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml
Office.context.mailbox.item.getAttachmentsAsync((result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error(result.error.message);
return;
}
if (result.value.length > 0) {
for (let i = 0; i < result.value.length; i++) {
const attachment = result.value[i];
let attachmentType;
switch (attachment.attachmentType) {
case Office.MailboxEnums.AttachmentType.Cloud:
attachmentType = "Attachment is stored in a cloud location";
break;
case Office.MailboxEnums.AttachmentType.File:
attachmentType = "Attachment is a file";
break;
case Office.MailboxEnums.AttachmentType.Item:
attachmentType = "Attachment is an Exchange item";
break;
}
console.log(
"ID: " +
attachment.id +
"\n" +
"Type: " +
attachmentType +
"\n" +
"Name: " +
attachment.name +
"\n" +
"Size: " +
attachment.size +
"\n" +
"isInline: " +
attachment.isInline
);
}
} else {
console.log("No attachments on this message.");
}
});
getAttachmentsAsync(callback)
アイテムの添付ファイルを配列として取得します。
getAttachmentsAsync(callback?: (asyncResult: Office.AsyncResult<AttachmentDetailsCompose[]>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<Office.AttachmentDetailsCompose[]>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 呼び出しが失敗した場合、 asyncResult.error プロパティにはエラーの理由を含むエラー コードが含まれます。 呼び出しが成功すると、asyncResult.value プロパティで AttachmentDetailsCompose オブジェクトの配列が返されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
重要:
2026 年 3 月 30 日以降、
isInlineをtrueに設定したaddFileAttachmentAsyncまたはaddFileAttachmentFromBase64Asyncへの呼び出しが完了すると、Outlook on the web のメッセージと新しい Outlook on Windows のメッセージ内のインライン画像は、サーバーにアップロードされる間、ローカルに一時的な添付ファイル ID が割り当てられます。 添付ファイルの一時IDのプレフィックスはaddinId。 画像がサーバーにアップロードされると、Exchange Web サービス (EWS) ID が割り当てられます。 一時添付ファイル ID は、現在の作成セッションの期間中のみサポートされます。 インライン画像の処理方法の変更の詳細については、「 Outlook アドインでのインライン画像の添付ファイル ID の変更」を参照してください。Outlook on the web と新しい Outlook on Windows では、ユーザーは [アップロードして共有] オプションを選択して添付ファイルを OneDrive にアップロードし、ファイルへのリンクをメール アイテムに含めることができます。 ただし、リンクのみが含まれているため、
getAttachmentsAsyncはこの添付ファイルを返しません。
getComposeTypeAsync(options, callback)
メッセージ作成の種類とその強制の種類を指定します。 メッセージは新しいメッセージ、返信または転送にすることができます。 強制の種類は HTML またはプレーン テキストです。
getComposeTypeAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<any>) => void): void;
パラメーター
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<any>) => void
メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 成功した場合、 asyncResult.value プロパティには、アイテムの作成型と強制型のオブジェクトが含まれます。
返品
void
メッセージ項目の ComposeType と CoercionType の列挙値を持つオブジェクト。
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
重要: この方法は、Android 版 Outlook およびバージョン 4.2352.0 以降の iOS 版でサポートされています。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください。
getComposeTypeAsync(callback)
メッセージ作成の種類とその強制の種類を指定します。 メッセージは新しいメッセージ、返信または転送にすることができます。 強制の種類は HTML またはプレーン テキストです。
getComposeTypeAsync(callback: (asyncResult: Office.AsyncResult<any>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<any>) => void
メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 成功した場合、 asyncResult.value プロパティには、アイテムの作成型と強制型のオブジェクトが含まれます。
返品
void
メッセージ項目の ComposeType と CoercionType の列挙値を持つオブジェクト。
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
重要: この方法は、Android 版 Outlook およびバージョン 4.2352.0 以降の iOS 版でサポートされています。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/work-with-client-signatures.yaml
// Get the compose type of the current message.
Office.context.mailbox.item.getComposeTypeAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log(
"getComposeTypeAsync succeeded with composeType: " +
asyncResult.value.composeType +
" and coercionType: " +
asyncResult.value.coercionType
);
} else {
console.error(asyncResult.error);
}
});
getConversationIndexAsync(options, callback)
Base64 でエンコードされたスレッド内の現在のメッセージの位置を取得します。
getConversationIndexAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。 会話内の現在のメッセージの Base64 エンコードされた位置は、 asyncResult.value プロパティで返されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
ヒント: スレッド インデックスを使用して、スレッド内のメッセージを見つけることができます。 次に、そのコンテンツを使用して、現在作成中のメッセージのコンテキストを提供します。
getConversationIndexAsync(callback)
Base64 でエンコードされたスレッド内の現在のメッセージの位置を取得します。
getConversationIndexAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。 会話内の現在のメッセージの Base64 エンコードされた位置は、 asyncResult.value プロパティで返されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
ヒント: スレッド インデックスを使用して、スレッド内のメッセージを見つけることができます。 次に、そのコンテンツを使用して、現在作成中のメッセージのコンテキストを提供します。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-conversation-index.yaml
// This snippet returns the Base64-encoded position of the current message in a conversation thread (PR_CONVERSATION_INDEX).
// The API call is supported on a message being composed and isn't supported on read items or appointments.
Office.context.mailbox.item.getConversationIndexAsync((result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.log(result.error.message);
return;
}
const conversationIndex = result.value;
if (conversationIndex) {
console.log("Position in the conversation thread: " + conversationIndex);
} else {
console.log("The current message doesn't belong to a conversation thread.");
}
});
getInitializationContextAsync(options, callback)
アクション可能なメッセージによってアドインがアクティブ化されたときに渡される初期化データを取得します。
getInitializationContextAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 成功した場合、初期化コンテキスト データは、 asyncResult.value プロパティに文字列 (初期化コンテキストがない場合は空の文字列) として提供されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
例
// Get the initialization context (if present).
Office.context.mailbox.item.getInitializationContextAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
if (asyncResult.value.length > 0) {
// The value is a string, parse to an object.
const context = JSON.parse(asyncResult.value);
// Do something with context.
} else {
// Empty context, treat as no context.
}
} else {
// Handle the error.
}
});
getInitializationContextAsync(callback)
アクション可能なメッセージによってアドインがアクティブ化されたときに渡される初期化データを取得します。
getInitializationContextAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 成功した場合、初期化コンテキスト データは、 asyncResult.value プロパティに文字列 (初期化コンテキストがない場合は空の文字列) として提供されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
getItemClassAsync(options, callback)
選択したメッセージの Exchange Web サービス項目クラスを取得します。
getItemClassAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。 メッセージ クラスは asyncResult.value プロパティで返されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
重要:
既定のメッセージ クラスを次の表に示します。
| アイテム クラス | 説明 |
|---|---|
| IPM.Note | 新しいメッセージとメッセージ返信 |
| IPM.Schedule.Meeting.Request | 会議出席依頼 |
| IPM.Schedule.Meeting.Canceled | 会議のキャンセル |
| IPM.Schedule.Meeting.Resp.Neg | 会議出席依頼に対する辞退の通知 |
| IPM.Schedule.Meeting.Resp.Pos | 会議出席依頼を承諾するための応答 |
| IPM.Schedule.Meeting.Resp.Tent | 会議出席依頼に対する仮の受諾の通知 |
getItemClassAsync(callback)
選択したメッセージの Exchange Web サービス項目クラスを取得します。
getItemClassAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。 メッセージ クラスは asyncResult.value プロパティで返されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
重要:
既定のメッセージ クラスを次の表に示します。
| アイテム クラス | 説明 |
|---|---|
| IPM.Note | 新しいメッセージとメッセージ返信 |
| IPM.Schedule.Meeting.Request | 会議出席依頼 |
| IPM.Schedule.Meeting.Canceled | 会議のキャンセル |
| IPM.Schedule.Meeting.Resp.Neg | 会議出席依頼に対する辞退の通知 |
| IPM.Schedule.Meeting.Resp.Pos | 会議出席依頼を承諾するための応答 |
| IPM.Schedule.Meeting.Resp.Tent | 会議出席依頼に対する仮の受諾の通知 |
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-item-class-async.yaml
// This snippet returns the Exchange Web Services item class property (PR_MESSAGE_CLASS) of the current message.
// The API call is only supported on a message being composed.
Office.context.mailbox.item.getItemClassAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
console.log("Item class of the current message: " + asyncResult.value);
});
getItemIdAsync(options, callback)
保存されたアイテムの Exchange Web サービス (EWS) アイテム識別子 を非同期で取得します。
このメソッドは呼び出すと、コールバック関数によってアイテム ID を返します。
getItemIdAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 アイテムの EWS アイテム ID は asyncResult.value プロパティで返されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
重要:
返されるアイテム ID が、Outlook エントリ ID または Outlook REST API で使用される ID と同じではありません。 この値を使用して REST API 呼び出しを行う前に、
Office.context.mailbox.convertToRestIdを使用して変換する必要があります。アドインが
getItemIdAsyncを呼び出す場合 (たとえば、EWS または REST API で使用するアイテム ID を取得する場合)、Outlook がキャッシュ モードの場合、アイテムがサーバーに同期されるまでに時間がかかる可能性があることに注意してください。 アイテムが同期されるまで、アイテム ID は認識されず、これを使用するとエラーが返されます。
エラー:
-
ItemNotSaved: アイテムが保存されるまで ID を取得することはできません。
getItemIdAsync(callback)
保存されたアイテムの Exchange Web サービス (EWS) アイテム識別子 を非同期で取得します。
このメソッドは呼び出すと、コールバック関数によってアイテム ID を返します。
getItemIdAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 アイテムの EWS アイテム ID は asyncResult.value プロパティで返されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
重要:
返されるアイテム ID が、Outlook エントリ ID または Outlook REST API で使用される ID と同じではありません。 この値を使用して REST API 呼び出しを行う前に、
Office.context.mailbox.convertToRestIdを使用して変換する必要があります。アドインが
getItemIdAsyncを呼び出す場合 (たとえば、EWS または REST API で使用するアイテム ID を取得する場合)、Outlook がキャッシュ モードの場合、アイテムがサーバーに同期されるまでに時間がかかる可能性があることに注意してください。 アイテムが同期されるまで、アイテム ID は認識されず、これを使用するとエラーが返されます。
エラー:
-
ItemNotSaved: アイテムが保存されるまで ID を取得することはできません。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/item-id-compose.yaml
Office.context.mailbox.item.getItemIdAsync((result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error(`getItemIdAsync failed with message: ${result.error.message}`);
return;
}
console.log(result.value);
});
getSelectedDataAsync(coercionType, options, callback)
メッセージの件名または本文から非同期的に選択したデータを返します。
選択範囲がなく、カーソルが本文または件名にある場合、メソッドは選択したデータに対して空の文字列を返します。 本文または件名以外のフィールドが選択されている場合、InvalidSelection エラーが返されます。
コールバック関数から選択したデータにアクセスするには、 asyncResult.value.data を呼び出します。 選択範囲の元のソース プロパティにアクセスするには、 asyncResult.value.sourceProperty ( body または subject) を呼び出します。
getSelectedDataAsync(coercionType: Office.CoercionType | string, options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<any>) => void): void;
パラメーター
- coercionType
-
Office.CoercionType | string
データの形式を要求します。
Text
場合、メソッドはプレーンテキストを文字列として返し、存在する HTML タグを削除します。
Html
の場合、プレーンテキストか HTML かに関係なく、選択したテキストが返されます。
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<any>) => void
メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。
返品
void
選択したデータは、 coercionTypeによって決まる形式の文字列です。
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
例
// Get selected data.
Office.context.mailbox.item.getSelectedDataAsync(Office.CoercionType.Text, { option1: "option1"}, getCallback);
function getCallback(asyncResult) {
const text = asyncResult.value.data;
const prop = asyncResult.value.sourceProperty;
console.log(`Selected text in ${prop}: ${text}`);
}
getSelectedDataAsync(coercionType, callback)
メッセージの件名または本文から非同期的に選択したデータを返します。
選択範囲がなく、カーソルが本文または件名にある場合、メソッドは選択したデータに対して空の文字列を返します。 本文または件名以外のフィールドが選択されている場合、InvalidSelection エラーが返されます。
コールバック関数から選択したデータにアクセスするには、 asyncResult.value.data を呼び出します。 選択範囲の元のソース プロパティにアクセスするには、 asyncResult.value.sourceProperty ( body または subject) を呼び出します。
getSelectedDataAsync(coercionType: Office.CoercionType | string, callback: (asyncResult: Office.AsyncResult<any>) => void): void;
パラメーター
- coercionType
-
Office.CoercionType | string
データの形式を要求します。
Text
場合、メソッドはプレーンテキストを文字列として返し、存在する HTML タグを削除します。
Html
の場合、プレーンテキストか HTML かに関係なく、選択したテキストが返されます。
- callback
-
(asyncResult: Office.AsyncResult<any>) => void
メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。
返品
void
選択したデータは、 coercionTypeによって決まる形式の文字列です。
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/get-selected-data.yaml
Office.context.mailbox.item.getSelectedDataAsync(Office.CoercionType.Text, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const text = asyncResult.value.data;
const prop = asyncResult.value.sourceProperty;
console.log("Selected text in " + prop + ": " + text);
} else {
console.error(asyncResult.error);
}
});
getSharedPropertiesAsync(options, callback)
共有フォルダーまたは共有メールボックス内の予定またはメッセージのプロパティを取得します。
この API の使用方法の詳細については、「Outlook アドインで共有フォルダーと共有メールボックスのシナリオを有効にする」を参照してください。
getSharedPropertiesAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<SharedProperties>) => void): void;
パラメーター
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<Office.SharedProperties>) => void
メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。
asyncResult.value プロパティは共有項目のプロパティを提供します。
返品
void
注釈
API セット: 共有フォルダーをサポートするメールボックス 1.8、共有メールボックスをサポートするメールボックス 1.13
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
注: この方法は、iOS 版または Android 版 Outlook ではサポートされていません。
重要: Message Compose モードでは、次の条件が満たされていない限り、この API は Outlook on the web または Windows (新規およびクラシック) ではサポートされません。
a. アクセス/共有フォルダーの委任
メールボックスの所有者がメッセージを開始します。 これは、新しいメッセージ、返信、転送のいずれかです。
彼らはメッセージを保存し、自分の [下書き ] フォルダーから代理人と共有しているフォルダーに移動します。
代理人は共有フォルダーから下書きを開き、作成を続行します。
b. ユーザーのプライマリ メールボックス (Web、クラシック Windows) またはフル アカウントに昇格していない共有メールボックス (新しい Windows) と同じパネルで開かれている共有メールボックス
共有メールボックス ユーザーがメッセージを開始します。 これは、新しいメッセージ、返信、転送のいずれかです。
メッセージを保存してから、自分の [下書き] フォルダーから共有メールボックス内のフォルダーに移動します。
別の共有メールボックス ユーザーが共有メールボックスの下書きを開き、作成を続行します。
これらの条件が満たされると、メッセージは共有コンテキストで使用できるようになり、これらの共有シナリオをサポートするアドインはアイテムの共有プロパティを取得できます。 メッセージは送信後、通常、送信者の個人用メールボックスの [送信済みアイテム ] フォルダーで見つかります。
getSharedPropertiesAsync メソッドは、追加条件なしで次のプラットフォームでサポートされます。
[別のメールボックスを開く] オプションを使用して共有メールボックスを別のタブまたはウィンドウで開いた場合の Outlook on the web。
共有メールボックスがフル アカウントに昇格された場合の、Windows 上の新しい Outlook。
getSharedPropertiesAsync(callback)
共有フォルダーまたは共有メールボックス内の予定またはメッセージのプロパティを取得します。
この API の使用方法の詳細については、「Outlook アドインで共有フォルダーと共有メールボックスのシナリオを有効にする」を参照してください。
getSharedPropertiesAsync(callback: (asyncResult: Office.AsyncResult<SharedProperties>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<Office.SharedProperties>) => void
メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。
asyncResult.value プロパティは共有項目のプロパティを提供します。
返品
void
注釈
API セット: 共有フォルダーをサポートするメールボックス 1.8、共有メールボックスをサポートするメールボックス 1.13
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
注: この方法は、iOS 版または Android 版 Outlook ではサポートされていません。
重要: Message Compose モードでは、次の条件が満たされていない限り、この API は Outlook on the web または Windows (新規およびクラシック) ではサポートされません。
a. アクセス/共有フォルダーの委任
メールボックスの所有者がメッセージを開始します。 これは、新しいメッセージ、返信、転送のいずれかです。
彼らはメッセージを保存し、自分の [下書き ] フォルダーから代理人と共有しているフォルダーに移動します。
代理人は共有フォルダーから下書きを開き、作成を続行します。
b. ユーザーのプライマリ メールボックス (Web、クラシック Windows) またはフル アカウントに昇格していない共有メールボックス (新しい Windows) と同じパネルで開かれている共有メールボックス
共有メールボックス ユーザーがメッセージを開始します。 これは、新しいメッセージ、返信、転送のいずれかです。
メッセージを保存してから、自分の [下書き] フォルダーから共有メールボックス内のフォルダーに移動します。
別の共有メールボックス ユーザーが共有メールボックスの下書きを開き、作成を続行します。
これらの条件が満たされると、メッセージは共有コンテキストで使用できるようになり、これらの共有シナリオをサポートするアドインはアイテムの共有プロパティを取得できます。 メッセージは送信後、通常、送信者の個人用メールボックスの [送信済みアイテム ] フォルダーで見つかります。
getSharedPropertiesAsync メソッドは、追加条件なしで次のプラットフォームでサポートされます。
[別のメールボックスを開く] オプションを使用して共有メールボックスを別のタブまたはウィンドウで開いた場合の Outlook on the web。
共有メールボックスがフル アカウントに昇格された場合の、Windows 上の新しい Outlook。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/65-delegates-and-shared-folders/get-shared-properties.yaml
Office.context.mailbox.item.getSharedPropertiesAsync((result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error("The current folder or mailbox isn't shared.");
return;
}
const sharedProperties = result.value;
console.log(`Owner: ${sharedProperties.owner}`);
console.log(`Permissions: ${sharedProperties.delegatePermissions}`);
console.log(`Target mailbox: ${sharedProperties.targetMailbox}`);
});
isClientSignatureEnabledAsync(options, callback)
クライアント署名が有効になっているかどうかを取得します。
Windows (クラシック) および Mac 上の Outlook では、新しいメッセージ、返信、または転送の既定の署名が、送信元の Outlook アカウントのテンプレートに設定されている場合、API 呼び出しによって true が返されます。
Outlook on the web および新しい Outlook on Windows では、作成の種類 newMail、reply、または forward に対して署名が有効になっている場合、API 呼び出しによって true が返されます。 Windows (クラシック) 版 Outlook または Mac で設定が「(なし)」に設定されている場合、または Windows 上の Outlook on the web または新しい Outlook で設定が無効になっている場合、API 呼び出しは false を返します。
isClientSignatureEnabledAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<boolean>) => void): void;
パラメーター
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<boolean>) => void
メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/work-with-client-signatures.yaml
// Check if the client signature is currently enabled.
Office.context.mailbox.item.isClientSignatureEnabledAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("isClientSignatureEnabledAsync succeeded with result: " + asyncResult.value);
} else {
console.error(asyncResult.error);
}
});
isClientSignatureEnabledAsync(callback)
クライアント署名が有効になっているかどうかを取得します。
Windows (クラシック) および Mac 上の Outlook では、新しいメッセージ、返信、または転送の既定の署名が、送信元の Outlook アカウントのテンプレートに設定されている場合、API 呼び出しによって true が返されます。
Outlook on the web および新しい Outlook on Windows では、作成の種類 newMail、reply、または forward に対して署名が有効になっている場合、API 呼び出しによって true が返されます。 Windows (クラシック) 版 Outlook または Mac で設定が「(なし)」に設定されている場合、または Windows 上の Outlook on the web または新しい Outlook で設定が無効になっている場合、API 呼び出しは false を返します。
isClientSignatureEnabledAsync(callback: (asyncResult: Office.AsyncResult<boolean>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<boolean>) => void
メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
loadCustomPropertiesAsync(callback, userContext)
選択されたアイテムのこのアドインのカスタム プロパティを非同期に読み込みます。
カスタム プロパティは、アプリごと、アイテムごとにキーと値のペアとして格納されます。 このメソッドはコールバックで CustomProperties オブジェクトを返します。このオブジェクトには、現在の項目と現在のアドインに固有のカスタム プロパティにアクセスするメソッドが用意されています。 カスタム プロパティはアイテムで暗号化されていないため、これをセキュリティで保護されたストレージとして使用しないでください。
カスタム プロパティは asyncResult.value プロパティの CustomProperties オブジェクトとして指定されます。 このオブジェクトを使用して、メール アイテムからカスタム プロパティを取得、設定、保存、および削除できます。
loadCustomPropertiesAsync(callback: (asyncResult: Office.AsyncResult<CustomProperties>) => void, userContext?: any): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<Office.CustomProperties>) => void
メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。
- userContext
-
any
省略可能。 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。 このオブジェクトには、コールバック関数の asyncResult.asyncContext プロパティによってアクセスすることができます。
返品
void
注釈
カスタム プロパティの詳細については、「Outlook アドインのアドイン メタデータを取得して設定する」を参照してください。
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/15-item-custom-properties/load-set-get-save.yaml
Office.context.mailbox.item.loadCustomPropertiesAsync((result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error(`loadCustomPropertiesAsync failed with message ${result.error.message}`);
return;
}
customProps = result.value;
console.log("Loaded the CustomProperties object.");
});
removeAttachmentAsync(attachmentId, options, callback)
メッセージまたは予定から添付ファイルを削除します。
removeAttachmentAsync メソッドは、指定した識別子の添付ファイルをアイテムから削除します。 ベスト プラクティスとして、同じメール アプリが同じセッションで添付ファイルを追加した場合にのみ、その添付ファイルの識別子を使用して添付ファイルを削除することをお勧めします。 Outlook on the web、モバイル デバイス、および新しい Outlook on Windows では、添付ファイル識別子は同じセッション内でのみ有効です。 ユーザーがアプリを閉じるか、ユーザーがインライン フォームの作成を開始した後、フォームをポップアウトして別のウィンドウで続行すると、セッションは終了です。
removeAttachmentAsync(attachmentId: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- attachmentId
-
string
削除する添付ファイルの識別子。
attachmentIdの最大の文字列長は、Outlook on the web および Windows (新旧) で 200 文字です。
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 添付ファイルの削除に失敗すると、asyncResult.error プロパティにはエラー コードとエラーの理由が含まれます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
対象となる Outlook モード: メッセージ Compose
重要: removeAttachmentAsync メソッドでは、メール アイテムからインライン添付ファイルは削除されません。 インライン添付ファイルを削除するには、まずアイテムの本文を取得してから、そのコンテンツから添付ファイルの参照をすべて削除します。
Office.Body API を使用して、項目の本文を取得して設定します。
エラー:
-
InvalidAttachmentId: 添付ファイル識別子は存在しません。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml
Office.context.mailbox.item.removeAttachmentAsync(
(document.getElementById("attachmentId") as HTMLInputElement).value,
(result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error(result.error.message);
return;
}
console.log(`Attachment removed successfully.`);
}
);
removeAttachmentAsync(attachmentId, callback)
メッセージまたは予定から添付ファイルを削除します。
removeAttachmentAsync メソッドは、指定した識別子の添付ファイルをアイテムから削除します。 ベスト プラクティスとして、同じメール アプリが同じセッションで添付ファイルを追加した場合にのみ、その添付ファイルの識別子を使用して添付ファイルを削除することをお勧めします。 Outlook on the web、モバイル デバイス、および新しい Outlook on Windows では、添付ファイル識別子は同じセッション内でのみ有効です。 ユーザーがアプリを閉じるか、ユーザーがインライン フォームの作成を開始した後、フォームをポップアウトして別のウィンドウで続行すると、セッションは終了です。
removeAttachmentAsync(attachmentId: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- attachmentId
-
string
削除する添付ファイルの識別子。
attachmentIdの最大の文字列長は、Outlook on the web および Windows (新旧) で 200 文字です。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 添付ファイルの削除に失敗すると、asyncResult.error プロパティにはエラー コードとエラーの理由が含まれます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
対象となる Outlook モード: メッセージ Compose
重要: removeAttachmentAsync メソッドでは、メール アイテムからインライン添付ファイルは削除されません。 インライン添付ファイルを削除するには、まずアイテムの本文を取得してから、そのコンテンツから添付ファイルの参照をすべて削除します。
Office.Body API を使用して、項目の本文を取得して設定します。
エラー:
-
InvalidAttachmentId: 添付ファイル識別子は存在しません。
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
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
重要: メール アイテムでサポートされているイベントの一覧については、「 Outlook アイテム オブジェクト モデル」を参照してください。
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 つのパラメーター asyncResult を指定して呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
対象となる Outlook モード: メッセージ Compose
重要: メール アイテムでサポートされているイベントの一覧については、「 Outlook アイテム オブジェクト モデル」を参照してください。
例
Office.context.mailbox.item.removeHandlerAsync(Office.EventType.ItemChanged, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.error("Failed to remove event handler: " + asyncResult.error.message);
return;
}
console.log("Event handler removed successfully.");
});
saveAsync(options, callback)
現在のメッセージを下書きとして非同期に保存します。
saveAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。 EWS メッセージ ID は asyncResult.value プロパティで返されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
対象となる Outlook モード: メッセージ Compose
重要:
Outlook on the web、新しい Outlook on Windows、またはオンライン モード (非キャッシュ モード) の Windows 上の従来の Outlook では、アイテムがサーバーに保存されます。 キャッシュ モードの Outlook では、ローカル キャッシュにアイテムが保存されます。
HTML 形式のコンテンツを操作する場合、Outlook クライアントがコンテンツを変更する可能性があることに注意してください。 つまり、
Body.getAsync、Body.setAsync、さらにはsaveAsyncなどのメソッドへの後続の呼び出しでは、同じ内容が得られない場合があります。返される識別子は、Exchange Web サービス (EWS) の項目識別子と同じです。 返されるアイテム ID が、Outlook エントリ ID または Outlook REST API で使用される ID と同じではありません。 この値を使用して REST API 呼び出しを行う前に、
Office.context.mailbox.convertToRestIdを使用して変換する必要があります。アドインが
saveAsyncを呼び出して、EWS または REST API で使用するアイテム ID を取得する場合、Outlook がキャッシュ モードの場合、アイテムが実際にサーバーに同期されるまでに時間がかかる可能性があることに注意してください。 アイテムが同期されるまで、アイテム ID を使用するとエラーが返されます。Windows 上の Outlook on the web および新しい Outlook では、共有メールボックス アカウントから送信されるメッセージに対して
saveAsyncが呼び出されると、下書きが保存されるメールボックス アカウントが異なります。 送信者が個人用メールボックスから新しいメッセージを作成し、[ 差出人 ] フィールドで共有メールボックス アカウントを選択すると、saveAsyncはユーザーの個人用メールボックスの [下書き] フォルダーに下書きを保存します。 送信者が別のブラウザー タブで共有メールボックス アカウントを開き ( たとえば、[別のメールボックスを開く] オプションを使用)、そこで新しいメッセージを作成すると、saveAsyncは共有メールボックスの [下書き] フォルダーに下書きを保存します。
エラー:
-
InvalidAttachmentId: 添付ファイル識別子は存在しません。
saveAsync(callback)
現在のメッセージを下書きとして非同期に保存します。
saveAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。 EWS メッセージ ID は asyncResult.value プロパティで返されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
対象となる Outlook モード: メッセージ Compose
重要:
Outlook on the web、新しい Outlook on Windows、またはオンライン モード (非キャッシュ モード) の Windows 上の従来の Outlook では、アイテムがサーバーに保存されます。 キャッシュ モードの Outlook では、ローカル キャッシュにアイテムが保存されます。
HTML 形式のコンテンツを操作する場合、Outlook クライアントがコンテンツを変更する可能性があることに注意してください。 つまり、
Body.getAsync、Body.setAsync、さらにはsaveAsyncなどのメソッドへの後続の呼び出しでは、同じ内容が得られない場合があります。返される識別子は、Exchange Web サービス (EWS) の項目識別子と同じです。 返されるアイテム ID が、Outlook エントリ ID または Outlook REST API で使用される ID と同じではありません。 この値を使用して REST API 呼び出しを行う前に、
Office.context.mailbox.convertToRestIdを使用して変換する必要があります。アドインが
saveAsyncを呼び出して、EWS または REST API で使用するアイテム ID を取得する場合、Outlook がキャッシュ モードの場合、アイテムが実際にサーバーに同期されるまでに時間がかかる可能性があることに注意してください。 アイテムが同期されるまで、アイテム ID を使用するとエラーが返されます。Windows 上の Outlook on the web および新しい Outlook では、共有メールボックス アカウントから送信されるメッセージに対して
saveAsyncが呼び出されると、下書きが保存されるメールボックス アカウントが異なります。 送信者が個人用メールボックスから新しいメッセージを作成し、[ 差出人 ] フィールドで共有メールボックス アカウントを選択すると、saveAsyncはユーザーの個人用メールボックスの [下書き] フォルダーに下書きを保存します。 送信者が別のブラウザー タブで共有メールボックス アカウントを開き ( たとえば、[別のメールボックスを開く] オプションを使用)、そこで新しいメッセージを作成すると、saveAsyncは共有メールボックスの [下書き] フォルダーに下書きを保存します。
エラー:
-
InvalidAttachmentId: 添付ファイル識別子は存在しません。
例
Office.context.mailbox.item.saveAsync(
function callback(result) {
// Process the result.
});
// The following is an example of the
// `result` parameter passed to the
// callback function. The `value`
// property contains the item ID of
// the item.
{
"value": "AAMkADI5...AAA=",
"status": "succeeded"
}
sendAsync(options, callback)
作成中のメッセージを送信します。
sendAsync(options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- options
- Office.AsyncContextOptions
asyncContext プロパティを含むオブジェクト リテラル。 コールバック関数でアクセスするオブジェクトを指定するには、 asyncContext プロパティを使用します。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が 1 つのパラメーター asyncResult を指定して呼び出されます。
asyncResult パラメーターは Office.AsyncResult オブジェクトです。
返品
void
注釈
最小アクセス許可レベル: メールボックスの読み取り/書き込み
対象となる Outlook モード: メッセージ Compose
重要:
sendAsyncメソッドは、作業ウィンドウと関数コマンドの実装でのみサポートされます。 イベント ベースのハンドラーまたは項目の複数選択シナリオではサポートされていません。関数コマンドの実装では、
asyncResult.statusで返される値には、作成中の予定が正常に送信されたかどうかが反映されていない場合があります。 これは、sendAsyncメソッドが非同期 API であり、アドインの制御外のイベント (個別にインストールされたスマート アラート アドインによって処理されるイベント など) によってアイテムの送信がブロックされることがあるためです。asyncResult.statusで返された状態に依存して特定の操作を実行することはできないため、コールバック関数で event.completed メソッドのみを呼び出す必要があります。event.completed呼び出しは、アドインが処理を完了したことを通知します。 この呼び出し以外のコールバック関数の他のコードは実行が保証されていません。sendAsyncを呼び出す前に、他の操作を処理することをお勧めします。作業ウィンドウの実装では、
asyncResult.statusがOffice.AsyncResultStatus.Successするときに実行するように含まれているコードは、処理される保証はありません。 これは、アイテムが既に送信されていて、アドインが処理を完了している可能性があるためです。sendAsyncを呼び出す前に、他の操作を処理することをお勧めします。アドインは
sendAsync呼び出しの後に処理を完了するため、sendAsync呼び出しの後に含まれるコードの実行は保証されません。sendAsync方法は、Outlook on Mac バージョン 16.105 (ビルド 25121117) 以降でプレビューできます。 この機能をテストするには、 Microsoft 365 Insider プログラム に参加し、 ベータ チャネル オプションを選択して Office ベータ ビルドにアクセスします。
sendAsync(callback)
作成中のメッセージを送信します。
sendAsync(callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が 1 つのパラメーター asyncResult を指定して呼び出されます。
asyncResult パラメーターは Office.AsyncResult オブジェクトです。
返品
void
注釈
最小アクセス許可レベル: メールボックスの読み取り/書き込み
対象となる Outlook モード: メッセージ Compose
重要:
sendAsyncメソッドは、作業ウィンドウと関数コマンドの実装でのみサポートされます。 イベント ベースのハンドラーまたは項目の複数選択シナリオではサポートされていません。関数コマンドの実装では、
asyncResult.statusで返される値には、作成中の予定が正常に送信されたかどうかが反映されていない場合があります。 これは、sendAsyncメソッドが非同期 API であり、アドインの制御外のイベント (個別にインストールされたスマート アラート アドインによって処理されるイベント など) によってアイテムの送信がブロックされることがあるためです。asyncResult.statusで返された状態に依存して特定の操作を実行することはできないため、コールバック関数で event.completed メソッドのみを呼び出す必要があります。event.completed呼び出しは、アドインが処理を完了したことを通知します。 この呼び出し以外のコールバック関数の他のコードは実行が保証されていません。sendAsyncを呼び出す前に、他の操作を処理することをお勧めします。作業ウィンドウの実装では、
asyncResult.statusがOffice.AsyncResultStatus.Successするときに実行するように含まれているコードは、処理される保証はありません。 これは、アイテムが既に送信されていて、アドインが処理を完了している可能性があるためです。sendAsyncを呼び出す前に、他の操作を処理することをお勧めします。アドインは
sendAsync呼び出しの後に処理を完了するため、sendAsync呼び出しの後に含まれるコードの実行は保証されません。sendAsync方法は、Outlook on Mac バージョン 16.105 (ビルド 25121117) 以降でプレビューできます。 この機能をテストするには、 Microsoft 365 Insider プログラム に参加し、 ベータ チャネル オプションを選択して Office ベータ ビルドにアクセスします。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/send-async.yaml
// This snippet sends the current message or appointment being composed.
Office.context.mailbox.item.sendAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
});
setSelectedDataAsync(data, options, callback)
メッセージの本文または件名に非同期的にデータを挿入します。
setSelectedDataAsync メソッドは、アイテムの件名または本文のカーソル位置に指定された文字列を挿入します。または、エディターでテキストが選択されている場合は、選択したテキストを置き換えます。 カーソルが body フィールドまたは subject フィールドにない場合は、エラーが返されます。 挿入後、カーソルは挿入されたコンテンツの最後に置かれます。
setSelectedDataAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- data
-
string
挿入されるデータ。 データの最大の長さは 1,000,000 文字です。 1,000,000 文字を超えるデータが渡されると、ArgumentOutOfRange 例外がスローされます。
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
coercionType
: テキストの場合、現在のスタイルが Outlook on the web、Windows (新旧)、および Mac に適用されます。 フィールドが HTML エディターの場合、データが HTML の場合でもテキスト データのみが挿入されます。 データが HTML でフィールドが HTML をサポートしている (件名が HTML をサポートしていない) 場合、現在のスタイルが Outlook on the web と新しい Outlook on Windows に適用されます。 Windows (クラシック) の Outlook と Mac では、既定のスタイルが適用されます。 フィールドがテキスト フィールドの場合、InvalidDataFormat エラーが返されます。
coercionType が設定されていない場合、結果はフィールドによって変わります。フィールドが HTML の場合は HTML が使用されます。フィールドがテキストの場合はプレーン テキストが使用されます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
対象となる Outlook モード: メッセージ Compose
エラー:
-
InvalidAttachmentId: 添付ファイル識別子は存在しません。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/set-selected-data.yaml
Office.context.mailbox.item.setSelectedDataAsync("Replaced", function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Selected text has been updated successfully.");
} else {
console.error(asyncResult.error);
}
});
setSelectedDataAsync(data, callback)
メッセージの本文または件名に非同期的にデータを挿入します。
setSelectedDataAsync メソッドは、アイテムの件名または本文のカーソル位置に指定された文字列を挿入します。または、エディターでテキストが選択されている場合は、選択したテキストを置き換えます。 カーソルが body フィールドまたは subject フィールドにない場合は、エラーが返されます。 挿入後、カーソルは挿入されたコンテンツの最後に置かれます。
setSelectedDataAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- data
-
string
挿入されるデータ。 データの最大の長さは 1,000,000 文字です。 1,000,000 文字を超えるデータが渡されると、ArgumentOutOfRange 例外がスローされます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
対象となる Outlook モード: メッセージ Compose
エラー:
-
InvalidAttachmentId: 添付ファイル識別子は存在しません。