Office.MessageRead interface
Office.context.mailbox.item のメッセージ読み取りモード。
重要:
これは内部 Outlook オブジェクトであり、既存のインターフェイスを介して直接公開されることはありません。 これは、
Office.context.mailbox.item
のモードとして扱う必要があります。 詳細については、「 オブジェクト モデル 」ページを参照してください。メッセージで
Office.context.mailbox.item
を呼び出すときは、Outlook クライアントの閲覧ウィンドウを有効にする必要があることに注意してください。 閲覧ウィンドウを構成する方法のガイダンスについては、「閲覧 ウィンドウを使用してメッセージをプレビューするように構成する」を参照してください。
親インターフェイス:
- Extends
注釈
例
// The following code builds an HTML string with details of all attachments on the current item.
const item = Office.context.mailbox.item;
let outputString = "";
if (item.attachments.length > 0) {
for (let i = 0 ; i < item.attachments.length ; i++) {
const attachment = item.attachments[i];
outputString += "<BR>" + i + ". Name: ";
outputString += attachment.name;
outputString += "<BR>ID: " + attachment.id;
outputString += "<BR>contentType: " + attachment.contentType;
outputString += "<BR>size: " + attachment.size;
outputString += "<BR>attachmentType: " + attachment.attachmentType;
outputString += "<BR>isInline: " + attachment.isInline;
}
}
console.log(outputString);
プロパティ
attachments | 項目の添付ファイルを配列として取得します。 |
body | アイテムの本文を操作するメソッドを提供するオブジェクトを取得します。 |
cc | メッセージの CC (カーボン コピー) の受信者へのアクセスを提供します。 オブジェクトの種類とアクセス レベルは、現在の項目のモードによって異なります。
|
conversation |
特定のメッセージが含まれている電子メールの会話の識別子を取得します。 メール アプリを閲覧フォームでアクティブ化するか、新規作成フォームの返信でアクティブ化すると、このプロパティで整数を取得することができます。 その後、ユーザーが返信の件名を変更した場合、その返信の送信時にメッセージの会話 ID が変更され、以前に取得した値は適用されなくなります。 新規作成フォームで新しいアイテムに対してこのプロパティに null を取得します。 ユーザーが件名を設定し、アイテムを保存する場合、 |
date |
アイテムが作成された日時を取得します。 |
date |
アイテムが最後に変更された日時を取得します。 |
end | 予定が終了する日時を取得します。
|
from | メッセージの送信者の電子メール アドレスを取得します。 メッセージが代理人から送信された場合を除き、
注:
|
internet |
電子メール メッセージのインターネット メッセージ識別子を取得します。
重要: [送信済みアイテム] フォルダーでは、最近送信されたアイテムで |
item |
選択したメッセージの Exchange Web Services アイテム クラスを取得します。 |
item |
現在の アイテムの Exchange Web Services (EWS) アイテム識別子 を取得します。 |
item |
インスタンスが表しているアイテムの種類を取得します。
|
location | 会議出席依頼の場所を取得します。
|
normalized |
すべてのプレフィックスが削除された項目の件名を取得します (RE: と FWD:を含む)。
|
notification |
アイテムの通知メッセージを取得します。 |
sender | 電子メール メッセージの送信者の電子メール アドレスを取得します。 メッセージが代理人から送信された場合を除き、
注: |
start | 予定が開始される日付と時刻を取得します。
|
subject | アイテムの件名フィールドに表示される説明を取得します。
|
to | メッセージの To 行にある受信者へのアクセスを提供します。 オブジェクトの種類とアクセス レベルは、現在の項目のモードによって異なります。
|
メソッド
display |
選択したメッセージの送信者とすべての受信者、または開催者、および選択した予定のすべての出席者を含む返信フォームを表示します。 |
display |
選択したメッセージの送信者のみ、または選択した予定の開催者のみを含む回答フォームが表示されます。 |
get |
選択したアイテムの本文にあるエンティティを取得します。 警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。 |
get |
選択したアイテムの本文内で検出された指定のエンティティ型のすべてのエンティティを含む配列を取得します。 警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。 |
get |
アドインのみのマニフェスト ファイルで定義されている名前付きフィルターを渡す、選択した項目の既知のエンティティを返します。 警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。 |
get |
アドインのみのマニフェスト ファイルで定義されている正規表現に一致する、選択した項目の文字列値を返します。 |
get |
アドインのみのマニフェスト ファイルで定義されている名前付き正規表現と一致する、選択した項目の文字列値を返します。 |
load |
選択されたアイテムのこのアドインのカスタム プロパティを非同期に読み込みます。 カスタム プロパティは、アプリごとに項目ごとにキーと値のペアとして格納されます。 このメソッドはコールバックで CustomProperties オブジェクトを返します。これにより、現在のアイテムと現在のアドインに固有のカスタム プロパティにアクセスするメソッドが提供されます。 カスタム プロパティはアイテムで暗号化されないため、セキュリティで保護されたストレージとして使用しないでください。 カスタム プロパティは |
プロパティの詳細
attachments
項目の添付ファイルを配列として取得します。
attachments: AttachmentDetails[];
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
注: 一部の種類のファイルは、潜在的なセキュリティの問題のために Outlook によってブロックされるため、返されません。 詳細については、「 Outlook でブロックされた添付ファイル」を参照してください。
例
// The following code builds an HTML string with details of all attachments on the current item.
const item = Office.context.mailbox.item;
let outputString = "";
if (item.attachments.length > 0) {
for (let i = 0 ; i < item.attachments.length ; i++) {
const attachment = item.attachments[i];
outputString += "<BR>" + i + ". Name: ";
outputString += attachment.name;
outputString += "<BR>ID: " + attachment.id;
outputString += "<BR>contentType: " + attachment.contentType;
outputString += "<BR>size: " + attachment.size;
outputString += "<BR>attachmentType: " + attachment.attachmentType;
outputString += "<BR>isInline: " + attachment.isInline;
}
}
console.log(outputString);
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/get-attachments-read.yaml
const attachments = Office.context.mailbox.item.attachments;
console.log(attachments);
body
アイテムの本文を操作するメソッドを提供するオブジェクトを取得します。
body: Body;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// 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"
}
cc
メッセージの CC (カーボン コピー) の受信者へのアクセスを提供します。 オブジェクトの種類とアクセス レベルは、現在の項目のモードによって異なります。
cc
プロパティは、メッセージの Cc 行にリストされている各受信者の EmailAddressDetails オブジェクトを含む配列を返します。 返される受信者の最大数は、Outlook クライアントによって異なります。
クラシック Windows: 500 人の受信者
Android、クラシック Mac UI、iOS: 100 受信者
Web ブラウザー、新しい Outlook: 20 人の受信者 (折りたたまれたビュー)、500 人の受信者 (展開ビュー)
新しい Mac UI: 制限なし
cc: EmailAddressDetails[];
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-cc-message-read.yaml
const msgCc = Office.context.mailbox.item.cc;
console.log("Message copied to:");
for (let i = 0; i < msgCc.length; i++) {
console.log(msgCc[i].displayName + " (" + msgCc[i].emailAddress + ")");
}
conversationId
特定のメッセージが含まれている電子メールの会話の識別子を取得します。
メール アプリを閲覧フォームでアクティブ化するか、新規作成フォームの返信でアクティブ化すると、このプロパティで整数を取得することができます。 その後、ユーザーが返信の件名を変更した場合、その返信の送信時にメッセージの会話 ID が変更され、以前に取得した値は適用されなくなります。
新規作成フォームで新しいアイテムに対してこのプロパティに null を取得します。 ユーザーが件名を設定し、アイテムを保存する場合、conversationId
プロパティは値を返します。
conversationId: string;
プロパティ値
string
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// 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}`);
dateTimeCreated
アイテムが作成された日時を取得します。
dateTimeCreated: Date;
プロパティ値
Date
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-date-time-created-read.yaml
console.log(`Creation date and time: ${Office.context.mailbox.item.dateTimeCreated}`);
dateTimeModified
アイテムが最後に変更された日時を取得します。
dateTimeModified: Date;
プロパティ値
Date
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: 予定出席者
重要: このプロパティは、Outlook on Android または iOS ではサポートされていません。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-date-time-modified-read.yaml
console.log(`Date and time item last modified: ${Office.context.mailbox.item.dateTimeModified}`);
end
予定が終了する日時を取得します。
end
プロパティは、協定世界時 (UTC) の日付と時刻の値として表されるDate
オブジェクトです。
convertToLocalClientTime
メソッドを使用して、end
プロパティの値をクライアントのローカルの日付と時刻に変換できます。
Time.setAsync
メソッドを使用して終了時刻を設定する場合、convertToUtcClientTime
メソッドを使用して、クライアント上のローカルの時刻をサーバーの UTC に変換する必要があります。
end: Date;
プロパティ値
Date
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-end-read.yaml
console.log(`Appointment ends: ${Office.context.mailbox.item.end}`);
from
メッセージの送信者の電子メール アドレスを取得します。
メッセージが代理人から送信された場合を除き、from
プロパティと sender
プロパティは同一人物を表します。 その場合、 from
プロパティは委任子を表し、 sender
プロパティはデリゲートを表します。
注: from
プロパティ内のEmailAddressDetails
オブジェクトの recipientType
プロパティは未定義です。
from
プロパティは、EmailAddressDetails
オブジェクトを返します。
from: EmailAddressDetails;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-from-message-read.yaml
const msgFrom = Office.context.mailbox.item.from;
console.log("Message received from: " + msgFrom.displayName + " (" + msgFrom.emailAddress + ")");
internetMessageId
電子メール メッセージのインターネット メッセージ識別子を取得します。
重要: [送信済みアイテム] フォルダーでは、最近送信されたアイテムで internetMessageId
をまだ使用できない場合があります。 その場合は、Exchange Web Services を使用してサーバーからこのプロパティを取得することを検討してください。
internetMessageId: string;
プロパティ値
string
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-internet-message-id-read.yaml
console.log(`Internet message ID: ${Office.context.mailbox.item.internetMessageId}`);
itemClass
選択したメッセージの Exchange Web Services アイテム クラスを取得します。
itemClass: string;
プロパティ値
string
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
重要:
次の表に、メッセージの既定の項目クラスを示します。
アイテム クラス | 説明 |
---|---|
IPM.Note | 新しいメッセージとメッセージ応答 |
IPM。Note.SMIME | 署名可能な暗号化されたメッセージ |
IPM。Note.SMIME.MultipartSigned | 暗号化キーが必要です。 |
IPM.Schedule.Meeting.Request | 会議出席依頼 |
IPM.Schedule.Meeting.Canceled | 会議のキャンセル |
IPM。Schedule.Meeting.Resp.Neg | 会議出席依頼に対する辞退の通知 |
IPM。Schedule.Meeting.Resp.Pos | 会議出席依頼を受け入れるための応答 |
IPM。Schedule.Meeting.Resp.Tent | 会議出席依頼に対する仮の受諾の通知 |
既定の項目クラスを拡張するカスタム クラスを作成できます。 たとえば、 IPM.Note.Contoso
。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-item-class-read.yaml
console.log(`Item class: ${Office.context.mailbox.item.itemClass}`);
itemId
現在の アイテムの Exchange Web Services (EWS) アイテム識別子 を取得します。
itemId: string;
プロパティ値
string
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
重要:
itemId
プロパティは作成モードでは使用できません。 項目識別子が必要な場合は、Office.context.mailbox.item.saveAsync
メソッドを使用してアイテムをストアに保存できます。これにより、コールバック関数のasyncResult.value
パラメーターにアイテム識別子が返されます。 項目が既に保存されている場合は、代わりにOffice.context.mailbox.item.getItemIdAsync
メソッドを呼び出すことができます。返されるアイテム ID は、Outlook エントリ ID または Outlook REST API で使用される ID と同じではありません。 この値を使用して REST API 呼び出しを行う前に、
Office.context.mailbox.convertToRestId
を使用して変換する必要があります。
例
// The following code checks for the presence of an item
// identifier. If the `itemId` property returns `null` or
// `undefined`, it saves the item to the store and gets the
// item identifier from the asynchronous result.
// **Important**: `saveAsync` was introduced with requirement set 1.3
// so you can't get the `itemId` in Compose mode in earlier sets.
let itemId = Office.context.mailbox.item.itemId;
if (itemId === null || itemId == undefined) {
Office.context.mailbox.item.saveAsync(function(result) {
itemId = result.value;
});
}
itemType
インスタンスが表しているアイテムの種類を取得します。
itemType
プロパティは、アイテム オブジェクト インスタンスがメッセージか予定かを示す、ItemType
列挙値のいずれかを返します。
itemType: MailboxEnums.ItemType | string;
プロパティ値
Office.MailboxEnums.ItemType | string
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// 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;
}
location
会議出席依頼の場所を取得します。
location
プロパティは、予定の場所を格納した文字列を返します。
location: string;
プロパティ値
string
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-location-read.yaml
console.log(`Appointment location: ${Office.context.mailbox.item.location}`);
normalizedSubject
すべてのプレフィックスが削除された項目の件名を取得します (RE: と FWD:を含む)。
normalizedSubject
プロパティは、メール プログラムによって追加される標準プレフィックス (RE: や FW:など) を含むアイテムの件名を取得します。 これらのプレフィックスが付いたままの状態でアイテムの件名を取得するには、subject
プロパティを使用します。
normalizedSubject: string;
プロパティ値
string
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-normalized-subject-read.yaml
console.log(`Normalized subject: ${Office.context.mailbox.item.normalizedSubject}`);
notificationMessages
アイテムの通知メッセージを取得します。
notificationMessages: NotificationMessages;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用できる 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 = $("#notificationId").val().toString();
const details =
{
type: Office.MailboxEnums.ItemNotificationMessageType.ProgressIndicator,
message: "Progress indicator with id = " + id
};
Office.context.mailbox.item.notificationMessages.addAsync(id, details, handleResult);
...
// Adds an informational notification to the mail item.
const id = $("#notificationId").val().toString();
const details =
{
type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
message: "Non-persistent informational notification message with id = " + id,
icon: "icon1",
persistent: false
};
Office.context.mailbox.item.notificationMessages.addAsync(id, details, handleResult);
...
// Adds a persistent information notification to the mail item.
const id = $("#notificationId").val().toString();
const details =
{
type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
message: "Persistent informational notification message with id = " + id,
icon: "icon1",
persistent: true
};
Office.context.mailbox.item.notificationMessages.addAsync(id, details, handleResult);
...
// 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(asyncResult.value);
});
...
// Replaces a notification message of a given key with another message.
const id = $("#notificationId").val().toString();
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
},
handleResult);
...
// Removes a notification message from the current mail item.
const id = $("#notificationId").val().toString();
Office.context.mailbox.item.notificationMessages.removeAsync(id, handleResult);
sender
電子メール メッセージの送信者の電子メール アドレスを取得します。
メッセージが代理人から送信された場合を除き、from
プロパティと sender
プロパティは同一人物を表します。 その場合、 from
プロパティは委任子を表し、 sender
プロパティはデリゲートを表します。
注: sender
プロパティ内のEmailAddressDetails
オブジェクトの recipientType
プロパティは未定義です。
sender: EmailAddressDetails;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-sender-message-read.yaml
const msgSender = Office.context.mailbox.item.sender;
console.log("Sender: " + msgSender.displayName + " (" + msgSender.emailAddress + ")");
start
予定が開始される日付と時刻を取得します。
start
プロパティは、協定世界時 (UTC) の日付と時刻の値として表されるDate
オブジェクトです。
convertToLocalClientTime
メソッドを使用して、値をクライアントのローカルの日付と時刻に変換できます。
start: Date;
プロパティ値
Date
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-start-read.yaml
console.log(`Appointment starts: ${Office.context.mailbox.item.start}`);
subject
アイテムの件名フィールドに表示される説明を取得します。
subject
プロパティは、電子メール サーバーによって送信されたアイテムの件名全体を取得または設定します。
subject
プロパティは文字列を返します。
normalizedSubject
プロパティを使用して、件名から RE: や FW: などの先頭プレフィックスを差し引いた値を取得します。
subject: string;
プロパティ値
string
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-subject-read.yaml
console.log(`Subject: ${Office.context.mailbox.item.subject}`);
to
メッセージの To 行にある受信者へのアクセスを提供します。 オブジェクトの種類とアクセス レベルは、現在の項目のモードによって異なります。
to
プロパティは、メッセージの [宛先] 行に一覧表示されている各受信者の EmailAddressDetails オブジェクトを含む配列を返します。 返される受信者の最大数は、Outlook クライアントによって異なります。
クラシック Windows: 500 人の受信者
Android、クラシック Mac UI、iOS: 100 受信者
Web ブラウザー、新しい Outlook: 20 人の受信者 (折りたたまれたビュー)、500 人の受信者 (展開ビュー)
新しい Mac UI: 制限なし
to: EmailAddressDetails[];
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-to-message-read.yaml
const msgTo = Office.context.mailbox.item.to;
const distributionLists = [];
const externalRecipients = [];
const internalRecipients = [];
const otherRecipients = [];
for (let i = 0; i < msgTo.length; i++) {
switch (msgTo[i].recipientType) {
case Office.MailboxEnums.RecipientType.DistributionList:
distributionLists.push(msgTo[i]);
break;
case Office.MailboxEnums.RecipientType.ExternalUser:
externalRecipients.push(msgTo[i]);
break;
case Office.MailboxEnums.RecipientType.User:
internalRecipients.push(msgTo[i]);
break;
case Office.MailboxEnums.RecipientType.Other:
otherRecipients.push(msgTo[i]);
}
}
if (distributionLists.length > 0) {
console.log("Distribution Lists:");
distributionLists.forEach((recipient) => console.log(`${recipient.displayName}, ${recipient.emailAddress}`));
}
if (externalRecipients.length > 0) {
console.log("External Recipients:");
externalRecipients.forEach((recipient) => console.log(`${recipient.displayName}, ${recipient.emailAddress}`));
}
if (internalRecipients.length > 0) {
console.log("Internal Recipients:");
internalRecipients.forEach((recipient) => console.log(`${recipient.displayName}, ${recipient.emailAddress}`));
}
if (otherRecipients.length > 0) {
console.log("Other Recipients:");
otherRecipients.forEach((recipient) => console.log(`${recipient.displayName}, ${recipient.emailAddress}`));
}
メソッドの詳細
displayReplyAllForm(formData)
選択したメッセージの送信者とすべての受信者、または開催者、および選択した予定のすべての出席者を含む返信フォームを表示します。
displayReplyAllForm(formData: string | ReplyFormData): void;
パラメーター
- formData
-
string | Office.ReplyFormData
回答フォームの本文を表すテキストと HTML が含まれる文字列。 文字列は、本文または添付ファイルのデータとコールバック関数を含む 32 KB または ReplyFormData オブジェクトに制限されています。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: 予定出席者
重要:
Outlook on the webおよび新しい Outlook on Windowsでは、返信フォームは 3 列ビューにポップアップ フォームとして表示され、2 列または 1 列ビューにはポップアップ フォームとして表示されます。
文字列パラメーターのいずれかが制限値を超えると、
displayReplyAllForm
は例外をスローします。formData.attachments
パラメーターに添付ファイルを指定すると、Outlook はすべての添付ファイルをダウンロードし、返信フォームに添付しようとします。 添付ファイルの追加に失敗すると、フォーム UI でエラーが表示されます。 表示できない場合、エラー メッセージはスローされません。このメソッドは、Outlook on Android または iOS ではサポートされていません。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。
例
// The following code passes a string to the `displayReplyAllForm` method.
Office.context.mailbox.item.displayReplyAllForm('hello there');
Office.context.mailbox.item.displayReplyAllForm('<b>hello there</b>');
// Reply with an empty body.
Office.context.mailbox.item.displayReplyAllForm({});
// Reply with just a body.
Office.context.mailbox.item.displayReplyAllForm(
{
'htmlBody' : 'hi'
});
// Reply with a body and a file attachment.
Office.context.mailbox.item.displayReplyAllForm(
{
'htmlBody' : 'hi',
'attachments' :
[
{
'type' : Office.MailboxEnums.AttachmentType.File,
'name' : 'squirrel.png',
'url' : 'http://i.imgur.com/sRgTlGR.jpg'
}
]
});
// Reply with a body and an item attachment.
Office.context.mailbox.item.displayReplyAllForm(
{
'htmlBody' : 'hi',
'attachments' :
[
{
'type' : 'item',
'name' : 'rand',
'itemId' : Office.context.mailbox.item.itemId
}
]
});
// Reply with a body, file attachment, item attachment, and a callback.
Office.context.mailbox.item.displayReplyAllForm(
{
'htmlBody' : 'hi',
'attachments' :
[
{
'type' : Office.MailboxEnums.AttachmentType.File,
'name' : 'squirrel.png',
'url' : 'http://i.imgur.com/sRgTlGR.jpg'
},
{
'type' : 'item',
'name' : 'rand',
'itemId' : Office.context.mailbox.item.itemId
}
],
'callback' : function(asyncResult)
{
console.log(asyncResult.value);
}
});
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-reply-forms.yaml
Office.context.mailbox.item.displayReplyAllForm("This is a reply ALL with <b>some bold text</b>.");
displayReplyForm(formData)
選択したメッセージの送信者のみ、または選択した予定の開催者のみを含む回答フォームが表示されます。
displayReplyForm(formData: string | ReplyFormData): void;
パラメーター
- formData
-
string | Office.ReplyFormData
回答フォームの本文を表すテキストと HTML が含まれる文字列。 文字列は、本文または添付ファイルのデータとコールバック関数を含む 32 KB または ReplyFormData オブジェクトに制限されています。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: メッセージの読み取り
重要:
Outlook on the webおよび新しい Outlook on Windowsでは、返信フォームは 3 列ビューにポップアップ フォームとして表示され、2 列または 1 列ビューにはポップアップ フォームとして表示されます。
文字列パラメーターのいずれかが制限値を超えると、
displayReplyForm
は例外をスローします。formData.attachments
パラメーターに添付ファイルを指定すると、Outlook はすべての添付ファイルをダウンロードし、返信フォームに添付しようとします。 添付ファイルの追加に失敗すると、フォーム UI でエラーが表示されます。 表示できない場合、エラー メッセージはスローされません。このメソッドは、Outlook on Android または iOS ではサポートされていません。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-reply-forms.yaml
Office.context.mailbox.item.displayReplyForm("This is a reply with <i>some text in italics</i>.");
...
Office.context.mailbox.item.displayReplyForm({
htmlBody: "This is a reply with an inline image and an item attachment.<br><img src='cid:dog.jpg'>",
attachments: [
{ type: "file", url: "https://i.imgur.com/9S36xvA.jpg", name: "dog.jpg", inLine: true },
{ type: "item", itemId: Office.context.mailbox.item.itemId, name: "test_email.msg" }
],
callback: (result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error(`Action failed with message ${result.error.message}`);
return;
}
console.log("Created reply with attachments.");
}
});
getEntities()
選択したアイテムの本文にあるエンティティを取得します。
警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。
getEntities(): Entities;
戻り値
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: 予定出席者
getEntitiesByType(entityType)
選択したアイテムの本文内で検出された指定のエンティティ型のすべてのエンティティを含む配列を取得します。
警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。
getEntitiesByType(entityType: MailboxEnums.EntityType | string): Array<string | Contact | MeetingSuggestion | PhoneNumber | TaskSuggestion>;
パラメーター
- entityType
-
Office.MailboxEnums.EntityType | string
EntityType
列挙値の 1 つ。
戻り値
Array<string | Office.Contact | Office.MeetingSuggestion | Office.PhoneNumber | Office.TaskSuggestion>
entityType
で渡された値がEntityType
列挙体の有効なメンバーでない場合、メソッドはnull
を返します。 指定した型のエンティティがアイテムの本文に存在しない場合、メソッドは空の配列を返します。 それ以外の場合は、返される配列内のオブジェクトの型は、entityType
パラメーター内の要求されたエンティティの型によって異なります。
注釈
最小アクセス許可レベル: 制限あり
適用できる Outlook モード: メッセージの読み取り
getFilteredEntitiesByName(name)
アドインのみのマニフェスト ファイルで定義されている名前付きフィルターを渡す、選択した項目の既知のエンティティを返します。
警告: エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。
getFilteredEntitiesByName(name: string): Array<string | Contact | MeetingSuggestion | PhoneNumber | TaskSuggestion>;
パラメーター
- name
-
string
一致するフィルターを定義する ItemHasKnownEntity
ルール要素の名前。
戻り値
Array<string | Office.Contact | Office.MeetingSuggestion | Office.PhoneNumber | Office.TaskSuggestion>
アドイン マニフェスト ファイルの ItemHasKnownEntity
ルール要素で定義されている正規表現と、指定した FilterName
要素の値と一致するエンティティ。
name
パラメーターと一致するFilterName
要素値を持つItemHasKnownEntity
要素がマニフェストに存在しない場合、メソッドはnull
を返します。
name
パラメーターがマニフェスト内のItemHasKnownEntity
要素と一致するが、現在のアイテムに一致するエンティティがない場合、メソッドは空の配列を返します。
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: 予定出席者
getRegExMatches()
アドインのみのマニフェスト ファイルで定義されている正規表現に一致する、選択した項目の文字列値を返します。
getRegExMatches(): any;
戻り値
any
アドイン マニフェスト ファイルで定義されている正規表現に一致する文字列の配列を格納するオブジェクト。 各配列の名前は、一致する ItemHasRegularExpressionMatch
ルールの RegExName 属性の対応する値と等しくなります。
ItemHasRegularExpressionMatch
ルールの場合、一致する文字列は、そのルールによって指定された項目のプロパティで発生する必要があります。 単純型は、サポートされるプロパティを定義します。
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: 予定出席者
重要:
エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。
このメソッドは、Outlook アドインのライセンス認証ルール機能で使用されます。これは、Microsoft 365 の統合マニフェストではサポートされていません。
アイテムの body プロパティに
ItemHasRegularExpressionMatch
ルールを指定した場合、正規表現は本文をさらにフィルター処理し、アイテムの本文全体を返そうとしないでください。.*
などの正規表現を使用してアイテムの本文全体を取得すると、常に期待される結果が返されるとは限りません。 この場合、代わりにBody.getAsync
メソッドを使用して本文全体を取得します。このメソッドは、Outlook on Android または iOS ではサポートされていません。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。
例
// Consider an add-in manifest has the following `Rule` element:
//<Rule xsi:type="RuleCollection" Mode="And">
// <Rule xsi:type="ItemIs" FormType="Read" ItemType="Message" />
// <Rule xsi:type="RuleCollection" Mode="Or">
// <Rule xsi:type="ItemHasRegularExpressionMatch" RegExName="fruits" RegExValue="apple|banana|coconut" PropertyName="BodyAsPlaintext" IgnoreCase="true" />
// <Rule xsi:type="ItemHasRegularExpressionMatch" RegExName="veggies" RegExValue="tomato|onion|spinach|broccoli" PropertyName="BodyAsPlaintext" IgnoreCase="true" />
// </Rule>
//</Rule>
// The object returned from `getRegExMatches` would have two properties: `fruits` and `veggies`.
//{
//'fruits': ['apple','banana','Banana','coconut'],
//'veggies': ['tomato','onion','spinach','broccoli']
//}
// The following example shows how to access the array of
// matches for the regular expression rule elements `fruits`
// and `veggies`, which are specified in the manifest.
const allMatches = Office.context.mailbox.item.getRegExMatches();
const fruits = allMatches.fruits;
const veggies = allMatches.veggies;
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/75-regex-matches/contextual.yaml
// This API only works when you click on the highlighted word "ScriptLab".
console.log(Office.context.mailbox.item.getRegExMatches());
getRegExMatchesByName(name)
アドインのみのマニフェスト ファイルで定義されている名前付き正規表現と一致する、選択した項目の文字列値を返します。
getRegExMatchesByName(name: string): string[];
パラメーター
- name
-
string
一致するフィルターを定義する ItemHasRegularExpressionMatch
ルール要素の名前。
戻り値
string[]
アドイン マニフェスト ファイル内の ItemHasRegularExpressionMatch
rule 要素で定義されている正規表現に一致する文字列と、指定した RegExName
要素値を含む配列。
注釈
最小アクセス許可レベル: 読み取り項目
適用できる Outlook モード: 予定出席者
重要:
エンティティベースのコンテキスト Outlook アドインは廃止されました。 ただし、正規表現ルールは引き続きサポートされています。 代替ソリューションとして正規表現ルールを使用するように、コンテキスト アドインを更新することをお勧めします。 これらのルールを実装する方法のガイダンスについては、「 コンテキスト Outlook アドイン」を参照してください。
このメソッドは、Outlook アドインのライセンス認証ルール機能で使用されます。これは、Microsoft 365 の統合マニフェストではサポートされていません。
アイテムの body プロパティに
ItemHasRegularExpressionMatch
ルールを指定した場合、正規表現は本文をさらにフィルター処理し、アイテムの本文全体を返そうとしないでください。.*
などの正規表現を使用してアイテムの本文全体を取得すると、常に期待される結果が返されるとは限りません。 この場合、代わりにBody.getAsync
メソッドを使用して本文全体を取得します。このメソッドは、Outlook on Android または iOS ではサポートされていません。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。
例
// Consider an add-in manifest has the following `Rule` element:
//<Rule xsi:type="RuleCollection" Mode="And">
// <Rule xsi:type="ItemIs" FormType="Read" ItemType="Message" />
// <Rule xsi:type="RuleCollection" Mode="Or">
// <Rule xsi:type="ItemHasRegularExpressionMatch" RegExName="fruits" RegExValue="apple|banana|coconut" PropertyName="BodyAsPlaintext" IgnoreCase="true" />
// <Rule xsi:type="ItemHasRegularExpressionMatch" RegExName="veggies" RegExValue="tomato|onion|spinach|broccoli" PropertyName="BodyAsPlaintext" IgnoreCase="true" />
// </Rule>
//</Rule>
// The object returned from `getRegExMatches` would have two properties: `fruits` and `veggies`.
//{
//'fruits': ['apple','banana','Banana','coconut'],
//'veggies': ['tomato','onion','spinach','broccoli']
//}
const fruits = Office.context.mailbox.item.getRegExMatchesByName("fruits");
const veggies = Office.context.mailbox.item.getRegExMatchesByName("veggies");
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/75-regex-matches/contextual.yaml
// This API only works when you click on the highlighted word "ScriptLab".
console.log(Office.context.mailbox.item.getRegExMatchesByName("sampleRegexName"));
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 モード: メッセージの読み取り
例
// 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.");
});
Office Add-ins