Office.AppointmentCompose interface
Office.context.mailbox.item の予定開催者モード。
重要: これは内部 Outlook オブジェクトであり、既存のインターフェイスを介して直接公開されることはありません。 これは、 Office.context.mailbox.itemのモードとして扱う必要があります。 詳細については、「 オブジェクト モデル 」ページを参照してください。
親インターフェイス:
- Extends
プロパティ
| body | アイテムの本文を操作するメソッドを提供するオブジェクトを取得します。 |
| categories | アイテムのカテゴリを管理するためのメソッドを提供する オブジェクトを取得します。 |
| end | 予定が終了する日時を取得または設定します。
重要: Windows クライアントでは、このプロパティを使用して繰り返しの終了を更新することはできません。 |
| enhanced |
予定の場所を取得または設定します。
|
| is |
予定の Office.IsAllDayEvent プロパティを取得または設定します。 |
| item |
インスタンスが表しているアイテムの種類を取得します。
|
| location | 予定の場所を取得または設定します。
|
| notification |
アイテムの通知メッセージを取得します。 |
| optional |
イベントの任意出席者へのアクセスを提供します。 オブジェクトの種類とアクセス レベルは、現在の項目のモードによって異なります。
|
| organizer | 指定した会議の開催者を取得します。
|
| recurrence | 予定の繰り返しパターンを取得または設定します。
注: 会議出席依頼の 注: 繰り返しオブジェクトが null の場合、これは、オブジェクトが 1 つの予定または単一の予定の会議出席依頼であり、一連の一部ではないことを示します。 |
| required |
イベントの必須出席者へのアクセスを提供します。 オブジェクトの種類とアクセス レベルは、現在の項目のモードによって異なります。
|
| sensitivity | 予定の 秘密度レベル を取得または設定します。 秘密度レベルの詳細については、「メールを標準、個人、プライベート、または機密としてマークする」を参照してください。 |
| sensitivity |
予定の 秘密度ラベル を取得または設定するオブジェクトを取得します。 |
| series |
インスタンスが属する系列の ID を取得します。 Outlook on the web、Windows (新規およびクラシック) と Mac では、
注:
|
| session |
Compose モードで項目の SessionData を管理します。 重要: SessionData オブジェクト全体は、アドインあたり 50,000 文字に制限されています。 |
| start | 予定を開始する日時を取得または設定します。
重要: Windows クライアントでは、このプロパティを使用して繰り返しの開始を更新することはできません。 |
| subject | アイテムの件名フィールドに示される説明を取得または設定します。
|
メソッド
| add |
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
|
| add |
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
|
| add |
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
その後、 |
| add |
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
その後、 |
| add |
サポートされているイベントのイベント ハンドラーを追加します。 注: イベントは、作業ウィンドウの実装でのみ使用できます。 サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。 |
| add |
サポートされているイベントのイベント ハンドラーを追加します。 注: イベントは、作業ウィンドウの実装でのみ使用できます。 サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。 |
| add |
メッセージなどの Exchange アイテムを添付ファイルとして、メッセージまたは予定に追加します。
その後、 Office アドインがOutlook on the webおよび新しい Outlook on Windows で実行されている場合、 |
| add |
メッセージなどの Exchange アイテムを添付ファイルとして、メッセージまたは予定に追加します。
その後、 Office アドインがOutlook on the webおよび新しい Outlook on Windows で実行されている場合、 |
| close() | 作成中の現在の項目を閉じます。
Outlook on Windows (クラシック) と Mac では、 |
| disable |
Outlook クライアント署名を無効にします。 Outlook on Windows (クラシック) と Mac では、この API は、送信アカウントの "新しいメッセージ" セクションと "応答/転送" セクションの署名を "(none)" に設定し、署名を効果的に無効にします。 Outlook on the webおよび新しい Outlook on Windows では、新しいメール、返信、転送の署名オプションが無効になります。 署名が選択されている場合、この API 呼び出しによって無効になります。 |
| disable |
Outlook クライアント署名を無効にします。 Outlook on Windows (クラシック) と Mac では、この API は、送信アカウントの "新しいメッセージ" セクションと "応答/転送" セクションの署名を "(none)" に設定し、署名を効果的に無効にします。 Outlook on the webおよび新しい Outlook on Windows では、新しいメール、返信、転送の署名オプションが無効になります。 署名が選択されている場合、この API 呼び出しによって無効になります。 |
| get |
メッセージまたは予定から添付ファイルを取得し、 |
| get |
メッセージまたは予定から添付ファイルを取得し、 |
| get |
項目の添付ファイルを配列として取得します。 |
| get |
項目の添付ファイルを配列として取得します。 |
| get |
アクション可能なメッセージによってアドインがアクティブ化されたときに渡される初期化データを取得します。 |
| get |
アクション可能なメッセージによってアドインがアクティブ化されたときに渡される初期化データを取得します。 |
| get |
保存されたアイテムの Exchange Web Services (EWS) アイテム識別子 を非同期的に取得します。 呼び出されると、このメソッドはコールバック関数を使用して項目 ID を返します。 |
| get |
保存されたアイテムの Exchange Web Services (EWS) アイテム識別子 を非同期的に取得します。 呼び出されると、このメソッドはコールバック関数を使用して項目 ID を返します。 |
| get |
メッセージの件名または本文から非同期的に選択したデータを返します。 選択範囲がないのにカーソルが本文または件名にある場合、メソッドは選択したデータの空の文字列を返します。 本文または件名以外のフィールドが選択されている場合、 コールバック関数から選択したデータにアクセスするには、 |
| get |
メッセージの件名または本文から非同期的に選択したデータを返します。 選択範囲がないのにカーソルが本文または件名にある場合、メソッドは選択したデータの空の文字列を返します。 本文または件名以外のフィールドが選択されている場合、 コールバック関数から選択したデータにアクセスするには、 |
| get |
共有フォルダーまたは共有メールボックス内の予定またはメッセージのプロパティを取得します。 この API の使用方法の詳細については、「 Outlook アドインで共有フォルダーと共有メールボックスのシナリオを有効にする」を参照してください。 |
| get |
共有フォルダーまたは共有メールボックス内の予定またはメッセージのプロパティを取得します。 この API の使用方法の詳細については、「 Outlook アドインで共有フォルダーと共有メールボックスのシナリオを有効にする」を参照してください。 |
| is |
クライアント署名が有効になっているかどうかを取得します。 Outlook on the webおよび新しい Outlook on Windows では、新規作成の種類 |
| is |
クライアント署名が有効になっているかどうかを取得します。 Outlook on the webおよび新しい Outlook on Windows では、新規作成の種類 |
| load |
選択されたアイテムのこのアドインのカスタム プロパティを非同期に読み込みます。 カスタム プロパティは、アプリごとに項目ごとにキーと値のペアとして格納されます。 このメソッドはコールバックで CustomProperties オブジェクトを返します。これにより、現在のアイテムと現在のアドインに固有のカスタム プロパティにアクセスするメソッドが提供されます。 カスタム プロパティはアイテムで暗号化されないため、セキュリティで保護されたストレージとして使用しないでください。 カスタム プロパティは |
| remove |
メッセージまたは予定から添付ファイルを削除します。
|
| remove |
メッセージまたは予定から添付ファイルを削除します。
|
| remove |
サポートされているイベントの種類のイベント ハンドラーを削除します。 注: イベントは、作業ウィンドウの実装でのみ使用できます。 サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。 |
| remove |
サポートされているイベントの種類のイベント ハンドラーを削除します。 注: イベントは、作業ウィンドウの実装でのみ使用できます。 サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。 |
| save |
項目を非同期的に保存します。 予定には下書き状態がないため、作成モードで予定に対して |
| save |
項目を非同期的に保存します。 予定には下書き状態がないため、作成モードで予定に対して |
| send |
構成中の予定を送信します。 |
| send |
構成中の予定を送信します。 |
| set |
メッセージの本文または件名に非同期的にデータを挿入します。
|
| set |
メッセージの本文または件名に非同期的にデータを挿入します。
|
プロパティの詳細
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 an object that is passed as the result parameter 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 モード: 予定オーガナイザー
例
// 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);
}
});
end
予定が終了する日時を取得または設定します。
end プロパティは、協定世界時 (UTC) の日付と時刻の値として表される Time オブジェクトです。
convertToLocalClientTime メソッドを使用して、end プロパティの値をクライアントのローカルの日付と時刻に変換できます。
Time.setAsync メソッドを使用して終了時刻を設定する場合、convertToUtcClientTime メソッドを使用して、クライアント上のローカルの時刻をサーバーの UTC に変換する必要があります。
重要: Windows クライアントでは、このプロパティを使用して繰り返しの終了を更新することはできません。
end: Time;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用される Outlook モード: 予定オーガナイザー
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-set-end-appointment-organizer.yaml
Office.context.mailbox.item.end.getAsync((result) => {
if (result.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Action failed with message ${result.error.message}`);
return;
}
const time = result.value;
const localTime = Office.context.mailbox.convertToLocalClientTime(time);
console.log(`Appointment ends (local): ${localTime.month + 1}/${localTime.date}/${localTime.year}, ${localTime.hours}:${localTime.minutes}:${localTime.seconds}`);
});
...
Office.context.mailbox.item.start.getAsync((result) => {
if (result.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Get start date failed with message ${result.error.message}`);
return;
}
const end = result.value; // Set end to current start date and time.
end.setDate(end.getDate() + 1); // Set end as 1 day later than start date.
Office.context.mailbox.item.end.setAsync(end, (result) => {
if (result.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Set end date failed with message ${result.error.message}`);
return;
}
console.log(`Successfully set end date and time to ${end}`);
});
});
enhancedLocation
予定の場所を取得または設定します。
enhancedLocation プロパティは、アイテムの場所を取得、削除、または追加するメソッドを提供する EnhancedLocation オブジェクトを返します。
enhancedLocation: EnhancedLocation;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用される Outlook モード: 予定オーガナイザー
重要: メールボックス要件セット 1.8 をサポートしていない Outlook クライアントの予定の場所を管理するには、代わりに location プロパティを使用します。 シナリオに適した場所 API の選択に関するガイダンスについては、「 Outlook で appointmnt を作成するときに場所を取得または設定する」を参照してください。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-add-remove-enhancedlocation-appointment.yaml
Office.context.mailbox.item.enhancedLocation.getAsync((result) => {
if (result.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Failed to get locations. Error message: ${result.error.message}`);
return;
}
const places = result.value;
if (places && places.length > 0) {
result.value.forEach(function(place) {
console.log(`Location: ${place.displayName} (type: ${place.locationIdentifier.type})`);
if (place.locationIdentifier.type === Office.MailboxEnums.LocationType.Room) {
console.log("Email address: " + place.emailAddress);
}
});
} else {
console.log("There are no locations.");
}
});
...
const locations = [
{
id: "Contoso",
type: Office.MailboxEnums.LocationType.Custom
},
{
id: "room500@test.com",
type: Office.MailboxEnums.LocationType.Room
}
];
Office.context.mailbox.item.enhancedLocation.addAsync(locations, (result) => {
if (result.status === Office.AsyncResultStatus.Succeeded) {
console.log(`Successfully added locations ${JSON.stringify(locations)}`);
} else {
console.error(`Failed to add locations. Error message: ${result.error.message}`);
}
});
...
const locations = [
{
id: "Contoso",
type: Office.MailboxEnums.LocationType.Custom
},
{
id: "room500@test.com",
type: Office.MailboxEnums.LocationType.Room
}
];
Office.context.mailbox.item.enhancedLocation.removeAsync(locations, (result) => {
if (result.status === Office.AsyncResultStatus.Succeeded) {
console.log(`Successfully removed locations ${JSON.stringify(locations)}`);
} else {
console.error(`Failed to remove locations. Error message: ${result.error.message}`);
}
});
isAllDayEvent
注意
この API は開発者向けにプレビューとして提供されており、寄せられたフィードバックにもとづいて変更される場合があります。 この API は運用環境で使用しないでください。
予定の Office.IsAllDayEvent プロパティを取得または設定します。
isAllDayEvent: IsAllDayEvent;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用される Outlook モード: 予定オーガナイザー
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/99-preview-apis/get-set-isalldayevent.yaml
Office.context.mailbox.item.isAllDayEvent.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Is this an all-day event? " + asyncResult.value);
} else {
console.log("Failed to get if this is an all-day event. Error: " + JSON.stringify(asyncResult.error));
}
});
...
Office.context.mailbox.item.isAllDayEvent.setAsync(true, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Failed to set all-day event: " + JSON.stringify(asyncResult.error));
} else {
console.log("Appointment set to all-day event.");
}
});
itemType
インスタンスが表しているアイテムの種類を取得します。
itemType プロパティは、ItemType 列挙値の 1 つを返します。これは item オブジェクト インスタンスがメッセージと予定のどちらであるかを示すものです。
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 オブジェクトを返します。
location: Location;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用される Outlook モード: 予定オーガナイザー
重要: enhancedLocation プロパティは、メールボックス要件セット 1.8 で導入されました。 特に場所の種類を特定する必要がある場合は、 enhancedLocation プロパティを使用して、予定の場所をより適切に識別および管理します。 シナリオに適した場所 API の選択に関するガイダンスについては、「 Outlook で appointmnt を作成するときに場所を取得または設定する」を参照してください。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-set-location-appointment-organizer.yaml
Office.context.mailbox.item.location.getAsync((result) => {
if (result.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Action failed with message ${result.error.message}`);
return;
}
console.log(`Appointment location: ${result.value}`);
});
...
const location = "my office";
Office.context.mailbox.item.location.setAsync(location, (result) => {
if (result.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Action failed with message ${result.error.message}`);
return;
}
console.log(`Successfully set location to ${location}`);
});
notificationMessages
アイテムの通知メッセージを取得します。
notificationMessages: NotificationMessages;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用される Outlook モード: 予定オーガナイザー
重要:
実装できるさまざまな種類の通知メッセージの詳細については、「 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/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}.`);
});
optionalAttendees
イベントの任意出席者へのアクセスを提供します。 オブジェクトの種類とアクセス レベルは、現在の項目のモードによって異なります。
optionalAttendees プロパティは会議への任意出席者を取得または更新するためのメソッドを提供する Recipients オブジェクトを返します。 ただし、クライアント/プラットフォーム (Windows、Mac など) によっては、取得または更新できる受信者の数に制限が適用される場合があります。 詳細については、 Recipients オブジェクトを参照してください。
optionalAttendees: Recipients;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用される Outlook モード: 予定オーガナイザー
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-set-optional-attendees-appointment-organizer.yaml
Office.context.mailbox.item.optionalAttendees.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const apptOptionalAttendees = asyncResult.value;
for (let i = 0; i < apptOptionalAttendees.length; i++) {
console.log(
"Optional attendees: " +
apptOptionalAttendees[i].displayName +
" (" +
apptOptionalAttendees[i].emailAddress +
") - response: " +
apptOptionalAttendees[i].appointmentResponse
);
}
} else {
console.error(asyncResult.error);
}
});
...
const email = (document.getElementById("emailOptional") as HTMLInputElement).value;
const emailArray = [email];
Office.context.mailbox.item.optionalAttendees.setAsync(emailArray, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Succeeded in setting optional attendees field.");
} else {
console.error(asyncResult.error);
}
});
organizer
指定した会議の開催者を取得します。
organizer プロパティは、開催者の値を取得するメソッドを提供する Organizer オブジェクトを返します。
organizer: Organizer;
プロパティ値
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: 予定オーガナイザー
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-organizer-appointment-organizer.yaml
Office.context.mailbox.item.organizer.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const apptOrganizer = asyncResult.value;
console.log("Organizer: " + apptOrganizer.displayName + " (" + apptOrganizer.emailAddress + ")");
} else {
console.error(asyncResult.error);
}
});
recurrence
予定の繰り返しパターンを取得または設定します。
recurrence プロパティは、アイテムが系列または系列のインスタンスである場合、定期的な予定または会議の要求の繰り返しオブジェクトを返します。
null は、単一の予定と単一の予定の会議出席依頼に対して返されます。
注: 会議出席依頼の itemClass 値は IPM.Schedule.Meeting.Request です。
注: 繰り返しオブジェクトが null の場合、これは、オブジェクトが 1 つの予定または単一の予定の会議出席依頼であり、一連の一部ではないことを示します。
recurrence: Recurrence;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用される Outlook モード: 予定オーガナイザー
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/50-recurrence/get-set-recurrence-appointment-organizer.yaml
Office.context.mailbox.item.recurrence.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const recurrence = asyncResult.value;
if (recurrence === null) {
console.log("This is a single appointment.");
} else {
console.log(`Recurrence pattern: ${JSON.stringify(recurrence)}`);
}
} else {
console.error(asyncResult.error);
}
});
...
// Important: Can only set the recurrence pattern of an appointment series.
const currentDate = new Date();
let seriesTimeObject: Office.SeriesTime;
// Set series start date to tomorrow.
seriesTimeObject.setStartDate(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDay() + 1);
// Set series end date to one year from now.
seriesTimeObject.setEndDate(currentDate.getFullYear() + 1, currentDate.getMonth() + 1, currentDate.getDay());
// Set start time to 1:30 PM.
seriesTimeObject.setStartTime(13, 30);
// Set duration to 30 minutes.
seriesTimeObject.setDuration(30);
const pattern: Office.Recurrence = {
seriesTime: seriesTimeObject,
recurrenceType: Office.MailboxEnums.RecurrenceType.Yearly,
recurrenceProperties: {
interval: 1,
dayOfWeek: Office.MailboxEnums.Days.Tue,
weekNumber: Office.MailboxEnums.WeekNumber.Second,
month: Office.MailboxEnums.Month.Sep
},
recurrenceTimeZone: { name: Office.MailboxEnums.RecurrenceTimeZone.PacificStandardTime }
};
Office.context.mailbox.item.recurrence.setAsync(pattern, (asyncResult) => {
if (asyncResult.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Failed to set recurrence. Error: ${asyncResult.error.message}`);
return;
}
console.log(`Succeeded in setting recurrence pattern ${JSON.stringify(pattern)}`);
});
requiredAttendees
イベントの必須出席者へのアクセスを提供します。 オブジェクトの種類とアクセス レベルは、現在の項目のモードによって異なります。
requiredAttendees プロパティは会議への必須出席者を取得または更新するためのメソッドを提供する Recipients オブジェクトを返します。 ただし、クライアント/プラットフォーム (Windows、Mac など) によっては、取得または更新できる受信者の数に制限が適用される場合があります。 詳細については、 Recipients オブジェクトを参照してください。
requiredAttendees: Recipients;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用される Outlook モード: 予定オーガナイザー
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-set-required-attendees-appointment-organizer.yaml
Office.context.mailbox.item.requiredAttendees.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const apptRequiredAttendees = asyncResult.value;
for (let i = 0; i < apptRequiredAttendees.length; i++) {
console.log(
"Required attendees: " +
apptRequiredAttendees[i].displayName +
" (" +
apptRequiredAttendees[i].emailAddress +
") - response: " +
apptRequiredAttendees[i].appointmentResponse
);
}
} else {
console.error(asyncResult.error);
}
});
...
const email = (document.getElementById("emailRequired") as HTMLInputElement).value;
const emailArray = [email];
Office.context.mailbox.item.requiredAttendees.setAsync(emailArray, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Succeeded in setting required attendees field.");
} else {
console.error(asyncResult.error);
}
});
sensitivity
予定の 秘密度レベル を取得または設定します。 秘密度レベルの詳細については、「メールを標準、個人、プライベート、または機密としてマークする」を参照してください。
sensitivity: Sensitivity;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用される Outlook モード: 予定オーガナイザー
重要: Outlook on the web、新しい Outlook on Windows、 Outlook on Mac では、標準とプライベートの秘密度レベルのみがサポートされます。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-set-sensitivity-level.yaml
Office.context.mailbox.item.sensitivity.getAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Sensitivity: " + asyncResult.value);
} else {
console.log("Failed to get sensitivity: " + JSON.stringify(asyncResult.error));
}
});
...
Office.context.mailbox.item.sensitivity.setAsync(
Office.MailboxEnums.AppointmentSensitivityType.Private,
function callback(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Failed to set appointment sensitivity: " + JSON.stringify(asyncResult.error));
} else {
console.log("Successfully set appointment sensitivity.");
}
}
);
sensitivityLabel
予定の 秘密度ラベル を取得または設定するオブジェクトを取得します。
sensitivityLabel: SensitivityLabel;
プロパティ値
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: 予定オーガナイザー
重要: アドインで秘密度ラベル機能を使用するには、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 Services (EWS) ID を返します。 ただし、Android および iOS 上の Outlook では、 seriesId は親アイテムの REST ID を返します。
注: seriesId プロパティによって返される識別子は、Exchange Web Services アイテム識別子と同じです。
seriesId プロパティは、Outlook REST API で使用される Outlook ID と同じではありません。 この値を使用して REST API 呼び出しを行う前に、 Office.context.mailbox.convertToRestIdを使用して変換する必要があります。 詳細については、「 Outlook アドインから Outlook REST API を使用する」を参照してください。
seriesId プロパティは、単一の予定、系列アイテム、会議出席依頼などの親アイテムを持たないアイテムのnullを返し、会議出席依頼ではないその他のアイテムのundefinedを返します。
seriesId: string;
プロパティ値
string
注釈
最小アクセス許可レベル: 読み取り項目
適用される Outlook モード: 予定オーガナイザー
例
// 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 を管理します。
重要: SessionData オブジェクト全体は、アドインあたり 50,000 文字に制限されています。
sessionData: SessionData;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用される Outlook モード: 予定オーガナイザー
例
// 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));
}
});
start
予定を開始する日時を取得または設定します。
start プロパティは、協定世界時 (UTC) の日付と時刻の値として表される Time オブジェクトです。
convertToLocalClientTime メソッドを使用して、値をクライアントのローカルの日付と時刻に変換できます。
Time.setAsync メソッドを使用して開始時刻を設定する場合、convertToUtcClientTime メソッドを使用して、クライアント上のローカルの時刻をサーバーの UTC に変換する必要があります。
重要: Windows クライアントでは、このプロパティを使用して繰り返しの開始を更新することはできません。
start: Time;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用される Outlook モード: 予定オーガナイザー
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-set-start-appointment-organizer.yaml
Office.context.mailbox.item.start.getAsync((result) => {
if (result.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Action failed with message ${result.error.message}`);
return;
}
const time = result.value;
const localTime = Office.context.mailbox.convertToLocalClientTime(time);
console.log(`Appointment starts (local): ${localTime.month + 1}/${localTime.date}/${localTime.year}, ${localTime.hours}:${localTime.minutes}:${localTime.seconds}`);
});
...
const start = new Date(); // Represents current date and time.
start.setDate(start.getDate() + 2); // Add 2 days to current date.
Office.context.mailbox.item.start.setAsync(start, (result) => {
if (result.status !== Office.AsyncResultStatus.Succeeded) {
console.error(`Action failed with message ${result.error.message}`);
return;
}
console.log(`Successfully set start date and time to ${start}`);
});
subject
アイテムの件名フィールドに示される説明を取得または設定します。
subject プロパティは、電子メール サーバーによって送信されたアイテムの件名全体を取得または設定します。
subject プロパティは件名を取得および設定するためのメソッドを提供する Subject オブジェクトを返します。
subject: Subject;
プロパティ値
注釈
最小アクセス許可レベル: 読み取り項目
適用される Outlook モード: 予定オーガナイザー
例
// 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}`);
});
メソッドの詳細
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 プロパティに設定されます。 添付ファイルのアップロードに失敗した場合、asyncResult オブジェクトには、エラーの説明を提供する Error オブジェクトが含まれます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: 予定オーガナイザー
重要:
このメソッドは、Outlook on iOS または Android ではサポートされていません。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。
ビットマップ (BMP) イメージは、インライン添付ファイルとして追加されている場合はサポートされません。
Windows 上の従来の Outlook の最近のビルドでは、このアクションに
Authorization: Bearerヘッダーを誤って追加するバグが導入されました (この API を使用するか、Outlook UI を使用するか)。 この問題を回避するには、要件セット 1.8 で導入されたaddFileAttachmentFromBase64API を使用します。添付するファイルの URI は、運用環境でのキャッシュをサポートしている必要があります。 イメージをホストしているサーバーは、HTTP 応答で
no-cache、no-store、または同様のオプションを指定するCache-Controlヘッダーを返すべきではありません。 ただし、アドインを開発し、ファイルに変更を加えると、キャッシュによって変更が表示されない可能性があります。 開発中にCache-Controlヘッダーを使用することをお勧めします。removeAttachmentAsyncメソッドで同じ URI を使用して、同じセッション内の添付ファイルを削除できます。
エラー:
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 プロパティに設定されます。 添付ファイルのアップロードに失敗した場合、asyncResult オブジェクトには、エラーの説明を提供する Error オブジェクトが含まれます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: 予定オーガナイザー
重要:
このメソッドは、Outlook on iOS または Android ではサポートされていません。 Outlook モバイルでサポートされている API の詳細については、「モバイル デバイスで Outlook でサポートされている Outlook JavaScript API」を参照してください。
ビットマップ (BMP) イメージは、インライン添付ファイルとして追加されている場合はサポートされません。
Windows 上の従来の Outlook の最近のビルドでは、このアクションに
Authorization: Bearerヘッダーを誤って追加するバグが導入されました (この API を使用するか、Outlook UI を使用するか)。 この問題を回避するには、要件セット 1.8 で導入されたaddFileAttachmentFromBase64API を使用します。添付するファイルの URI は、運用環境でのキャッシュをサポートしている必要があります。 イメージをホストしているサーバーは、HTTP 応答で
no-cache、no-store、または同様のオプションを指定するCache-Controlヘッダーを返すべきではありません。 ただし、アドインを開発し、ファイルに変更を加えると、キャッシュによって変更が表示されない可能性があります。 開発中にCache-Controlヘッダーを使用することをお勧めします。removeAttachmentAsyncメソッドで同じ URI を使用して、同じセッション内の添付ファイルを削除できます。
エラー:
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 でエンコードされたコンテンツ。 エンコードされた文字列の最大長は 27,892,122 文字 (約 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 プロパティに設定されます。 添付ファイルのアップロードに失敗した場合、asyncResult オブジェクトには、エラーの説明を提供する Error オブジェクトが含まれます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: 予定オーガナイザー
重要:
データ 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 のメッセージまたは予定本文 (Compose) にインライン Base64 でエンコードされたイメージを追加する」サンプルを参照してください。
エラー:
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 でエンコードされたコンテンツ。 エンコードされた文字列の最大長は 27,892,122 文字 (約 25 MB) です。
- attachmentName
-
string
添付ファイルのアップロード時に表示される添付ファイルの名前。 最大の長さは、255 文字です。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が、 Office.AsyncResult型の 1 つのパラメーターで呼び出されます。 成功すると、添付ファイルの識別子が asyncResult.value プロパティに設定されます。 添付ファイルのアップロードに失敗した場合、asyncResult オブジェクトには、エラーの説明を提供する Error オブジェクトが含まれます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: 予定オーガナイザー
重要:
データ 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 のメッセージまたは予定本文 (Compose) にインライン Base64 でエンコードされたイメージを追加する」サンプルを参照してください。
エラー:
AttachmentSizeExceeded: 添付ファイルが許可されているよりも大きい。FileTypeNotSupported: 添付ファイルには、許可されていない拡張機能があります。NumberOfAttachmentsExceeded: メッセージまたは予定に添付ファイルが多すぎます。
addHandlerAsync(eventType, handler, options, callback)
サポートされているイベントのイベント ハンドラーを追加します。 注: イベントは、作業ウィンドウの実装でのみ使用できます。
サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。
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 モード: 予定オーガナイザー
例
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)
サポートされているイベントのイベント ハンドラーを追加します。 注: イベントは、作業ウィンドウの実装でのみ使用できます。
サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。
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 モード: 予定オーガナイザー
addItemAttachmentAsync(itemId, attachmentName, options, callback)
メッセージなどの Exchange アイテムを添付ファイルとして、メッセージまたは予定に追加します。
addItemAttachmentAsync メソッドは、指定された Exchange 識別子を持つアイテムを新規作成フォームのアイテムにアタッチします。 コールバック関数を指定した場合、メソッドは、添付ファイル識別子または項目の添付中に発生したエラーを示すコードを含む 1 つのパラメーター asyncResult で呼び出されます。
options パラメーターを使用して、必要に応じて状態情報をコールバック関数に渡すことができます。
その後、removeAttachmentAsync メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。
Office アドインがOutlook on the webおよび新しい Outlook on Windows で実行されている場合、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
省略可能。 メソッドが完了すると、コールバック パラメーターで渡された関数が、 Office.AsyncResult型の 1 つのパラメーターで呼び出されます。 成功すると、添付ファイルの識別子が asyncResult.value プロパティに設定されます。 添付ファイルの追加に失敗した場合、asyncResult オブジェクトには、エラーの説明を提供する Error オブジェクトが含まれます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: 予定オーガナイザー
エラー:
-
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 メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。
Office アドインがOutlook on the webおよび新しい Outlook on Windows で実行されている場合、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
省略可能。 メソッドが完了すると、コールバック パラメーターで渡された関数が、 Office.AsyncResult型の 1 つのパラメーターで呼び出されます。 成功すると、添付ファイルの識別子が asyncResult.value プロパティに設定されます。 添付ファイルの追加に失敗した場合、asyncResult オブジェクトには、エラーの説明を提供する Error オブジェクトが含まれます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: 予定オーガナイザー
エラー:
-
NumberOfAttachmentsExceeded: メッセージまたは予定に添付ファイルが多すぎます。
close()
作成中の現在の項目を閉じます。
close メソッドの動作は、作成中のアイテムの現在の状態によって異なります。 アイテムに未保存の変更がある場合、クライアントはアクションの保存、破棄、または閉じるようユーザーに求めます。
Outlook on Windows (クラシック) と Mac では、 close メソッドは閲覧ウィンドウの返信には影響しません。
close(): void;
戻り値
void
注釈
最小アクセス許可レベル: 制限あり
適用される Outlook モード: 予定オーガナイザー
重要: Outlook on the webおよび新しい Outlook on Windows ではアイテムが予定であり、以前にsaveAsyncを使用して保存されている場合、アイテムが最後に保存されてから変更が発生しなかった場合でも、ユーザーは保存、破棄、または取り消しを求められます。
例
// 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();
disableClientSignatureAsync(options, callback)
Outlook クライアント署名を無効にします。
Outlook on Windows (クラシック) と Mac では、この API は、送信アカウントの "新しいメッセージ" セクションと "応答/転送" セクションの署名を "(none)" に設定し、署名を効果的に無効にします。 Outlook on the webおよび新しい Outlook on Windows では、新しいメール、返信、転送の署名オプションが無効になります。 署名が選択されている場合、この API 呼び出しによって無効になります。
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 モード: 予定オーガナイザー
例
// 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 クライアント署名を無効にします。
Outlook on Windows (クラシック) と Mac では、この API は、送信アカウントの "新しいメッセージ" セクションと "応答/転送" セクションの署名を "(none)" に設定し、署名を効果的に無効にします。 Outlook on the webおよび新しい Outlook on Windows では、新しいメール、返信、転送の署名オプションが無効になります。 署名が選択されている場合、この API 呼び出しによって無効になります。
disableClientSignatureAsync(callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、コールバック パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーターasyncResultで呼び出されます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: 予定オーガナイザー
getAttachmentContentAsync(attachmentId, options, callback)
メッセージまたは予定から添付ファイルを取得し、 AttachmentContent オブジェクトとして返します。
getAttachmentContentAsync(attachmentId: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<AttachmentContent>) => void): void;
パラメーター
- attachmentId
-
string
取得する添付ファイルの識別子。
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<Office.AttachmentContent>) => void
省略可能。 メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーターasyncResultで呼び出されます。 呼び出しが失敗した場合、 asyncResult.error プロパティにはエラー コードが含まれます。エラーの理由が示されます。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用される Outlook モード: 予定オーガナイザー
重要:
getAttachmentContentAsyncメソッドは、指定した識別子を持つ添付ファイルをアイテムから取得します。 ベスト プラクティスとして、getAttachmentsAsync呼び出しから添付ファイルの識別子を取得し、同じセッションでその識別子を使用して添付ファイルを取得する必要があります。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
取得する添付ファイルの識別子。
- callback
-
(asyncResult: Office.AsyncResult<Office.AttachmentContent>) => void
省略可能。 メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーターasyncResultで呼び出されます。 呼び出しが失敗した場合、 asyncResult.error プロパティにはエラー コードが含まれます。エラーの理由が示されます。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用される Outlook モード: 予定オーガナイザー
重要:
getAttachmentContentAsyncメソッドは、指定した識別子を持つ添付ファイルをアイテムから取得します。 ベスト プラクティスとして、getAttachmentsAsync呼び出しから添付ファイルの識別子を取得し、同じセッションでその識別子を使用して添付ファイルを取得する必要があります。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 プロパティにはエラー コードが含まれます。エラーの理由が示されます。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用される Outlook モード: 予定オーガナイザー
重要: 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 プロパティにはエラー コードが含まれます。エラーの理由が示されます。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用される Outlook モード: 予定オーガナイザー
重要: Outlook on the webおよび新しい Outlook on Windows では、ユーザーは [アップロードと共有] オプションを選択して添付ファイルを OneDrive にアップロードし、メール アイテムにファイルへのリンクを含めることができます。 ただし、リンクのみが含まれるため、 getAttachmentsAsync はこの添付ファイルを返しません。
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 モード: 予定オーガナイザー
例
// 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 モード: 予定オーガナイザー
getItemIdAsync(options, callback)
保存されたアイテムの Exchange Web Services (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 モード: 予定オーガナイザー
重要:
返されるアイテム 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 Services (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 モード: 予定オーガナイザー
重要:
返されるアイテム 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を呼び出します。 選択範囲のsource プロパティにアクセスするには、bodyまたはsubjectasyncResult.value.sourcePropertyを呼び出します。
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 モード: 予定オーガナイザー
例
// 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を呼び出します。 選択範囲のsource プロパティにアクセスするには、bodyまたはsubjectasyncResult.value.sourcePropertyを呼び出します。
getSelectedDataAsync(coercionType: Office.CoercionType | string, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- coercionType
-
Office.CoercionType | string
データの形式を要求します。
Text
場合、メソッドはプレーン テキストを文字列として返し、存在するすべての HTML タグを削除します。
HTML
場合、メソッドは選択したテキスト (プレーンテキストまたは HTML) を返します。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
メソッドが完了すると、 callback パラメーターで渡された関数が、 Office.AsyncResult型の 1 つのパラメーターで呼び出されます。
戻り値
void
coercionType
によって決定される形式の文字列として選択されたデータ。
注釈
最小アクセス許可レベル: 読み取り項目
適用される Outlook モード: 予定オーガナイザー
例
// 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 モード: 予定オーガナイザー
注: この方法は、Outlook on iOS または Android ではサポートされていません。
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 モード: 予定オーガナイザー
注: この方法は、Outlook on iOS または Android ではサポートされていません。
例
// 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)
クライアント署名が有効になっているかどうかを取得します。
Outlook on the webおよび新しい Outlook on Windows では、新規作成の種類newMail、reply、またはforwardに対して署名が有効になっている場合、trueが返されます。 Outlook on Windows (クラシック) または Mac の場合、または Outlook on the web または新しい Outlook on Windows で設定が "(none)" に設定されている場合は、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 モード: 予定オーガナイザー
例
// 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)
クライアント署名が有効になっているかどうかを取得します。
Outlook on the webおよび新しい Outlook on Windows では、新規作成の種類newMail、reply、またはforwardに対して署名が有効になっている場合、trueが返されます。 Outlook on Windows (クラシック) または Mac の場合、または Outlook on the web または新しい Outlook on Windows で設定が "(none)" に設定されている場合は、falseを返します。
isClientSignatureEnabledAsync(callback: (asyncResult: Office.AsyncResult<boolean>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<boolean>) => void
メソッドが完了すると、 callback パラメーターで渡された関数が、 Office.AsyncResult型の 1 つのパラメーターで呼び出されます。
戻り値
void
注釈
最小アクセス許可レベル: 読み取り項目
適用される Outlook モード: 予定オーガナイザー
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.");
});
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 モード: 予定オーガナイザー
重要*: 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 モード: 予定オーガナイザー
重要*: removeAttachmentAsync メソッドは、メール アイテムからインライン添付ファイルを削除しません。 インライン添付ファイルを削除するには、まずアイテムの本文を取得し、その内容から添付ファイルの参照を削除します。
Office.Body API を使用して、アイテムの本文を取得および設定します。
エラー:
-
InvalidAttachmentId: 添付ファイル識別子が存在しません。
removeHandlerAsync(eventType, options, callback)
サポートされているイベントの種類のイベント ハンドラーを削除します。 注: イベントは、作業ウィンドウの実装でのみ使用できます。
サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。
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 モード: 予定オーガナイザー
removeHandlerAsync(eventType, callback)
サポートされているイベントの種類のイベント ハンドラーを削除します。 注: イベントは、作業ウィンドウの実装でのみ使用できます。
サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。
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 モード: 予定オーガナイザー
例
Office.context.mailbox.item.removeHandlerAsync(Office.EventType.InfobarClicked, (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 が呼び出されると、アイテムはユーザーの予定表に通常の予定として保存されます。 以前に保存されていない新しい予定の場合、招待は送信されません。 既存の予定の場合、追加または削除された出席者に更新が送信されます。
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 モード: 予定オーガナイザー
重要:
Outlook on the web、新しい Outlook on Windows、またはオンライン モード (キャッシュなしモード) の従来の Outlook では、アイテムがサーバーに保存されます。 キャッシュ モードの Outlook では、ローカル キャッシュにアイテムが保存されます。
HTML 形式のコンテンツを操作する場合は、Outlook クライアントがコンテンツを変更する可能性があることに注意することが重要です。 つまり、
Body.getAsync、Body.setAsync、saveAsyncなどのメソッドに対する後続の呼び出しは、同じコンテンツにならない可能性があります。返される識別子は、 Exchange Web Services (EWS) アイテム識別子と同じです。 返されるアイテム ID は、Outlook エントリ ID または Outlook REST API で使用される ID と同じではありません。 この値を使用して REST API 呼び出しを行う前に、
Office.context.mailbox.convertToRestIdを使用して変換する必要があります。アドインが EWS または REST API で使用するアイテム ID を取得するために
saveAsyncを呼び出す場合は、Outlook がキャッシュ モードの場合、アイテムが実際にサーバーに同期されるまでに時間がかかる場合があることに注意してください。 アイテムが同期されるまで、アイテム ID を使用するとエラーが返されます。Outlook on Mac では、バージョン 16.35 (20030802) 以降のみが会議の保存をサポートしています。 それ以外の場合、
saveAsyncメソッドは、会議から新規作成モードで呼び出されると失敗します。 回避策については、「Office JS API を使用して会議を下書きとしてOutlook for Macに保存できない」を参照。
エラー:
-
InvalidAttachmentId: 添付ファイル識別子が存在しません。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/25-item-save-and-close/save.yaml
Office.context.mailbox.item.saveAsync(function (result) {
if (result.status === Office.AsyncResultStatus.Succeeded) {
console.log(`saveAsync succeeded, itemId is ${result.value}`);
}
else {
console.error(`saveAsync failed with message ${result.error.message}`);
}
});
saveAsync(callback)
項目を非同期的に保存します。
予定には下書き状態がないため、作成モードで予定に対して saveAsync が呼び出されると、アイテムはユーザーの予定表に通常の予定として保存されます。 以前に保存されていない新しい予定の場合、招待は送信されません。 既存の予定の場合、追加または削除された出席者に更新が送信されます。
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 モード: 予定オーガナイザー
重要:
Outlook on the web、新しい Outlook on Windows、またはオンライン モード (キャッシュなしモード) の従来の Outlook では、アイテムがサーバーに保存されます。 キャッシュ モードの Outlook では、ローカル キャッシュにアイテムが保存されます。
HTML 形式のコンテンツを操作する場合は、Outlook クライアントがコンテンツを変更する可能性があることに注意することが重要です。 つまり、
Body.getAsync、Body.setAsync、saveAsyncなどのメソッドに対する後続の呼び出しは、同じコンテンツにならない可能性があります。返される識別子は、 Exchange Web Services (EWS) アイテム識別子と同じです。 返されるアイテム ID は、Outlook エントリ ID または Outlook REST API で使用される ID と同じではありません。 この値を使用して REST API 呼び出しを行う前に、
Office.context.mailbox.convertToRestIdを使用して変換する必要があります。アドインが EWS または REST API で使用するアイテム ID を取得するために
saveAsyncを呼び出す場合は、Outlook がキャッシュ モードの場合、アイテムが実際にサーバーに同期されるまでに時間がかかる場合があることに注意してください。 アイテムが同期されるまで、アイテム ID を使用するとエラーが返されます。Outlook on Mac では、バージョン 16.35 (20030802) 以降のみが会議の保存をサポートしています。 それ以外の場合、
saveAsyncメソッドは、会議から新規作成モードで呼び出されると失敗します。 回避策については、「Office JS API を使用して会議を下書きとしてOutlook for Macに保存できない」を参照。
エラー:
-
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 パラメーターで渡された関数が、 asyncResult 1 つのパラメーターで呼び出されます。
asyncResult パラメーターは、Office.AsyncResult オブジェクトです。
戻り値
void
注釈
最小アクセス許可レベル: メールボックスの読み取り/書き込み
適用される Outlook モード: 予定オーガナイザー
重要:
sendAsyncメソッドは、作業ウィンドウと関数コマンドの実装でのみサポートされます。 イベント ベースのハンドラーまたは項目の複数選択シナリオではサポートされていません。関数コマンドの実装では、
asyncResult.statusで返される値に、構成されている予定が正常に送信されたかどうかが反映されない場合があります。 これは、sendAsyncメソッドが非同期 API であり、アドインのコントロール外のイベント (たとえば、個別にインストールされたスマート アラート アドインによって処理されるイベント) によって、アイテムの送信がブロックされる可能性があるためです。asyncResult.statusで返される状態に依存して特定の操作を実行することはできませんので、コールバック関数で event.completed メソッドのみを呼び出す必要があります。event.completed呼び出しは、アドインが処理を完了したことを通知します。 この呼び出し以外に、コールバック関数内の他のコードは実行が保証されません。sendAsyncを呼び出す前に、他の操作を処理することをお勧めします。作業ウィンドウの実装では、
asyncResult.statusがOffice.AsyncResultStatus.Successされるときに実行するコードは、必ず処理されるわけではありません。 これは、アイテムが既に送信されていて、アドインの処理が完了している可能性があるためです。sendAsyncを呼び出す前に、他の操作を処理することをお勧めします。sendAsync呼び出し後に含まれるコードは、sendAsync呼び出し後にアドインが処理を完了するため、実行は保証されません。
sendAsync(callback)
構成中の予定を送信します。
sendAsync(callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が、 asyncResult 1 つのパラメーターで呼び出されます。
asyncResult パラメーターは、Office.AsyncResult オブジェクトです。
戻り値
void
注釈
最小アクセス許可レベル: メールボックスの読み取り/書き込み
適用される Outlook モード: 予定オーガナイザー
重要:
sendAsyncメソッドは、作業ウィンドウと関数コマンドの実装でのみサポートされます。 イベント ベースのハンドラーまたは項目の複数選択シナリオではサポートされていません。関数コマンドの実装では、
asyncResult.statusで返される値に、構成されている予定が正常に送信されたかどうかが反映されない場合があります。 これは、sendAsyncメソッドが非同期 API であり、アドインのコントロール外のイベント (たとえば、個別にインストールされたスマート アラート アドインによって処理されるイベント) によって、アイテムの送信がブロックされる可能性があるためです。asyncResult.statusで返される状態に依存して特定の操作を実行することはできませんので、コールバック関数で event.completed メソッドのみを呼び出す必要があります。event.completed呼び出しは、アドインが処理を完了したことを通知します。 この呼び出し以外に、コールバック関数内の他のコードは実行が保証されません。sendAsyncを呼び出す前に、他の操作を処理することをお勧めします。作業ウィンドウの実装では、
asyncResult.statusがOffice.AsyncResultStatus.Successされるときに実行するコードは、必ず処理されるわけではありません。 これは、アイテムが既に送信されていて、アドインの処理が完了している可能性があるためです。sendAsyncを呼び出す前に、他の操作を処理することをお勧めします。sendAsync呼び出し後に含まれるコードは、sendAsync呼び出し後にアドインが処理を完了するため、実行は保証されません。
例
// 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 メソッドは、指定した文字列を項目の件名または本文のカーソル位置に挿入するか、エディターでテキストが選択されている場合は、選択したテキストを置き換えます。 カーソルが本文または件名フィールドにない場合は、エラーが返されます。 挿入後、カーソルは挿入されたコンテンツの末尾に配置されます。
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 をサポートしている場合 (件名はサポートされていません)、現在のスタイルはOutlook on the webおよび新しい Outlook on Windows に適用されます。 既定のスタイルは、Outlook on Windows (クラシック) と Mac で適用されます。 フィールドがテキスト フィールドの場合、InvalidDataFormat エラーが返されます。
coercionType が設定されていない場合、結果はフィールドによって変わります。フィールドが HTML の場合は HTML が使用されます。フィールドがテキストの場合はプレーン テキストが使用されます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が、 Office.AsyncResult型の 1 つのパラメーターで呼び出されます。
戻り値
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用される Outlook モード: 予定オーガナイザー
エラー:
-
InvalidAttachmentId: 添付ファイル識別子が存在しません。
例
Office.context.mailbox.item.setSelectedDataAsync("<b>Hello World!</b>", { coercionType : "html" });
Office.context.mailbox.item.setSelectedDataAsync("Hello World!");
// 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 メソッドは、指定した文字列を項目の件名または本文のカーソル位置に挿入するか、エディターでテキストが選択されている場合は、選択したテキストを置き換えます。 カーソルが本文または件名フィールドにない場合は、エラーが返されます。 挿入後、カーソルは挿入されたコンテンツの末尾に配置されます。
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 モード: 予定オーガナイザー
エラー:
-
InvalidAttachmentId: 添付ファイル識別子が存在しません。