Office.AppointmentCompose interface

Office.context.mailbox.item の予定開催者モード。

重要: これは内部 Outlook オブジェクトであり、既存のインターフェイスを介して直接公開されることはありません。 これは のモード Office.context.mailbox.itemとして扱う必要があります。 詳細については、「 オブジェクト モデル 」ページを参照してください。

親インターフェイス:

Extends

プロパティ

body

アイテムの本文を操作するメソッドを提供するオブジェクトを取得します。

categories

アイテムのカテゴリを管理するためのメソッドを提供する オブジェクトを取得します。

end

予定が終了する日時を取得または設定します。

プロパティは end 、協定世界時 (UTC) の日付と時刻の値として表される Time オブジェクトです。 メソッドを convertToLocalClientTime 使用して、プロパティ値を end クライアントのローカルの日付と時刻に変換できます。

Time.setAsync メソッドを使用して終了時刻を設定する場合、convertToUtcClientTime メソッドを使用して、クライアント上のローカルの時刻をサーバーの UTC に変換する必要があります。

重要: Windows クライアントでは、このプロパティを使用して繰り返しの終了を更新することはできません。

enhancedLocation

予定の場所を取得または設定します。 プロパティは enhancedLocation 、項目の場所を取得、削除、または追加するメソッドを提供する EnhancedLocation オブジェクトを返します。

itemType

インスタンスが表しているアイテムの種類を取得します。

itemType プロパティは、ItemType 列挙値の 1 つを返します。これは item オブジェクト インスタンスがメッセージと予定のどちらであるかを示すものです。

location

予定の場所を取得または設定します。 プロパティは location 、予定の場所を取得および設定するために使用されるメソッドを提供する Location オブジェクトを返します。

notificationMessages

アイテムの通知メッセージを取得します。

optionalAttendees

イベントの任意出席者へのアクセスを提供します。 オブジェクトの種類とアクセス レベルは、現在の項目のモードによって異なります。

optionalAttendees プロパティは会議への任意出席者を取得または更新するためのメソッドを提供する Recipients オブジェクトを返します。 ただし、クライアント/プラットフォーム (Windows、Mac など) によっては、取得または更新できる受信者の数に制限が適用される場合があります。 詳細については、 Recipients オブジェクトを参照してください。

organizer

指定した会議の開催者を取得します。

プロパティはorganizer、開催者の値を取得するメソッドを提供する Organizer オブジェクトを返します。

recurrence

予定の繰り返しパターンを取得または設定します。

プロパティは recurrence 、アイテムが系列または系列のインスタンスである場合、定期的な予定または会議の要求の繰り返しオブジェクトを返します。 null は、単一の予定と単一の予定の会議出席依頼に対して返されます。

: 会議出席依頼の値IPM.Schedule.Meeting.RequestitemClass です。

: 繰り返しオブジェクトが null の場合、これは、オブジェクトが 1 つの予定または単一の予定の会議出席依頼であり、一連の一部ではないことを示します。

requiredAttendees

イベントの必須出席者へのアクセスを提供します。 オブジェクトの種類とアクセス レベルは、現在の項目のモードによって異なります。

requiredAttendees プロパティは会議への必須出席者を取得または更新するためのメソッドを提供する Recipients オブジェクトを返します。 ただし、クライアント/プラットフォーム (Windows、Mac など) によっては、取得または更新できる受信者の数に制限が適用される場合があります。 詳細については、 Recipients オブジェクトを参照してください。

seriesId

インスタンスが属する系列の ID を取得します。

Outlook on the webクライアントとデスクトップ クライアントでは、 プロパティはseriesId、このアイテムが属する親 (系列) アイテムの Exchange Web Services (EWS) ID を返します。 ただし、iOS と Android では、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 します。

start

予定を開始する日時を取得または設定します。

プロパティは start 、協定世界時 (UTC) の日付と時刻の値として表される Time オブジェクトです。 メソッドを convertToLocalClientTime 使用して、値をクライアントのローカルの日付と時刻に変換できます。

Time.setAsync メソッドを使用して開始時刻を設定する場合、convertToUtcClientTime メソッドを使用して、クライアント上のローカルの時刻をサーバーの UTC に変換する必要があります。

重要: Windows クライアントでは、このプロパティを使用して繰り返しの開始を更新することはできません。

subject

アイテムの件名フィールドに示される説明を取得または設定します。

subject プロパティは、電子メール サーバーによって送信されたアイテムの件名全体を取得または設定します。

subject プロパティは件名を取得および設定するためのメソッドを提供する Subject オブジェクトを返します。

メソッド

addFileAttachmentAsync(uri, attachmentName, options, callback)

ファイルを添付ファイルとしてメッセージまたは予定に追加します。

addFileAttachmentAsync メソッドは、指定した URI にあるファイルをアップロードし、新規作成フォーム内のアイテムに添付します。

その後、removeAttachmentAsync メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。

重要: Windows 上の Outlook の最近のビルドでは、ヘッダーを誤ってこのアクションに追加 Authorization: Bearer するバグが導入されました (この API を使用しているか、Outlook UI を使用しているか)。 この問題を回避するには、要件セット 1.8 で導入された API を使用 addFileAttachmentFromBase64 してみてください。

addFileAttachmentAsync(uri, attachmentName, callback)

ファイルを添付ファイルとしてメッセージまたは予定に追加します。

addFileAttachmentAsync メソッドは、指定した URI にあるファイルをアップロードし、新規作成フォーム内のアイテムに添付します。

その後、removeAttachmentAsync メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。

重要: Windows 上の Outlook の最近のビルドでは、ヘッダーを誤ってこのアクションに追加 Authorization: Bearer するバグが導入されました (この API を使用しているか、Outlook UI を使用しているか)。 この問題を回避するには、要件セット 1.8 で導入された API を使用 addFileAttachmentFromBase64 してみてください。

addFileAttachmentFromBase64Async(base64File, attachmentName, options, callback)

ファイルを添付ファイルとしてメッセージまたは予定に追加します。

メソッドは addFileAttachmentFromBase64Async 、Base64 エンコードからファイルをアップロードし、新規作成フォームの項目に添付します。 このメソッドは、 オブジェクト内の添付ファイル識別子を asyncResult.value 返します。

その後、removeAttachmentAsync メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。

: データ URL API (例: ) を使用している場合は、データ URL プレフィックスを取り除き、 readAsDataURL残りの文字列をこの API に送信する必要があります。 たとえば、完全な文字列が で data:image/svg+xml;base64,<rest of Base64 string>表される場合は、 を削除します data:image/svg+xml;base64,

addFileAttachmentFromBase64Async(base64File, attachmentName, callback)

ファイルを添付ファイルとしてメッセージまたは予定に追加します。

メソッドは addFileAttachmentFromBase64Async 、Base64 エンコードからファイルをアップロードし、新規作成フォームの項目に添付します。 このメソッドは、 オブジェクト内の添付ファイル識別子を asyncResult.value 返します。

その後、removeAttachmentAsync メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。

: データ URL API (例: ) を使用している場合は、データ URL プレフィックスを取り除き、 readAsDataURL残りの文字列をこの API に送信する必要があります。 たとえば、完全な文字列が で data:image/svg+xml;base64,<rest of Base64 string>表される場合は、 を削除します data:image/svg+xml;base64,

addHandlerAsync(eventType, handler, options, callback)

サポートされているイベントのイベント ハンドラーを追加します。 : イベントは、作業ウィンドウの実装でのみ使用できます。

サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。

addHandlerAsync(eventType, handler, callback)

サポートされているイベントのイベント ハンドラーを追加します。 : イベントは、作業ウィンドウの実装でのみ使用できます。

サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。

addItemAttachmentAsync(itemId, attachmentName, options, callback)

メッセージなどの Exchange アイテムを添付ファイルとして、メッセージまたは予定に追加します。

メソッドは addItemAttachmentAsync 、指定された Exchange 識別子を持つアイテムを compose フォームのアイテムにアタッチします。 コールバック関数を指定した場合、 メソッドは、 asyncResult添付ファイル識別子または項目のアタッチ中に発生したエラーを示すコードを含む 1 つのパラメーターを使用して呼び出されます。 パラメーターを options 使用して、必要に応じて状態情報をコールバック関数に渡すことができます。

その後、removeAttachmentAsync メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。

Office アドインを Outlook on the web で実行している場合、編集中のアイテム以外のアイテムに addItemAttachmentAsync メソッドでアイテムを添付できます。ただし、これはサポートされていないため、お勧めできません。

addItemAttachmentAsync(itemId, attachmentName, callback)

メッセージなどの Exchange アイテムを添付ファイルとして、メッセージまたは予定に追加します。

メソッドは addItemAttachmentAsync 、指定された Exchange 識別子を持つアイテムを compose フォームのアイテムにアタッチします。 コールバック関数を指定した場合、 メソッドは、 asyncResult添付ファイル識別子または項目のアタッチ中に発生したエラーを示すコードを含む 1 つのパラメーターを使用して呼び出されます。 パラメーターを options 使用して、必要に応じて状態情報をコールバック関数に渡すことができます。

その後、removeAttachmentAsync メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。

Office アドインを Outlook on the web で実行している場合、編集中のアイテム以外のアイテムに addItemAttachmentAsync メソッドでアイテムを添付できます。ただし、これはサポートされていないため、お勧めできません。

close()

作成中の現在の項目を閉じます。

close メソッドの動作は、作成中のアイテムの現在の状態によって異なります。 アイテムに未保存の変更がある場合、クライアントはアクションの保存、破棄、または閉じるようユーザーに求めます。

Outlook デスクトップ クライアントでは、 close メソッドは閲覧ウィンドウの返信には影響しません。

getAttachmentContentAsync(attachmentId, options, callback)

メッセージまたは予定から添付ファイルを取得し、オブジェクトとして AttachmentContent 返します。

メソッドは getAttachmentContentAsync 、指定した識別子を持つ添付ファイルをアイテムから取得します。 ベスト プラクティスとして、呼び出しから添付ファイルの識別子を getAttachmentsAsync 取得し、同じセッションでその識別子を使用して添付ファイルを取得する必要があります。 Outlook on the web とモバイル デバイスでは、添付ファイル識別子は同じセッション内でのみ有効です。 ユーザーがアプリを閉じると、またはユーザーがインライン フォームの作成を開始すると、その後フォームがポップアップ表示され、別のウィンドウで続行されます。

getAttachmentContentAsync(attachmentId, callback)

メッセージまたは予定から添付ファイルを取得し、オブジェクトとして AttachmentContent 返します。

メソッドは getAttachmentContentAsync 、指定した識別子を持つ添付ファイルをアイテムから取得します。 ベスト プラクティスとして、呼び出しから添付ファイルの識別子を getAttachmentsAsync 取得し、同じセッションでその識別子を使用して添付ファイルを取得する必要があります。 Outlook on the web とモバイル デバイスでは、添付ファイル識別子は同じセッション内でのみ有効です。 ユーザーがアプリを閉じると、またはユーザーがインライン フォームの作成を開始すると、その後フォームがポップアップ表示され、別のウィンドウで続行されます。

getAttachmentsAsync(options, callback)

項目の添付ファイルを配列として取得します。

getAttachmentsAsync(callback)

項目の添付ファイルを配列として取得します。

getInitializationContextAsync(options, callback)

操作可能なメッセージによってアドインがアクティブ化されたときに渡される初期化データを取得します

getInitializationContextAsync(callback)

操作可能なメッセージによってアドインがアクティブ化されたときに渡される初期化データを取得します

getItemIdAsync(options, callback)

保存済みアイテムの ID を非同期的に取得します。

呼び出されると、このメソッドはコールバック関数を使用して項目 ID を返します。

: アドインが作成モードでアイテムを呼び出す getItemIdAsync 場合 (EWS や REST API で を使用する itemId 場合など)、Outlook がキャッシュ モードの場合、アイテムがサーバーに同期されるまでに時間がかかる場合があることに注意してください。 アイテムが同期されるまで、 itemId は認識されず、使用するとエラーが返されます。

getItemIdAsync(callback)

保存済みアイテムの ID を非同期的に取得します。

呼び出されると、このメソッドはコールバック関数を使用して項目 ID を返します。

: アドインが作成モードでアイテムを呼び出す getItemIdAsync 場合 (EWS や REST API で を使用する itemId 場合など)、Outlook がキャッシュ モードの場合、アイテムがサーバーに同期されるまでに時間がかかる場合があることに注意してください。 アイテムが同期されるまで、 itemId は認識されず、使用するとエラーが返されます。

getSelectedDataAsync(coercionType, options, callback)

メッセージの件名または本文から非同期的に選択したデータを返します。

選択範囲がないのにカーソルが本文または件名にある場合、メソッドは選択したデータの空の文字列を返します。 本文または件名以外のフィールドが選択されている場合、InvalidSelection エラーが返されます。

コールバック関数から選択したデータにアクセスするには、 を呼び出します asyncResult.value.data。 選択範囲のsource取得元のプロパティにアクセスするには、 またはsubject を呼び出しますbodyasyncResult.value.sourceProperty

getSelectedDataAsync(coercionType, callback)

メッセージの件名または本文から非同期的に選択したデータを返します。

選択範囲がないのにカーソルが本文または件名にある場合、メソッドは選択したデータの空の文字列を返します。 本文または件名以外のフィールドが選択されている場合、InvalidSelection エラーが返されます。

コールバック関数から選択したデータにアクセスするには、 を呼び出します asyncResult.value.data。 選択範囲のsource取得元のプロパティにアクセスするには、 またはsubject を呼び出しますbodyasyncResult.value.sourceProperty

getSharedPropertiesAsync(options, callback)

共有フォルダーまたは共有メールボックス内の予定またはメッセージのプロパティを取得します。

この API の使用方法の詳細については、「Outlook アドインで共有フォルダーと共有メールボックスのシナリオを有効にする」を参照してください。

getSharedPropertiesAsync(callback)

共有フォルダーまたは共有メールボックス内の予定またはメッセージのプロパティを取得します。

この API の使用方法の詳細については、「Outlook アドインで共有フォルダーと共有メールボックスのシナリオを有効にする」を参照してください。

loadCustomPropertiesAsync(callback, userContext)

選択されたアイテムのこのアドインのカスタム プロパティを非同期に読み込みます。

カスタム プロパティは、アプリごとに項目ごとにキーと値のペアとして格納されます。 このメソッドはコールバックで CustomProperties オブジェクトを返します。これにより、現在のアイテムと現在のアドインに固有のカスタム プロパティにアクセスするメソッドが提供されます。 カスタム プロパティはアイテムで暗号化されないため、セキュリティで保護されたストレージとして使用しないでください。

カスタム プロパティは asyncResult.value プロパティの CustomProperties オブジェクトとして指定されます。 このオブジェクトを使用して、メール アイテムのカスタム プロパティを取得、設定、保存、および削除できます。

removeAttachmentAsync(attachmentId, options, callback)

メッセージまたは予定から添付ファイルを削除します。

removeAttachmentAsync メソッドは、指定した識別子の添付ファイルをアイテムから削除します。 ベスト プラクティスとして、同じメール アプリが同じセッションで添付ファイルを追加した場合にのみ、その添付ファイルの識別子を使用して添付ファイルを削除することをお勧めします。 Outlook on the web とモバイル デバイスでは、添付ファイル識別子は同じセッション内でのみ有効です。 ユーザーがアプリを閉じると、またはユーザーがインライン フォームの作成を開始すると、その後フォームがポップアップ表示され、別のウィンドウで続行されます。

removeAttachmentAsync(attachmentId, callback)

メッセージまたは予定から添付ファイルを削除します。

removeAttachmentAsync メソッドは、指定した識別子の添付ファイルをアイテムから削除します。 ベスト プラクティスとして、同じメール アプリが同じセッションで添付ファイルを追加した場合にのみ、その添付ファイルの識別子を使用して添付ファイルを削除することをお勧めします。 Outlook on the web とモバイル デバイスでは、添付ファイル識別子は同じセッション内でのみ有効です。 ユーザーがアプリを閉じると、またはユーザーがインライン フォームの作成を開始すると、その後フォームがポップアップ表示され、別のウィンドウで続行されます。

removeHandlerAsync(eventType, options, callback)

サポートされているイベントの種類のイベント ハンドラーを削除します。 : イベントは、作業ウィンドウの実装でのみ使用できます。

サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。

removeHandlerAsync(eventType, callback)

サポートされているイベントの種類のイベント ハンドラーを削除します。 : イベントは、作業ウィンドウの実装でのみ使用できます。

サポートされるイベントについては、「Item オブジェクト モデル のイベント」セクションを参照してください。

saveAsync(options, callback)

項目を非同期的に保存します。

予定には下書き状態がないため、作成モードで予定に対して呼び出された場合 saveAsync 、アイテムはユーザーの予定表に通常の予定として保存されます。 以前に保存されていない新しい予定の場合、招待は送信されません。 既存の予定の場合、追加または削除された出席者に更新が送信されます。

saveAsync(callback)

項目を非同期的に保存します。

予定には下書き状態がないため、作成モードで予定に対して呼び出された場合 saveAsync 、アイテムはユーザーの予定表に通常の予定として保存されます。 以前に保存されていない新しい予定の場合、招待は送信されません。 既存の予定の場合、追加または削除された出席者に更新が送信されます。

setSelectedDataAsync(data, options, callback)

メッセージの本文または件名に非同期的にデータを挿入します。

メソッドは setSelectedDataAsync 、指定した文字列を項目の件名または本文のカーソル位置に挿入するか、エディターでテキストが選択されている場合は、選択したテキストを置き換えます。 カーソルが本文または件名フィールドにない場合は、エラーが返されます。 挿入後、カーソルは挿入されたコンテンツの末尾に配置されます。

setSelectedDataAsync(data, callback)

メッセージの本文または件名に非同期的にデータを挿入します。

メソッドは setSelectedDataAsync 、指定した文字列を項目の件名または本文のカーソル位置に挿入するか、エディターでテキストが選択されている場合は、選択したテキストを置き換えます。 カーソルが本文または件名フィールドにない場合は、エラーが返されます。 挿入後、カーソルは挿入されたコンテンツの末尾に配置されます。

プロパティの詳細

body

アイテムの本文を操作するメソッドを提供するオブジェクトを取得します。

body: Body;

プロパティ値

注釈

[ API セット: メールボックス 1.1 ]

最小アクセス許可レベル: アイテムの読み取り

適用される 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;

プロパティ値

注釈

[ API セット: メールボックス 1.8 ]

最小アクセス許可レベル: アイテムの読み取り

適用される 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 モード: 予定オーガナイザー

// The following example sets the end time of an appointment in compose mode by
// using the `setAsync` method of the `Time` object.
const endTime = new Date("3/14/2015");
const options = {
    // Pass information that can be used in the callback.
    asyncContext: {verb: "Set"}
};
Office.context.mailbox.item.end.setAsync(endTime, options, function(result) {
    if (result.error) {
        console.debug(result.error);
    } else {
        // Access the asyncContext that was passed to the setAsync method.
        console.debug("End Time " + result.asyncContext.verb);
    }
});
// 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;
  }
  console.log(`Appointment ends: ${result.value}`);
});

...

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;

プロパティ値

注釈

[ API セット: メールボックス 1.8 ]

最小アクセス許可レベル: アイテムの読み取り

適用される 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}`);
  }
});

itemType

インスタンスが表しているアイテムの種類を取得します。

itemType プロパティは、ItemType 列挙値の 1 つを返します。これは item オブジェクト インスタンスがメッセージと予定のどちらであるかを示すものです。

itemType: 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 モード: 予定オーガナイザー

const userContext = { value : 1 };
Office.context.mailbox.item.location.getAsync( { context: userContext}, callback);

function callback(asyncResult) {
    const context = asyncResult.context;
    const location = asyncResult.value;
}
// 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;

プロパティ値

注釈

[ API セット: メールボックス 1.3 ]

最小アクセス許可レベル: アイテムの読み取り

適用される Outlook モード: 予定オーガナイザー

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/35-notifications/add-getall-remove.yaml

// Adds a progress indicator to the mail item.
const id = $("#notificationId").val().toString();
const details =
  {
    type: Office.MailboxEnums.ItemNotificationMessageType.ProgressIndicator,
    message: "Progress indicator with id = " + id
  };
Office.context.mailbox.item.notificationMessages.addAsync(id, details, handleResult);

...

// Adds an informational notification to the mail item.
const id = $("#notificationId").val().toString();
const details =
  {
    type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
    message: "Non-persistent informational notification message with id = " + id,
    icon: "icon1",
    persistent: false
  };
Office.context.mailbox.item.notificationMessages.addAsync(id, details, handleResult);

...

// Adds a persistent information notification to the mail item.
const id = $("#notificationId").val().toString();
const details =
  {
    type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
    message: "Persistent informational notification message with id = " + id,
    icon: "icon1",
    persistent: true
  };
Office.context.mailbox.item.notificationMessages.addAsync(id, details, handleResult);

...

// Gets all the notification messages and their keys for the current mail item.
Office.context.mailbox.item.notificationMessages.getAllAsync((asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    console.log(asyncResult.error.message);
    return;
  }

  console.log(asyncResult.value);
});

...

// Replaces a notification message of a given key with another message.
const id = $("#notificationId").val().toString();
Office.context.mailbox.item.notificationMessages.replaceAsync(
  id,
  {
    type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
    message: "Notification message with id = " + id + " has been replaced with an informational message.",
    icon: "icon2",
    persistent: false
  },
  handleResult);

...

// Removes a notification message from the current mail item.
const id = $("#notificationId").val().toString();
Office.context.mailbox.item.notificationMessages.removeAsync(id, handleResult);

optionalAttendees

イベントの任意出席者へのアクセスを提供します。 オブジェクトの種類とアクセス レベルは、現在の項目のモードによって異なります。

optionalAttendees プロパティは会議への任意出席者を取得または更新するためのメソッドを提供する Recipients オブジェクトを返します。 ただし、クライアント/プラットフォーム (Windows、Mac など) によっては、取得または更新できる受信者の数に制限が適用される場合があります。 詳細については、 Recipients オブジェクトを参照してください。

optionalAttendees: Recipients;

プロパティ値

注釈

最小アクセス許可レベル: アイテムの読み取り

適用される Outlook モード: 予定オーガナイザー

Office.context.mailbox.item.optionalAttendees.setAsync( ['alice@contoso.com', 'bob@contoso.com'] );
Office.context.mailbox.item.optionalAttendees.addAsync( ['jason@contoso.com'] );
Office.context.mailbox.item.optionalAttendees.getAsync(callback);

function callback(asyncResult) {
    const arrayOfOptionalAttendeesRecipients = asyncResult.value;
}
// 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 = $("#emailOptional")
  .val()
  .toString();
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;

プロパティ値

注釈

[ API セット: メールボックス 1.7 ]

最小アクセス許可レベル: 項目の読み取り/書き込み

適用される 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 は、単一の予定と単一の予定の会議出席依頼に対して返されます。

: 会議出席依頼の値IPM.Schedule.Meeting.RequestitemClass です。

: 繰り返しオブジェクトが null の場合、これは、オブジェクトが 1 つの予定または単一の予定の会議出席依頼であり、一連の一部ではないことを示します。

recurrence: Recurrence;

プロパティ値

注釈

[ API セット: メールボックス 1.7 ]

最小アクセス許可レベル: アイテムの読み取り

適用される 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 モード: 予定オーガナイザー

Office.context.mailbox.item.requiredAttendees.setAsync( ['alice@contoso.com', 'bob@contoso.com'] );
Office.context.mailbox.item.requiredAttendees.addAsync( ['jason@contoso.com'] );
Office.context.mailbox.item.requiredAttendees.getAsync(callback);

function callback(asyncResult) {
    const arrayOfRequiredAttendeesRecipients = asyncResult.value;
    console.log(JSON.stringify(arrayOfRequiredAttendeesRecipients));
}
// 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 = $("#emailRequired")
  .val()
  .toString();
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);
  }
});

seriesId

インスタンスが属する系列の ID を取得します。

Outlook on the webクライアントとデスクトップ クライアントでは、 プロパティはseriesId、このアイテムが属する親 (系列) アイテムの Exchange Web Services (EWS) ID を返します。 ただし、iOS と Android では、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

注釈

[ API セット: メールボックス 1.7 ]

最小アクセス許可レベル: アイテムの読み取り

適用される 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);
}

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;
  }
  console.log(`Appointment starts: ${result.value}`);
});

...

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 にあるファイルをアップロードし、新規作成フォーム内のアイテムに添付します。

その後、removeAttachmentAsync メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。

重要: Windows 上の Outlook の最近のビルドでは、ヘッダーを誤ってこのアクションに追加 Authorization: Bearer するバグが導入されました (この API を使用しているか、Outlook UI を使用しているか)。 この問題を回避するには、要件セット 1.8 で導入された API を使用 addFileAttachmentFromBase64 してみてください。

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

注釈

[ API セット: メールボックス 1.1 ]

最小アクセス許可レベル: 項目の読み取り/書き込み

適用される Outlook モード: 予定オーガナイザー

エラー:

  • AttachmentSizeExceeded: 添付ファイルが許可されているよりも大きい。

  • FileTypeNotSupported: 添付ファイルには、許可されていない拡張機能があります。

  • NumberOfAttachmentsExceeded: メッセージまたは予定に添付ファイルが多すぎます。

function callback(result) {
    if (result.error) {
        console.log(result.error);
    } else {
        console.log("Attachment added");
    }
}

function addAttachment() {
    // The values in asyncContext can be accessed in the callback.
    const options = { 'asyncContext': { var1: 1, var2: 2 } };

    const attachmentURL = "https://contoso.com/rtm/icon.png";
    Office.context.mailbox.item.addFileAttachmentAsync(attachmentURL, attachmentURL, options, callback);
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml

const attachmentUrl = $("#attachmentUrl").val();
Office.context.mailbox.item.addFileAttachmentAsync(
    attachmentUrl,
    getFileName(attachmentUrl),
    { "asyncContext" : { var1: 1, var2: true } },
    function(result) { console.log(result); });

addFileAttachmentAsync(uri, attachmentName, callback)

ファイルを添付ファイルとしてメッセージまたは予定に追加します。

addFileAttachmentAsync メソッドは、指定した URI にあるファイルをアップロードし、新規作成フォーム内のアイテムに添付します。

その後、removeAttachmentAsync メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。

重要: Windows 上の Outlook の最近のビルドでは、ヘッダーを誤ってこのアクションに追加 Authorization: Bearer するバグが導入されました (この API を使用しているか、Outlook UI を使用しているか)。 この問題を回避するには、要件セット 1.8 で導入された API を使用 addFileAttachmentFromBase64 してみてください。

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

注釈

[ API セット: メールボックス 1.1 ]

最小アクセス許可レベル: 項目の読み取り/書き込み

適用される Outlook モード: 予定オーガナイザー

エラー:

  • AttachmentSizeExceeded: 添付ファイルが許可されているよりも大きい。

  • FileTypeNotSupported: 添付ファイルには、許可されていない拡張機能があります。

  • NumberOfAttachmentsExceeded: メッセージまたは予定に添付ファイルが多すぎます。

addFileAttachmentFromBase64Async(base64File, attachmentName, options, callback)

ファイルを添付ファイルとしてメッセージまたは予定に追加します。

メソッドは addFileAttachmentFromBase64Async 、Base64 エンコードからファイルをアップロードし、新規作成フォームの項目に添付します。 このメソッドは、 オブジェクト内の添付ファイル識別子を asyncResult.value 返します。

その後、removeAttachmentAsync メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。

: データ URL API (例: ) を使用している場合は、データ URL プレフィックスを取り除き、 readAsDataURL残りの文字列をこの API に送信する必要があります。 たとえば、完全な文字列が で data:image/svg+xml;base64,<rest of Base64 string>表される場合は、 を削除します data:image/svg+xml;base64,

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

注釈

[ API セット: メールボックス 1.8 ]

最小アクセス許可レベル: 項目の読み取り/書き込み

適用される Outlook モード: 予定オーガナイザー

エラー:

  • AttachmentSizeExceeded: 添付ファイルが許可されているよりも大きい。

  • FileTypeNotSupported: 添付ファイルには、許可されていない拡張機能があります。

  • NumberOfAttachmentsExceeded: メッセージまたは予定に添付ファイルが多すぎます。

: 構成中のメッセージまたは予定の本文にインライン Base64 イメージを追加する場合は、 を使用してイメージを挿入する前に、 Office.context.mailbox.item.body.getAsync メソッドを使用して現在のアイテム本文を addFileAttachmentFromBase64Async取得する必要があります。 それ以外の場合、イメージは挿入後に本文にレンダリングされません。 詳細については、「ファイルを添付する」を参照してください。

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml

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 },
    function(result) { console.log(result); });

...

// 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 = $("#signature").val() + "<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 メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。

: データ URL API (例: ) を使用している場合は、データ URL プレフィックスを取り除き、 readAsDataURL残りの文字列をこの API に送信する必要があります。 たとえば、完全な文字列が で data:image/svg+xml;base64,<rest of Base64 string>表される場合は、 を削除します data:image/svg+xml;base64,

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

注釈

[ API セット: メールボックス 1.8 ]

最小アクセス許可レベル: 項目の読み取り/書き込み

適用される Outlook モード: 予定オーガナイザー

エラー:

  • AttachmentSizeExceeded: 添付ファイルが許可されているよりも大きい。

  • FileTypeNotSupported: 添付ファイルには、許可されていない拡張機能があります。

  • NumberOfAttachmentsExceeded: メッセージまたは予定に添付ファイルが多すぎます。

: 構成中のメッセージまたは予定の本文にインライン Base64 イメージを追加する場合は、 を使用してイメージを挿入する前に、 Office.context.mailbox.item.body.getAsync メソッドを使用して現在のアイテム本文を addFileAttachmentFromBase64Async取得する必要があります。 それ以外の場合、イメージは挿入後に本文にレンダリングされません。 詳細については、「ファイルを添付する」を参照してください。

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渡された関数が、 オブジェクトである 1 つのパラメーターasyncResultOffice.AsyncResultで呼び出されます。

戻り値

void

注釈

[ API セット: メールボックス 1.7 ]

最小アクセス許可レベル: アイテムの読み取り

適用される 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渡された関数が、 オブジェクトである 1 つのパラメーターasyncResultOffice.AsyncResultで呼び出されます。

戻り値

void

注釈

[ API セット: メールボックス 1.7 ]

最小アクセス許可レベル: アイテムの読み取り

適用される Outlook モード: 予定オーガナイザー

addItemAttachmentAsync(itemId, attachmentName, options, callback)

メッセージなどの Exchange アイテムを添付ファイルとして、メッセージまたは予定に追加します。

メソッドは addItemAttachmentAsync 、指定された Exchange 識別子を持つアイテムを compose フォームのアイテムにアタッチします。 コールバック関数を指定した場合、 メソッドは、 asyncResult添付ファイル識別子または項目のアタッチ中に発生したエラーを示すコードを含む 1 つのパラメーターを使用して呼び出されます。 パラメーターを options 使用して、必要に応じて状態情報をコールバック関数に渡すことができます。

その後、removeAttachmentAsync メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。

Office アドインを Outlook on the web で実行している場合、編集中のアイテム以外のアイテムに 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

注釈

[ API セット: メールボックス 1.1 ]

最小アクセス許可レベル: 項目の読み取り/書き込み

適用される Outlook モード: 予定オーガナイザー

エラー:

  • NumberOfAttachmentsExceeded: メッセージまたは予定に添付ファイルが多すぎます。

// The following example adds an existing Outlook item as an attachment
// with the name `My Attachment`.
function callback(result) {
    if (result.error) {
        console.log(result.error);
    } else {
        console.log("Attachment added");
    }
}

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, callback);
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml

const attachmentItemId = $("#attachmentItemId").val();
Office.context.mailbox.item.addItemAttachmentAsync(
    attachmentItemId,
    "My attachment",
    { "asyncContext" : { var3: 3, var4: false } },
    function(result) { console.log(result); });

addItemAttachmentAsync(itemId, attachmentName, callback)

メッセージなどの Exchange アイテムを添付ファイルとして、メッセージまたは予定に追加します。

メソッドは addItemAttachmentAsync 、指定された Exchange 識別子を持つアイテムを compose フォームのアイテムにアタッチします。 コールバック関数を指定した場合、 メソッドは、 asyncResult添付ファイル識別子または項目のアタッチ中に発生したエラーを示すコードを含む 1 つのパラメーターを使用して呼び出されます。 パラメーターを options 使用して、必要に応じて状態情報をコールバック関数に渡すことができます。

その後、removeAttachmentAsync メソッドで識別子を使用して同じセッションの添付ファイルを削除できます。

Office アドインを Outlook on the web で実行している場合、編集中のアイテム以外のアイテムに 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

注釈

[ API セット: メールボックス 1.1 ]

最小アクセス許可レベル: 項目の読み取り/書き込み

適用される Outlook モード: 予定オーガナイザー

エラー:

  • NumberOfAttachmentsExceeded: メッセージまたは予定に添付ファイルが多すぎます。

close()

作成中の現在の項目を閉じます。

close メソッドの動作は、作成中のアイテムの現在の状態によって異なります。 アイテムに未保存の変更がある場合、クライアントはアクションの保存、破棄、または閉じるようユーザーに求めます。

Outlook デスクトップ クライアントでは、 close メソッドは閲覧ウィンドウの返信には影響しません。

close(): void;

戻り値

void

注釈

[ API セット: メールボックス 1.3 ]

最小アクセス許可レベル: 制限

適用される Outlook モード: 予定オーガナイザー

重要: Outlook on the webで、アイテムが予定であり、以前に を使用して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();

getAttachmentContentAsync(attachmentId, options, callback)

メッセージまたは予定から添付ファイルを取得し、オブジェクトとして AttachmentContent 返します。

メソッドは getAttachmentContentAsync 、指定した識別子を持つ添付ファイルをアイテムから取得します。 ベスト プラクティスとして、呼び出しから添付ファイルの識別子を getAttachmentsAsync 取得し、同じセッションでその識別子を使用して添付ファイルを取得する必要があります。 Outlook on the web とモバイル デバイスでは、添付ファイル識別子は同じセッション内でのみ有効です。 ユーザーがアプリを閉じると、またはユーザーがインライン フォームの作成を開始すると、その後フォームがポップアップ表示され、別のウィンドウで続行されます。

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渡された関数が、 オブジェクトである 1 つのパラメーターasyncResultOffice.AsyncResultで呼び出されます。 呼び出しが失敗した場合、 asyncResult.error エラーの原因を示すエラー コードがプロパティに含まれます。

戻り値

void

注釈

[ API セット: メールボックス 1.8 ]

最小アクセス許可レベル: アイテムの読み取り

適用される Outlook モード: 予定オーガナイザー

エラー:

  • 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.
const options = { asyncContext: { currentItem: item } };
// The getAttachmentsAsync call can only be used in compose mode.
item.getAttachmentsAsync(options, callback);

function callback(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.
    result.asyncContext.currentItem.getAttachmentContentAsync(result.value[i].id, handleAttachmentsCallback);
  }
}

getAttachmentContentAsync(attachmentId, callback)

メッセージまたは予定から添付ファイルを取得し、オブジェクトとして AttachmentContent 返します。

メソッドは getAttachmentContentAsync 、指定した識別子を持つ添付ファイルをアイテムから取得します。 ベスト プラクティスとして、呼び出しから添付ファイルの識別子を getAttachmentsAsync 取得し、同じセッションでその識別子を使用して添付ファイルを取得する必要があります。 Outlook on the web とモバイル デバイスでは、添付ファイル識別子は同じセッション内でのみ有効です。 ユーザーがアプリを閉じると、またはユーザーがインライン フォームの作成を開始すると、その後フォームがポップアップ表示され、別のウィンドウで続行されます。

getAttachmentContentAsync(attachmentId: string, callback?: (asyncResult: Office.AsyncResult<AttachmentContent>) => void): void;

パラメーター

attachmentId

string

取得する添付ファイルの識別子。

callback

(asyncResult: Office.AsyncResult<Office.AttachmentContent>) => void

オプション。 メソッドが完了すると、 パラメーターでcallback渡された関数が、 オブジェクトである 1 つのパラメーターasyncResultOffice.AsyncResultで呼び出されます。 呼び出しが失敗した場合、 asyncResult.error エラーの原因を示すエラー コードがプロパティに含まれます。

戻り値

void

注釈

[ API セット: メールボックス 1.8 ]

最小アクセス許可レベル: アイテムの読み取り

適用される Outlook モード: 予定オーガナイザー

エラー:

  • 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

注釈

[ API セット: メールボックス 1.8 ]

最小アクセス許可レベル: アイテムの読み取り

適用される Outlook モード: 予定オーガナイザー

// 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(function (result) {
    if (result.status !== Office.AsyncResultStatus.Succeeded) {
        console.error(result.error.message);
    } else {
        if (result.value.length > 0) {
            for (let i = 0; i < result.value.length; i++) {
                const attachment = result.value[i];
                console.log("ID: " + attachment.id + "\n" +
                    "Name: " + attachment.name + "\n" +
                    "Size: " + attachment.size + "\n" +
                    "isInline: " + attachment.isInline);
                switch (attachment.attachmentType) {
                    case Office.MailboxEnums.AttachmentType.Cloud:
                        console.log("Attachment type: Attachment is stored in a cloud location.");
                        break;
                    case Office.MailboxEnums.AttachmentType.File:
                        console.log("Attachment type: Attachment is a file.");
                        break;
                    case Office.MailboxEnums.AttachmentType.Item:
                        console.log("Attachment type: Attachment is an Exchange item.");
                        break;
                }
            }
        }
        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

注釈

[ API セット: メールボックス 1.8 ]

最小アクセス許可レベル: アイテムの読み取り

適用される Outlook モード: 予定オーガナイザー

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

注釈

[ API セット: メールボックス 1.8 ]

最小アクセス許可レベル: アイテムの読み取り

適用される 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

注釈

[ API セット: メールボックス 1.8 ]

最小アクセス許可レベル: アイテムの読み取り

適用される Outlook モード: 予定オーガナイザー

getItemIdAsync(options, callback)

保存済みアイテムの ID を非同期的に取得します。

呼び出されると、このメソッドはコールバック関数を使用して項目 ID を返します。

: アドインが作成モードでアイテムを呼び出す getItemIdAsync 場合 (EWS や REST API で を使用する itemId 場合など)、Outlook がキャッシュ モードの場合、アイテムがサーバーに同期されるまでに時間がかかる場合があることに注意してください。 アイテムが同期されるまで、 itemId は認識されず、使用するとエラーが返されます。

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 つのパラメーターで呼び出されます。

戻り値

void

注釈

[ API セット: メールボックス 1.8 ]

最小アクセス許可レベル: アイテムの読み取り

適用される Outlook モード: 予定オーガナイザー

エラー:

  • ItemNotSaved: 項目が保存されるまで ID を取得できません。

getItemIdAsync(callback)

保存済みアイテムの ID を非同期的に取得します。

呼び出されると、このメソッドはコールバック関数を使用して項目 ID を返します。

: アドインが作成モードでアイテムを呼び出す getItemIdAsync 場合 (EWS や REST API で を使用する itemId 場合など)、Outlook がキャッシュ モードの場合、アイテムがサーバーに同期されるまでに時間がかかる場合があることに注意してください。 アイテムが同期されるまで、 itemId は認識されず、使用するとエラーが返されます。

getItemIdAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;

パラメーター

callback

(asyncResult: Office.AsyncResult<string>) => void

メソッドが完了すると、 パラメーターで callback 渡された関数が、 型 Office.AsyncResultの 1 つのパラメーターで呼び出されます。

戻り値

void

注釈

[ API セット: メールボックス 1.8 ]

最小アクセス許可レベル: アイテムの読み取り

適用される Outlook モード: 予定オーガナイザー

エラー:

  • ItemNotSaved: 項目が保存されるまで ID を取得できません。

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-and-service-calls/item-id-compose.yaml

Office.context.mailbox.item.getItemIdAsync(function (result) {
    if (result.status !== Office.AsyncResultStatus.Succeeded) {
        console.error(`getItemIdAsync failed with message: ${result.error.message}`);
    } else {
        console.log(result.value);
    }
});

getSelectedDataAsync(coercionType, options, callback)

メッセージの件名または本文から非同期的に選択したデータを返します。

選択範囲がないのにカーソルが本文または件名にある場合、メソッドは選択したデータの空の文字列を返します。 本文または件名以外のフィールドが選択されている場合、InvalidSelection エラーが返されます。

コールバック関数から選択したデータにアクセスするには、 を呼び出します asyncResult.value.data。 選択範囲のsource取得元のプロパティにアクセスするには、 またはsubject を呼び出しますbodyasyncResult.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形式の文字列として選択されたデータ。

注釈

[ API セット: メールボックス 1.2 ]

最小アクセス許可レベル: アイテムの読み取り

適用される Outlook モード: 予定オーガナイザー

// Get selected data.
Office.initialize = function () {
    Office.context.mailbox.item.getSelectedDataAsync(Office.CoercionType.Text, {}, 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取得元のプロパティにアクセスするには、 またはsubject を呼び出しますbodyasyncResult.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形式の文字列として選択されたデータ。

注釈

[ API セット: メールボックス 1.2 ]

最小アクセス許可レベル: アイテムの読み取り

適用される 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渡された関数が、 オブジェクトである 1 つのパラメーターasyncResultOffice.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

if (!Office.context.mailbox.item.getSharedPropertiesAsync) {
  console.error("Try this sample on an appointment from a shared folder.");
  return;
}

Office.context.mailbox.getCallbackTokenAsync({ isRest: true }, function(result) {
  if (result.status === Office.AsyncResultStatus.Succeeded && result.value !== "") {
    Office.context.mailbox.item.getSharedPropertiesAsync(
      {
        // Pass auth token along.
        asyncContext: result.value
      },
      function(result2) {
        let sharedProperties = result2.value;
        let delegatePermissions = sharedProperties.delegatePermissions;

        // Determine if user has the appropriate permission to do the operation.
        if ((delegatePermissions & Office.MailboxEnums.DelegatePermissions.Read) != 0) {
          const ewsId = Office.context.mailbox.item.itemId;
          const restId = Office.context.mailbox.convertToRestId(ewsId, Office.MailboxEnums.RestVersion.v2_0);
          let rest_url =
            sharedProperties.targetRestUrl + "/v2.0/users/" + sharedProperties.targetMailbox + "/events/" + restId;

          $.ajax({
            url: rest_url,
            dataType: "json",
            headers: { Authorization: "Bearer " + result2.asyncContext }
          })
            .done(function(response) {
              console.log(response);
            })
            .fail(function(error) {
              console.error(error);
            });
        }
      }
    );
  }
});

getSharedPropertiesAsync(callback)

共有フォルダーまたは共有メールボックス内の予定またはメッセージのプロパティを取得します。

この API の使用方法の詳細については、「Outlook アドインで共有フォルダーと共有メールボックスのシナリオを有効にする」を参照してください。

getSharedPropertiesAsync(callback: (asyncResult: Office.AsyncResult<SharedProperties>) => void): void;

パラメーター

callback

(asyncResult: Office.AsyncResult<Office.SharedProperties>) => void

メソッドが完了すると、 パラメーターでcallback渡された関数が、 オブジェクトである 1 つのパラメーターasyncResultOffice.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

if (!Office.context.mailbox.item.getSharedPropertiesAsync) {
  console.error("Try this sample on an item from a shared folder.");
  return;
}

Office.context.mailbox.item.getSharedPropertiesAsync(function(result) {
  console.log(result.value);
});

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

注釈

[ API セット: メールボックス 1.1 ]

カスタム プロパティの詳細については、「Outlook アドインのアドイン メタデータを取得して設定する」を参照してください。

最小アクセス許可レベル: アイテムの読み取り

適用される Outlook モード: 予定オーガナイザー

// The following example shows how to use the loadCustomPropertiesAsync method
// to asynchronously load custom properties that are specific to the current item.
// The example also shows how to use the saveAsync method to save these properties
// back to the server. After loading the custom properties, the example uses the
// get method to read the custom property myProp, the set method to write the
// custom property otherProp, and then finally calls the saveAsync method to save
// the custom properties.
Office.initialize = function () {
    // Checks for the DOM to load using the jQuery ready method.
    $(document).ready(function () {
        // After the DOM is loaded, add-in-specific code can run.
        const mailbox = Office.context.mailbox;
        mailbox.item.loadCustomPropertiesAsync(customPropsCallback);
    });
};

function customPropsCallback(asyncResult) {
    const customProps = asyncResult.value;
    const myProp = customProps.get("myProp");

    customProps.set("otherProp", "value");
    customProps.saveAsync(saveCallback);
}

function saveCallback(asyncResult) {
}
// 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(function (result) {
  if (result.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Loaded following custom properties:");
    customProps = result.value;
    const dataKey = Object.keys(customProps)[0];
    const data = customProps[dataKey];
    for (let propertyName in data)
    {
      let propertyValue = data[propertyName];
      console.log(`${propertyName}: ${propertyValue}`);
    }              
  }
  else {
    console.error(`loadCustomPropertiesAsync failed with message ${result.error.message}`);
  }
});

removeAttachmentAsync(attachmentId, options, callback)

メッセージまたは予定から添付ファイルを削除します。

removeAttachmentAsync メソッドは、指定した識別子の添付ファイルをアイテムから削除します。 ベスト プラクティスとして、同じメール アプリが同じセッションで添付ファイルを追加した場合にのみ、その添付ファイルの識別子を使用して添付ファイルを削除することをお勧めします。 Outlook on the web とモバイル デバイスでは、添付ファイル識別子は同じセッション内でのみ有効です。 ユーザーがアプリを閉じると、またはユーザーがインライン フォームの作成を開始すると、その後フォームがポップアップ表示され、別のウィンドウで続行されます。

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

注釈

[ API セット: メールボックス 1.1 ]

最小アクセス許可レベル: 項目の読み取り/書き込み

適用される Outlook モード: 予定オーガナイザー

エラー:

  • InvalidAttachmentId: 添付ファイル識別子が存在しません。

// The following code removes an attachment with an identifier of '0'.
Office.context.mailbox.item.removeAttachmentAsync(
    '0',
    { asyncContext : null },
    function (asyncResult)
    {
        console.log(asyncResult.status);
    }
);
// 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(
    $("#attachmentId").val(),
    { asyncContext : null },
    function(result)
    {
        if (result.status !== Office.AsyncResultStatus.Succeeded) {
            console.error(`${result.error.message}`);
        } else {
            console.log(`Attachment removed successfully.`);
        }
    }
);

removeAttachmentAsync(attachmentId, callback)

メッセージまたは予定から添付ファイルを削除します。

removeAttachmentAsync メソッドは、指定した識別子の添付ファイルをアイテムから削除します。 ベスト プラクティスとして、同じメール アプリが同じセッションで添付ファイルを追加した場合にのみ、その添付ファイルの識別子を使用して添付ファイルを削除することをお勧めします。 Outlook on the web とモバイル デバイスでは、添付ファイル識別子は同じセッション内でのみ有効です。 ユーザーがアプリを閉じると、またはユーザーがインライン フォームの作成を開始すると、その後フォームがポップアップ表示され、別のウィンドウで続行されます。

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

注釈

[ API セット: メールボックス 1.1 ]

最小アクセス許可レベル: 項目の読み取り/書き込み

適用される Outlook モード: 予定オーガナイザー

エラー:

  • 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渡された関数が、 オブジェクトである 1 つのパラメーターasyncResultOffice.AsyncResultで呼び出されます。

戻り値

void

注釈

[ API セット: メールボックス 1.7 ]

最小アクセス許可レベル: アイテムの読み取り

適用される 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渡された関数が、 オブジェクトである 1 つのパラメーターasyncResultOffice.AsyncResultで呼び出されます。

戻り値

void

注釈

[ API セット: メールボックス 1.7 ]

最小アクセス許可レベル: アイテムの読み取り

適用される Outlook モード: 予定オーガナイザー

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渡された関数が、 オブジェクトである 1 つのパラメーターasyncResultOffice.AsyncResultで呼び出されます。 予定 ID が プロパティに asyncResult.value 返されます。

戻り値

void

注釈

[ API セット: メールボックス 1.3 ]

最小アクセス許可レベル: 項目の読み取り/書き込み

適用される Outlook モード: 予定オーガナイザー

重要:

  • Outlook on the web またはオンライン モードの Outlook では、サーバーにアイテムが保存されます。 キャッシュ モードの Outlook では、ローカル キャッシュにアイテムが保存されます。

  • HTML 形式のコンテンツを操作する場合は、Outlook クライアントがコンテンツを変更する可能性があることに注意することが重要です。 つまり、、 などのBody.getAsyncBody.setAsyncメソッドに対する後続の呼び出しではsaveAsync、同じコンテンツが生成されない可能性があります。

  • EWS または REST API で使用するアイテム ID を取得するために、アドインが作成モードでアイテムを呼び出 saveAsync す場合は、Outlook がキャッシュ モードの場合、アイテムが実際にサーバーに同期されるまでに時間がかかる場合があることに注意してください。 アイテムが同期されるまで、アイテム ID を使用するとエラーが返されます。

  • Outlook on Mac では、会議の保存をサポートするのはビルド 16.35.308 以降のみです。 それ以外の 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渡された関数が、 オブジェクトである 1 つのパラメーターasyncResultOffice.AsyncResultで呼び出されます。 予定 ID が プロパティに asyncResult.value 返されます。

戻り値

void

注釈

[ API セット: メールボックス 1.3 ]

最小アクセス許可レベル: 項目の読み取り/書き込み

適用される Outlook モード: 予定オーガナイザー

重要:

  • Outlook on the web またはオンライン モードの Outlook では、サーバーにアイテムが保存されます。 キャッシュ モードの Outlook では、ローカル キャッシュにアイテムが保存されます。

  • HTML 形式のコンテンツを操作する場合は、Outlook クライアントがコンテンツを変更する可能性があることに注意することが重要です。 つまり、、 などのBody.getAsyncBody.setAsyncメソッドに対する後続の呼び出しではsaveAsync、同じコンテンツが生成されない可能性があります。

  • EWS または REST API で使用するアイテム ID を取得するために、アドインが作成モードでアイテムを呼び出 saveAsync す場合は、Outlook がキャッシュ モードの場合、アイテムが実際にサーバーに同期されるまでに時間がかかる場合があることに注意してください。 アイテムが同期されるまで、アイテム ID を使用するとエラーが返されます。

  • Outlook on Mac では、会議の保存をサポートするのはビルド 16.35.308 以降のみです。 それ以外の 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"
}

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 例外がスローされます。

options

Office.AsyncContextOptions & Office.CoercionTypeOptions

次のプロパティの 1 つ以上を含むオブジェクト リテラル:- asyncContext: 開発者は、コールバック関数でアクセスする任意のオブジェクトを指定できます。 coercionType: テキストの場合、現在のスタイルがOutlook on the webと Windows に適用されます。 フィールドが HTML エディターの場合、データが HTML の場合でもテキスト データのみが挿入されます。 html とフィールドで HTML がサポートされている場合 (件名はサポートされていません)、現在のスタイルはOutlook on the webで適用され、既定のスタイルはデスクトップ クライアントの Outlook で適用されます。 フィールドがテキスト フィールドの場合、InvalidDataFormat エラーが返されます。 coercionType が設定されていない場合、結果はフィールドによって変わります。フィールドが HTML の場合は HTML が使用されます。フィールドがテキストの場合はプレーン テキストが使用されます。

callback

(asyncResult: Office.AsyncResult<void>) => void

オプション。 メソッドが完了すると、 パラメーターで callback 渡された関数が、 型 Office.AsyncResultの 1 つのパラメーターで呼び出されます。

戻り値

void

注釈

[ API セット: メールボックス 1.2 ]

最小アクセス許可レベル: 項目の読み取り/書き込み

適用される 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

注釈

[ API セット: メールボックス 1.2 ]

最小アクセス許可レベル: 項目の読み取り/書き込み

適用される Outlook モード: 予定オーガナイザー

エラー:

  • InvalidAttachmentId: 添付ファイル識別子が存在しません。