Office.RoamingSettings interface

RoamingSettings オブジェクトのメソッドを使用して作成された設定は、アドインごと、およびユーザーごとに保存されます。 つまり、それらが作成されたアドインでのみ使用でき、保存されているユーザーのメールボックスからのみ使用できます。

Outlook アドイン API では、これらの設定へのアクセスは、それらの設定を作成したアドインのみに制限しますが、これらの設定はセキュリティで保護されたストレージと見なすべきではありません。 これらの設定は、Exchange Web サービスや拡張 MAPI からアクセスできます。 ユーザー資格情報やセキュリティ トークンなどの機密情報を格納するために使用しないでください。

設定の名前は String ですが、値は String、Number、Boolean、null、Object、Array のいずれかになります。

RoamingSettings オブジェクトには、Office.context名前空間の roamingSettings プロパティを使用してアクセスできます。

RoamingSettings の詳細については、「Outlook アドインのアドイン メタデータを取得して設定する」を参照してください。

注釈

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

重要:

  • RoamingSettings オブジェクトは、アドインが最初に読み込まれたときにのみ、永続化されたストレージから初期化されます。 作業ウィンドウの場合、これは作業ウィンドウが最初に開いたときにのみ初期化されることを意味します。 作業ウィンドウが別のページに移動するか、現在のページを再読み込みした場合、アドインが変更を永続化した場合でも、メモリ内オブジェクトは初期値にリセットされます。 永続化された変更は、作業ウィンドウ (または UI レス アドインの場合はアイテム) が閉じられ、再度開くまで使用できません。

  • Outlook on Windows (新規 またはクラシック) または Mac で設定して保存した場合、これらの設定はブラウザーの更新後にのみ Outlook on the web に反映されます。

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

適用できる Outlook モード: 新規作成または読み取り

メソッド

get(name)

指定された設定を取得します。

remove(name)

指定された設定を削除します。

saveAsync(callback)

設定を保存します。

以前にアドインによって保存された設定は初期化時に読み込まれるので、セッションの有効期間中に set メソッドと get メソッドを使用して、settings プロパティ バッグのメモリ内コピーを操作できます。 次回アドインを使用するときに使用できるように設定を保持する場合は、 saveAsync メソッドを使用します。

set(name, value)

指定された設定を行うかまたは作成します。

set メソッドは、指定した名前がまだ存在しない場合は新しい設定を作成するか、指定した名前の既存の設定を設定します。 値は、そのデータ型のシリアル化された JSON 表現としてドキュメントに格納されます。

各アドインの設定には、最大 32 KB を使用できます。 コード 9057 のエラーは、そのサイズ制限を超えるとスローされます。

set メソッドを使用して設定に加えられた変更は、saveAsync メソッドが呼び出されるまでサーバーに保存されません。

メソッドの詳細

get(name)

指定された設定を取得します。

get(name: string): any;

パラメーター

name

string

The case-sensitive name of the setting to retrieve.

戻り値

any

型: String |数値 |Boolean |オブジェクト |配列

注釈

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

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

適用できる Outlook モード: 新規作成または読み取り

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/10-roaming-settings/roaming-settings.yaml

const settingName = $("#settingName").val();
const settingValue = Office.context.roamingSettings.get(settingName);
$("#settingValue").val(settingValue);
console.log(`The value of setting "${settingName}" is "${settingValue}".`);

remove(name)

指定された設定を削除します。

remove(name: string): void;

パラメーター

name

string

The case-sensitive name of the setting to remove.

戻り値

void

注釈

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

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

適用できる Outlook モード: 新規作成または読み取り

saveAsync(callback)

設定を保存します。

以前にアドインによって保存された設定は初期化時に読み込まれるので、セッションの有効期間中に set メソッドと get メソッドを使用して、settings プロパティ バッグのメモリ内コピーを操作できます。 次回アドインを使用するときに使用できるように設定を保持する場合は、 saveAsync メソッドを使用します。

saveAsync(callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

パラメーター

callback

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

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

戻り値

void

注釈

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

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

適用できる Outlook モード: 新規作成または読み取り

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/10-roaming-settings/roaming-settings.yaml

// Save settings in the mailbox to make it available in future sessions.
Office.context.roamingSettings.saveAsync(function(result) {
  if (result.status !== Office.AsyncResultStatus.Succeeded) {
    console.error(`Action failed with message ${result.error.message}`);
  } else {
    console.log(`Settings saved with status: ${result.status}`);
  }
});

set(name, value)

指定された設定を行うかまたは作成します。

set メソッドは、指定した名前がまだ存在しない場合は新しい設定を作成するか、指定した名前の既存の設定を設定します。 値は、そのデータ型のシリアル化された JSON 表現としてドキュメントに格納されます。

各アドインの設定には、最大 32 KB を使用できます。 コード 9057 のエラーは、そのサイズ制限を超えるとスローされます。

set メソッドを使用して設定に加えられた変更は、saveAsync メソッドが呼び出されるまでサーバーに保存されません。

set(name: string, value: any): void;

パラメーター

name

string

The case-sensitive name of the setting to set or create.

value

any

Specifies the value to be stored.

戻り値

void

注釈

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

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

適用できる Outlook モード: 新規作成または読み取り

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/10-roaming-settings/roaming-settings.yaml

const settingName = $("#settingName").val();
const settingValue = $("#settingValue").val();
Office.context.roamingSettings.set(settingName, settingValue);
console.log(`Setting "${settingName}" set to value "${settingValue}".`);