Office.AppointmentCompose interface
Office.context.mailbox.item の予定開催者モード。
重要: これは内部の Outlook オブジェクトであり、既存のインターフェイスを通じて直接公開されることはありません。 これを Office.context.mailbox.item モードとして扱う必要があります。 詳細については、「 Outlook アイテム オブジェクト モデル」を参照してください。
親インターフェイス:
- Extends
プロパティ
| body | アイテムの本文を操作するメソッドを提供するオブジェクトを取得します。 |
| categories | 項目のカテゴリを管理するためのメソッドを提供するオブジェクトを取得します。 |
| end | 予定が終了する日時を取得または設定します。
重要: Windows クライアントでは、このプロパティを使用して定期的な終了を更新することはできません。 |
| enhanced |
予定の場所を取得または設定します。
|
| is |
予定の Office.IsAllDayEvent プロパティを取得または設定します。 |
| item |
インスタンスが表しているアイテムの種類を取得します。
|
| location | 予定の場所を取得または設定します。
|
| notification |
アイテムの通知メッセージを取得します。 |
| optional |
イベントの任意出席者へのアクセスを提供します。 オブジェクトのタイプとアクセス レベルは、現在の項目のモードによって異なります。
|
| organizer | 指定された会議の開催者を取得します。
|
| recurrence | 予定の繰り返しパターンを取得または設定します。 アイテムが系列または系列内のインスタンスである場合、
注: 会議出席依頼の 注: 繰り返しオブジェクトが null の場合、これはオブジェクトが単一の予定または単一の予定の会議出席依頼であり、一連のオブジェクトの一部ではないことを示します。 |
| required |
イベントの必須出席者へのアクセスを提供します。 オブジェクトのタイプとアクセス レベルは、現在の項目のモードによって異なります。
|
| sensitivity | 予定の 秘密度レベル を取得または設定します。 秘密度レベルの詳細については、「メールを標準、個人用、プライベート、または機密 としてマークする」を参照してください。 |
| sensitivity |
予定の 秘密度ラベル を取得または設定するオブジェクトを取得します。 |
| series |
インスタンスが属するシリーズの ID を取得します。 Outlook on the web、Windows (新規およびクラシック)、および Mac では、
注:
|
| session |
Compose モードでアイテムの SessionData を管理します。 重要: メールボックス 1.15 以前をサポートする Outlook クライアントでは、各メール アイテムの SessionData オブジェクト全体はアドインあたり 50,000 文字に制限されます。 メールボックス 1.16 以降をサポートするクライアントでは、アドインあたりの文字数制限は 2,621,440 文字です。 |
| start | 予定を開始する日時を取得または設定します。
重要: Windows クライアントでは、このプロパティを使用して繰り返しの開始を更新することはできません。 |
| subject | アイテムの件名フィールドに示される説明を取得または設定します。
|
メソッド
| add |
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
|
| add |
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
|
| add |
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
その後、 |
| add |
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
その後、 |
| add |
サポートされているイベントのイベント ハンドラーを追加します。 イベントは、作業ウィンドウのアドインでのみ使用できます。 |
| add |
サポートされているイベントのイベント ハンドラーを追加します。 イベントは、作業ウィンドウのアドインでのみ使用できます。 |
| add |
メッセージなどの Exchange アイテムを添付ファイルとして、メッセージまたは予定に追加します。
その後、 Office アドインが Windows 上の Outlook on the web と新しい Outlook で実行されている場合、 |
| add |
メッセージなどの Exchange アイテムを添付ファイルとして、メッセージまたは予定に追加します。
その後、 Office アドインが Windows 上の Outlook on the web と新しい Outlook で実行されている場合、 |
| close() | 作成中の現在の項目を閉じます。
Windows (クラシック) の Outlook と Mac の Outlook では、 |
| disable |
Outlook クライアント署名を無効にします。 Windows (クラシック) および Mac の Outlook では、この API は、送信アカウントの [新しいメッセージ] セクションと [返信/転送] セクションの署名を "(なし)" に設定し、署名を事実上無効にします。 Windows のOutlook on the webおよび新しい Outlook では、API は新しいメール、返信、転送の署名オプションを無効にします。 署名が選択されている場合は、この API 呼び出しによって無効になります。 |
| disable |
Outlook クライアント署名を無効にします。 Windows (クラシック) および Mac の Outlook では、この API は、送信アカウントの [新しいメッセージ] セクションと [返信/転送] セクションの署名を "(なし)" に設定し、署名を事実上無効にします。 Windows のOutlook on the webおよび新しい Outlook では、API は新しいメール、返信、転送の署名オプションを無効にします。 署名が選択されている場合は、この API 呼び出しによって無効になります。 |
| get |
メッセージまたは予定から添付ファイルを取得し、 |
| get |
メッセージまたは予定から添付ファイルを取得し、 |
| get |
アイテムの添付ファイルを配列として取得します。 |
| get |
アイテムの添付ファイルを配列として取得します。 |
| get |
アクション可能なメッセージによってアドインがアクティブ化されたときに渡される初期化データを取得します。 |
| get |
アクション可能なメッセージによってアドインがアクティブ化されたときに渡される初期化データを取得します。 |
| get |
保存されたアイテムの Exchange Web サービス (EWS) アイテム識別子 を非同期で取得します。 このメソッドは呼び出すと、コールバック関数によってアイテム ID を返します。 |
| get |
保存されたアイテムの Exchange Web サービス (EWS) アイテム識別子 を非同期で取得します。 このメソッドは呼び出すと、コールバック関数によってアイテム ID を返します。 |
| get |
メッセージの件名または本文から非同期的に選択したデータを返します。 選択範囲がなく、カーソルが本文または件名にある場合、メソッドは選択したデータに対して空の文字列を返します。 本文または件名以外のフィールドが選択されている場合、 コールバック関数から選択したデータにアクセスするには、 |
| get |
メッセージの件名または本文から非同期的に選択したデータを返します。 選択範囲がなく、カーソルが本文または件名にある場合、メソッドは選択したデータに対して空の文字列を返します。 本文または件名以外のフィールドが選択されている場合、 コールバック関数から選択したデータにアクセスするには、 |
| get |
共有フォルダーまたは共有メールボックス内の予定またはメッセージのプロパティを取得します。 この API の使用方法の詳細については、「Outlook アドインで共有フォルダーと共有メールボックスのシナリオを有効にする」を参照してください。 |
| get |
共有フォルダーまたは共有メールボックス内の予定またはメッセージのプロパティを取得します。 この API の使用方法の詳細については、「Outlook アドインで共有フォルダーと共有メールボックスのシナリオを有効にする」を参照してください。 |
| is |
クライアント署名が有効になっているかどうかを取得します。
Windows Outlook on the web および新しい Outlook では、作成の種類 |
| is |
クライアント署名が有効になっているかどうかを取得します。
Windows Outlook on the web および新しい Outlook では、作成の種類 |
| load |
選択されたアイテムのこのアドインのカスタム プロパティを非同期に読み込みます。 カスタム プロパティは、アプリごと、アイテムごとにキーと値のペアとして格納されます。 このメソッドはコールバックで CustomProperties オブジェクトを返します。このオブジェクトには、現在の項目と現在のアドインに固有のカスタム プロパティにアクセスするメソッドが用意されています。 カスタム プロパティはアイテムで暗号化されていないため、これをセキュリティで保護されたストレージとして使用しないでください。 カスタム プロパティは |
| remove |
メッセージまたは予定から添付ファイルを削除します。
|
| remove |
メッセージまたは予定から添付ファイルを削除します。
|
| remove |
サポートされているイベントの種類のイベント ハンドラーを削除します。 イベントは、作業ウィンドウのアドインでのみ使用できます。 |
| remove |
サポートされているイベントの種類のイベント ハンドラーを削除します。 イベントは、作業ウィンドウのアドインでのみ使用できます。 |
| 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 で任命を作成するときに場所を取得または設定する」を参照してください。
例
// 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 で任命を作成するときに場所を取得または設定する」を参照してください。
例
// 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 Mobile でサポートされている 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: 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 は、1 つの予定および 1 つの予定の会議出席依頼に対して返されます。
注: 会議出席依頼の itemClass 値は IPM.Schedule.Meeting.Request です。
注: 繰り返しオブジェクトが null の場合、これはオブジェクトが単一の予定または単一の予定の会議出席依頼であり、一連のオブジェクトの一部ではないことを示します。
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 = {
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 as any, (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 サービス (EWS) ID を返します。 ただし、Android および iOS 上の Outlook では、 seriesId は親アイテムの REST ID を返します。
注: seriesId プロパティによって返される識別子は、Exchange Web サービスの項目識別子と同じです。
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 を管理します。
重要: メールボックス 1.15 以前をサポートする Outlook クライアントでは、各メール アイテムの SessionData オブジェクト全体はアドインあたり 50,000 文字に制限されます。 メールボックス 1.16 以降をサポートするクライアントでは、アドインあたりの文字数制限は 2,621,440 文字です。
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 モード: 予定の主催者
重要:
この方法は、iOS 版または Android 版 Outlook ではサポートされていません。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください。
ビットマップ (BMP) 画像は、インライン添付ファイルとして追加されている場合はサポートされません。
従来の Outlook on Windows の最近のビルドで、このアクションに
Authorization: Bearerヘッダーが誤って付加されるバグが導入されました (この API または Outlook UI を使用する場合)。 この問題を回避するには、要件セット 1.8 で導入されたaddFileAttachmentFromBase64API を使用します。添付するファイルの URI が実稼働環境でのキャッシュをサポートしている必要があります。 画像をホストしているサーバーは、HTTP 応答で
no-cache、no-store、または同様のオプションを指定するCache-Controlヘッダーを返すべきではありません。 ただし、アドインを開発してファイルに変更を加えるときには、キャッシュによって変更が表示されない可能性があります。 開発中はCache-Controlヘッダーを使用することをお勧めします。同じ URI を
removeAttachmentAsyncメソッドで使用して、同じセッションで添付ファイルを削除できます。
エラー:
AttachmentSizeExceeded: 添付ファイルが許可されているサイズより大きくなっています。FileTypeNotSupported: 添付ファイルに、許可されない拡張子があります。NumberOfAttachmentsExceeded: メッセージまたは予定の添付ファイルが多すぎます。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml
const attachmentUrl = (document.getElementById("attachmentUrl") as HTMLInputElement).value;
Office.context.mailbox.item.addFileAttachmentAsync(
attachmentUrl,
getFileName(attachmentUrl),
{ isInline: false },
(result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to add attachment: ${result.error.message}.`);
return;
}
console.log(`Added attachment with ID: ${result.value}`);
}
);
addFileAttachmentAsync(uri, attachmentName, callback)
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
addFileAttachmentAsync メソッドは、指定した URI にあるファイルをアップロードし、新規作成フォーム内のアイテムに添付します。
addFileAttachmentAsync(uri: string, attachmentName: string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- uri
-
string
メッセージまたは予定に添付するファイルの場所を示す URI。 最大長は 2048 文字です。
- attachmentName
-
string
添付ファイルのアップロード時に表示される添付ファイルの名前。 最大の長さは、255 文字です。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 成功すると、添付ファイルの識別子が asyncResult.value プロパティに設定されます。 添付ファイルのアップロードに失敗した場合、asyncResult オブジェクトには、エラーの説明を提供する Error オブジェクトが含まれます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用可能な Outlook モード: 予定の主催者
重要:
この方法は、iOS 版または Android 版 Outlook ではサポートされていません。 Outlook Mobile でサポートされている API の詳細については、「モバイル デバイスの Outlook でサポートされている Outlook JavaScript API」を参照してください。
ビットマップ (BMP) 画像は、インライン添付ファイルとして追加されている場合はサポートされません。
従来の Outlook on Windows の最近のビルドで、このアクションに
Authorization: Bearerヘッダーが誤って付加されるバグが導入されました (この API または Outlook UI を使用する場合)。 この問題を回避するには、要件セット 1.8 で導入されたaddFileAttachmentFromBase64API を使用します。添付するファイルの URI が実稼働環境でのキャッシュをサポートしている必要があります。 画像をホストしているサーバーは、HTTP 応答で
no-cache、no-store、または同様のオプションを指定するCache-Controlヘッダーを返すべきではありません。 ただし、アドインを開発してファイルに変更を加えるときには、キャッシュによって変更が表示されない可能性があります。 開発中はCache-Controlヘッダーを使用することをお勧めします。同じ URI を
removeAttachmentAsyncメソッドで使用して、同じセッションで添付ファイルを削除できます。
エラー:
AttachmentSizeExceeded: 添付ファイルが許可されているサイズより大きくなっています。FileTypeNotSupported: 添付ファイルに、許可されない拡張子があります。NumberOfAttachmentsExceeded: メッセージまたは予定の添付ファイルが多すぎます。
addFileAttachmentFromBase64Async(base64File, attachmentName, options, callback)
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
addFileAttachmentFromBase64Async メソッドは、Base64 エンコードからファイルをアップロードし、作成フォームのアイテムに添付します。 このメソッドは、 asyncResult.value オブジェクトの添付ファイル識別子を返します。
その後、removeAttachmentAsync メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。
addFileAttachmentFromBase64Async(base64File: string, attachmentName: string, options: Office.AsyncContextOptions & { isInline: boolean }, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- base64File
-
string
メールまたはイベントに追加する画像またはファイルの Base64 でエンコードされたコンテンツ。 エンコードされた文字列の最大長は、34,865,152 文字です。 これは、Base64 エンコード前の最大添付ファイル サイズである 25 MB に相当します。
- attachmentName
-
string
添付ファイルのアップロード時に表示される添付ファイルの名前。 最大の長さは、255 文字です。
- options
-
Office.AsyncContextOptions & { isInline: boolean }
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
isInline
: true の場合、添付ファイルがメッセージ本文に画像としてインラインで表示され、添付ファイルの一覧には表示されないことを示します。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 成功すると、添付ファイルの識別子が asyncResult.value プロパティに設定されます。 添付ファイルのアップロードに失敗した場合、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 の「インライン Base64 でエンコードされた画像をメッセージまたは予定の本文 (Compose) に追加する」サンプルを参照してください。
エラー:
AttachmentSizeExceeded: 添付ファイルが許可されているサイズより大きくなっています。FileTypeNotSupported: 添付ファイルに、許可されない拡張子があります。NumberOfAttachmentsExceeded: メッセージまたは予定の添付ファイルが多すぎます。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml
const base64String = "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsSAAALEgHS3X78AAACRUlEQVRYw82XzXHbMBCFP2F8tzsQc8Ixyh0zoiuIXIGdCsxUYKqC0B04FdiuwMoM7mGOOIXqQGoAymXhgSX+itJM9kIRFLAP+3YXD5Pdbscx5oxaAIW8Ztr6l2PWmQwF4IyaieP53qdfAqQ8CwBn1JU4vpWhrbxXQA5MZfynANmcDIAzKgcy4FKGXsVJFf3nLgKyBQptfT4KQMRz2N0fcbxqmRMDWXflx0VPnrdArq0vekQ1Dv0UeHZGNebHhwjU8AzwKM43RyZnbAf58Q6ghudeWd0Aus0+5EcMIIRi3beua0D3Nm39BEAx3i7HTK4DEBJn5YxKOnaRA5+ErpMBWMpzDvx1RuXCcxOISlufAjfC7zgAsqsvUvMAD0ApPaEtGi9AIlUzKgJo60tt/SyKRkzLrAXERluf7W1gOICWaMyB386oooOWsIHvXbSoHuUSFovtHqicUVnH3EJoeT0aQEf5/XBGlc6otIOWBXAtPeZkAIJ9Bt6cUU9tZautX2nrk3MACHYr1ZKProKRtDw4o8pzAPjWo+NtpXTTvoteDDg8noDAcwbcRedAkGdFXyk2GEDcegVAFp2gyVDHjRQ4o6q2smoqtR5Hd+qMqtoALCWUUymr1m43QMZfOaMK4C0SrMsDANJ2E5FNcbdbjHC+ENl+H0myJFbLtaq4Rt8dyPBYRQV1E40nMv9rl7xrOw3DGb+Whcqu3i/OM6CUOWvgRlufNmnLYy4m77uJI7AXtdNcTDrU71LEyv7v01/N/ovL6bmu5/8A1tNWZldH0W4AAAAASUVORK5CYII=";
Office.context.mailbox.item.addFileAttachmentFromBase64Async(
base64String,
"logo.png",
{ isInline: false },
(result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to add attachment from Base64-encoded string: ${result.error.message}.`);
return;
}
console.log(`Added attachment from a Base64-encoded string with ID: ${result.value}`);
}
);
...
// Set the signature for the current item with inline image.
const modIcon1Base64 = "iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpDRDMxMDg1MjBCNDZFMTExODE2MkM1RUI2M0M4MDYxRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTUxQjgyRjQ2MEQxMUUxODlFMkQwNTYzQ0YwMTUxMiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTUxQjgyRTQ2MEQxMUUxODlFMkQwNTYzQ0YwMTUxMiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgV2luZG93cyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQxMzEwODUyMEI0NkUxMTE4MTYyQzVFQjYzQzgwNjFEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNEMzEwODUyMEI0NkUxMTE4MTYyQzVFQjYzQzgwNjFEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+uC/WfAAAAehJREFUeNpilCzfwEAEkAbiECA2A2J1IOaHin8E4ptAfBaIVwLxU0IGMRKw0B6IW4DYhoE4cASIK6E0VsCEQ1wUiNcB8QESLGOAqj0MxBuhZhBloS4QnwHiQAbygR/UDF1CFupCXSjHQDmQg5qli8tCUBBsQUoQ1AD8UDNFsVk4n0o+w+bT+egWglKjNymmeGhLkqLcG2oHAwtUoIuQDj5OVgZPLUmwRe5aEmAxqYqNpFgKssOcCeplM0KqdST5GfpDDRm0JfkYrj3/SE7QguyQY4ImYYLgCtAS10kHGMw6dzNsv/qC7OwCClJXYlR++v6b4er3j5QmIFcmaNlIL6AOslCIjhYKMTHQGTBBqxh6gXcgC6/R0cKbIAv30dHCfaAKGJTxHxJSqS3Fz9DkowNmywpyMcgA8fF7b8D8VWcfM6w8+4gYC+VB+RCk8hSh0gaUD4/dewvlvUWRe/z+GzGWgex4BGtiOAHxXhoHpzMoSGHZAhSPW2lo2VZYWkHOh4nEtLrIAE+hZmNUwK+B2BOIv1PRsu9QM1/jatNcBtVZ0IREKXgENesyoVYbzNIdFFi2A5tl+NqlL6BB4QBNzsSCU1A9nlAzMAALAQMOQl0qB23qWwKxIlIrDBQ394H4OBCvISYqAAIMACVibHDqsO7zAAAAAElFTkSuQmCC";
Office.context.mailbox.item.addFileAttachmentFromBase64Async(
modIcon1Base64,
"myImage.png",
{ isInline: true },
function(result) {
if (result.status == Office.AsyncResultStatus.Succeeded) {
const signature = (document.getElementById("signature") as HTMLInputElement).value + "<img src='cid:myImage.png'>";
console.log(`Setting signature to "${signature}".`);
Office.context.mailbox.item.body.setSignatureAsync(
signature,
{ coercionType: "html" },
function(asyncResult) {
console.log(`setSignatureAsync: ${asyncResult.status}`);
}
);
} else {
console.error(`addFileAttachmentFromBase64Async: ${result.error}`);
}
}
);
addFileAttachmentFromBase64Async(base64File, attachmentName, callback)
ファイルを添付ファイルとしてメッセージまたは予定に追加します。
addFileAttachmentFromBase64Async メソッドは、Base64 エンコードからファイルをアップロードし、作成フォームのアイテムに添付します。 このメソッドは、 asyncResult.value オブジェクトの添付ファイル識別子を返します。
その後、removeAttachmentAsync メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。
addFileAttachmentFromBase64Async(base64File: string, attachmentName: string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
パラメーター
- base64File
-
string
メールまたはイベントに追加する画像またはファイルの Base64 でエンコードされたコンテンツ。 エンコードされた文字列の最大長は、34,865,152 文字です。 これは、Base64 エンコード前の最大添付ファイル サイズである 25 MB に相当します。
- attachmentName
-
string
添付ファイルのアップロード時に表示される添付ファイルの名前。 最大の長さは、255 文字です。
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。 成功すると、添付ファイルの識別子が asyncResult.value プロパティに設定されます。 添付ファイルのアップロードに失敗した場合、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 の「インライン Base64 でエンコードされた画像をメッセージまたは予定の本文 (Compose) に追加する」サンプルを参照してください。
エラー:
AttachmentSizeExceeded: 添付ファイルが許可されているサイズより大きくなっています。FileTypeNotSupported: 添付ファイルに、許可されない拡張子があります。NumberOfAttachmentsExceeded: メッセージまたは予定の添付ファイルが多すぎます。
addHandlerAsync(eventType, handler, options, callback)
サポートされているイベントのイベント ハンドラーを追加します。 イベントは、作業ウィンドウのアドインでのみ使用できます。
addHandlerAsync(eventType: Office.EventType | string, handler: any, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- eventType
-
Office.EventType | string
ハンドラーを呼び出す必要のあるイベント。
- handler
-
any
イベントを処理する関数。 関数は、オブジェクト リテラルである単一パラメーターを受け入れる必要があります。 パラメーターの type プロパティは、addHandlerAsync に渡される eventType パラメーターと一致します。
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: 予定の主催者
重要: メール アイテムでサポートされているイベントの一覧については、「 Outlook アイテム オブジェクト モデル」を参照してください。
例
function myHandlerFunction(eventarg) {
if (eventarg.attachmentStatus === Office.MailboxEnums.AttachmentStatus.Added) {
const attachment = eventarg.attachmentDetails;
console.log("Event Fired and Attachment Added!");
getAttachmentContentAsync(attachment.id, options, callback);
}
}
Office.context.mailbox.item.addHandlerAsync(Office.EventType.AttachmentsChanged, myHandlerFunction, myCallback);
addHandlerAsync(eventType, handler, callback)
サポートされているイベントのイベント ハンドラーを追加します。 イベントは、作業ウィンドウのアドインでのみ使用できます。
addHandlerAsync(eventType: Office.EventType | string, handler: any, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- eventType
-
Office.EventType | string
ハンドラーを呼び出す必要のあるイベント。
- handler
-
any
イベントを処理する関数。 関数は、オブジェクト リテラルである単一パラメーターを受け入れる必要があります。 パラメーターの type プロパティは、addHandlerAsync に渡される eventType パラメーターと一致します。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: 予定の主催者
重要: メール アイテムでサポートされているイベントの一覧については、「 Outlook アイテム オブジェクト モデル」を参照してください。
addItemAttachmentAsync(itemId, attachmentName, options, callback)
メッセージなどの Exchange アイテムを添付ファイルとして、メッセージまたは予定に追加します。
addItemAttachmentAsync メソッドは、指定された Exchange 識別子を持つアイテムを作成フォーム内のアイテムに添付します。 コールバック関数を指定すると、メソッドは 1 つのパラメーター ( asyncResult) を使用して呼び出されます。このパラメーターには、添付ファイル識別子またはアイテムの添付中に発生したエラーを示すコードが含まれます。 必要に応じて、 options パラメーターを使用して、状態情報をコールバック関数に渡すことができます。
その後、removeAttachmentAsync メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。
Office アドインが Windows 上の Outlook on the web と新しい Outlook で実行されている場合、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 アドインが Windows 上の Outlook on the web と新しい Outlook で実行されている場合、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 メソッドの動作は、作成中のアイテムの現在の状態によって異なります。 アイテムに未保存の変更がある場合、クライアントはユーザーにアクションの保存、破棄、または閉じるよう求めます。
Windows (クラシック) の Outlook と Mac の Outlook では、 close メソッドは閲覧ウィンドウの返信には影響しません。
close(): void;
返品
void
注釈
最小アクセス許可レベル: 制限付き
適用可能な Outlook モード: 予定の主催者
重要: Windows 上の Outlook on the web および新しい Outlook ではアイテムが予定であり、以前に 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 クライアント署名を無効にします。
Windows (クラシック) および Mac の Outlook では、この API は、送信アカウントの [新しいメッセージ] セクションと [返信/転送] セクションの署名を "(なし)" に設定し、署名を事実上無効にします。 Windows のOutlook on the webおよび新しい Outlook では、API は新しいメール、返信、転送の署名オプションを無効にします。 署名が選択されている場合は、この 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 クライアント署名を無効にします。
Windows (クラシック) および Mac の Outlook では、この API は、送信アカウントの [新しいメッセージ] セクションと [返信/転送] セクションの署名を "(なし)" に設定し、署名を事実上無効にします。 Windows のOutlook on the webおよび新しい Outlook では、API は新しいメール、返信、転送の署名オプションを無効にします。 署名が選択されている場合は、この 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 プロパティにはエラーの理由を含むエラー コードが含まれます。 呼び出しが成功すると、 AttachmentDetailsCompose オブジェクトの配列が asyncResult.value プロパティで返されます。
返品
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 プロパティにはエラーの理由を含むエラー コードが含まれます。 呼び出しが成功すると、 AttachmentDetailsCompose オブジェクトの配列が asyncResult.value プロパティで返されます。
返品
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 サービス (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 サービス (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 プロパティにアクセスするには、 asyncResult.value.sourceProperty ( body または subject) を呼び出します。
getSelectedDataAsync(coercionType: Office.CoercionType | string, options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<any>) => void): void;
パラメーター
- coercionType
-
Office.CoercionType | string
データの形式を要求します。
Text
場合、メソッドはプレーンテキストを文字列として返し、存在する HTML タグを削除します。
HTML
の場合、プレーンテキストか HTML かに関係なく、選択したテキストが返されます。
- options
- Office.AsyncContextOptions
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
- callback
-
(asyncResult: Office.AsyncResult<any>) => void
メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。
返品
void
選択したデータは、 coercionTypeによって決まる形式の文字列です。
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: 予定の主催者
例
// 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 プロパティにアクセスするには、 asyncResult.value.sourceProperty ( body または subject) を呼び出します。
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 モード: 予定の主催者
注: この方法は、iOS 版または Android 版 Outlook ではサポートされていません。
getSharedPropertiesAsync(callback)
共有フォルダーまたは共有メールボックス内の予定またはメッセージのプロパティを取得します。
この API の使用方法の詳細については、「Outlook アドインで共有フォルダーと共有メールボックスのシナリオを有効にする」を参照してください。
getSharedPropertiesAsync(callback: (asyncResult: Office.AsyncResult<SharedProperties>) => void): void;
パラメーター
- callback
-
(asyncResult: Office.AsyncResult<Office.SharedProperties>) => void
メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。
asyncResult.value プロパティは共有項目のプロパティを提供します。
返品
void
注釈
API セット: 共有フォルダーをサポートするメールボックス 1.8、共有メールボックスをサポートするメールボックス 1.13
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: 予定の主催者
注: この方法は、iOS 版または Android 版 Outlook ではサポートされていません。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/65-delegates-and-shared-folders/get-shared-properties.yaml
Office.context.mailbox.item.getSharedPropertiesAsync((result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error("The current folder or mailbox isn't shared.");
return;
}
const sharedProperties = result.value;
console.log(`Owner: ${sharedProperties.owner}`);
console.log(`Permissions: ${sharedProperties.delegatePermissions}`);
console.log(`Target mailbox: ${sharedProperties.targetMailbox}`);
});
isClientSignatureEnabledAsync(options, callback)
クライアント署名が有効になっているかどうかを取得します。
Windows Outlook on the web および新しい Outlook では、作成の種類 newMail、reply、または forward に対して署名が有効になっているかどうかが true を返します。 Windows (クラシック) 版 Outlook または Mac 版で設定が「(なし)」に設定されている場合、または Windows 上の Outlook on the web または新しい Outlook で設定が無効になっている場合は、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)
クライアント署名が有効になっているかどうかを取得します。
Windows Outlook on the web および新しい Outlook では、作成の種類 newMail、reply、または forward に対して署名が有効になっているかどうかが true を返します。 Windows (クラシック) 版 Outlook または Mac 版で設定が「(なし)」に設定されている場合、または Windows 上の Outlook on the web または新しい Outlook で設定が無効になっている場合は、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)
サポートされているイベントの種類のイベント ハンドラーを削除します。 イベントは、作業ウィンドウのアドインでのみ使用できます。
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 モード: 予定の主催者
重要: メール アイテムでサポートされているイベントの一覧については、「 Outlook アイテム オブジェクト モデル」を参照してください。
removeHandlerAsync(eventType, callback)
サポートされているイベントの種類のイベント ハンドラーを削除します。 イベントは、作業ウィンドウのアドインでのみ使用できます。
removeHandlerAsync(eventType: Office.EventType | string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- eventType
-
Office.EventType | string
ハンドラーを取り消すイベント。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、callback パラメーターで渡された関数が、Office.AsyncResult オブジェクトである 1 つのパラメーター asyncResult を指定して呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り
適用可能な Outlook モード: 予定の主催者
重要: メール アイテムでサポートされているイベントの一覧については、「 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、またはオンライン モード (非キャッシュ モード) の Windows 上の従来の Outlook では、アイテムがサーバーに保存されます。 キャッシュ モードの Outlook では、ローカル キャッシュにアイテムが保存されます。
HTML 形式のコンテンツを操作する場合、Outlook クライアントがコンテンツを変更する可能性があることに注意してください。 つまり、
Body.getAsync、Body.setAsync、さらにはsaveAsyncなどのメソッドへの後続の呼び出しでは、同じ内容が得られない場合があります。返される識別子は、Exchange Web サービス (EWS) の項目識別子と同じです。 返されるアイテム ID が、Outlook エントリ ID または Outlook REST API で使用される ID と同じではありません。 この値を使用して REST API 呼び出しを行う前に、
Office.context.mailbox.convertToRestIdを使用して変換する必要があります。アドインが
saveAsyncを呼び出して、EWS または REST API で使用するアイテム ID を取得する場合、Outlook がキャッシュ モードの場合、アイテムが実際にサーバーに同期されるまでに時間がかかる可能性があることに注意してください。 アイテムが同期されるまで、アイテム ID を使用するとエラーが返されます。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、またはオンライン モード (非キャッシュ モード) の Windows 上の従来の Outlook では、アイテムがサーバーに保存されます。 キャッシュ モードの Outlook では、ローカル キャッシュにアイテムが保存されます。
HTML 形式のコンテンツを操作する場合、Outlook クライアントがコンテンツを変更する可能性があることに注意してください。 つまり、
Body.getAsync、Body.setAsync、さらにはsaveAsyncなどのメソッドへの後続の呼び出しでは、同じ内容が得られない場合があります。返される識別子は、Exchange Web サービス (EWS) の項目識別子と同じです。 返されるアイテム ID が、Outlook エントリ ID または Outlook REST API で使用される ID と同じではありません。 この値を使用して REST API 呼び出しを行う前に、
Office.context.mailbox.convertToRestIdを使用して変換する必要があります。アドインが
saveAsyncを呼び出して、EWS または REST API で使用するアイテム ID を取得する場合、Outlook がキャッシュ モードの場合、アイテムが実際にサーバーに同期されるまでに時間がかかる可能性があることに注意してください。 アイテムが同期されるまで、アイテム ID を使用するとエラーが返されます。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 パラメーターで渡された関数が 1 つのパラメーター asyncResult を指定して呼び出されます。
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 パラメーターで渡された関数が 1 つのパラメーター asyncResult を指定して呼び出されます。
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 メソッドは、アイテムの件名または本文のカーソル位置に指定された文字列を挿入します。または、エディターでテキストが選択されている場合は、選択したテキストを置き換えます。 カーソルが body フィールドまたは subject フィールドにない場合は、エラーが返されます。 挿入後、カーソルは挿入されたコンテンツの最後に置かれます。
setSelectedDataAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- data
-
string
挿入されるデータ。 データの最大の長さは 1,000,000 文字です。 1,000,000 文字を超えるデータが渡されると、ArgumentOutOfRange 例外がスローされます。
次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスしたいオブジェクトを指定できます。
coercionType
: テキストの場合、現在のスタイルが Outlook on the web、Windows (新旧)、および Mac に適用されます。 フィールドが HTML エディターの場合、データが HTML の場合でもテキスト データのみが挿入されます。 データが HTML でフィールドが HTML をサポートしている (件名が HTML をサポートしていない) 場合、現在のスタイルが Outlook on the web と新しい Outlook on Windows に適用されます。 Windows (クラシック) の Outlook と Mac では、既定のスタイルが適用されます。 フィールドがテキスト フィールドの場合、InvalidDataFormat エラーが返されます。
coercionType が設定されていない場合、結果はフィールドによって変わります。フィールドが HTML の場合は HTML が使用されます。フィールドがテキストの場合はプレーン テキストが使用されます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用可能な Outlook モード: 予定の主催者
エラー:
-
InvalidAttachmentId: 添付ファイル識別子は存在しません。
例
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/set-selected-data.yaml
Office.context.mailbox.item.setSelectedDataAsync("Replaced", function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("Selected text has been updated successfully.");
} else {
console.error(asyncResult.error);
}
});
setSelectedDataAsync(data, callback)
メッセージの本文または件名に非同期的にデータを挿入します。
setSelectedDataAsync メソッドは、アイテムの件名または本文のカーソル位置に指定された文字列を挿入します。または、エディターでテキストが選択されている場合は、選択したテキストを置き換えます。 カーソルが body フィールドまたは subject フィールドにない場合は、エラーが返されます。 挿入後、カーソルは挿入されたコンテンツの最後に置かれます。
setSelectedDataAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
パラメーター
- data
-
string
挿入されるデータ。 データの最大の長さは 1,000,000 文字です。 1,000,000 文字を超えるデータが渡されると、ArgumentOutOfRange 例外がスローされます。
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
省略可能。 メソッドが完了すると、 callback パラメーターで渡された関数が型 Office.AsyncResult の 1 つのパラメーターで呼び出されます。
返品
void
注釈
最小アクセス許可レベル: 項目の読み取り/書き込み
適用可能な Outlook モード: 予定の主催者
エラー:
-
InvalidAttachmentId: 添付ファイル識別子は存在しません。