次の方法で共有


Office.DevicePermission interface

アドインがデバイス機能にアクセスするためのアクセス許可をユーザーに要求するためのメソッドを提供します。 ユーザーのデバイス機能には、カメラ、位置情報、マイクが含まれます。

注釈

アプリケーション: この API は、Microsoft Edge や Google Chrome などの Chromium ベースのブラウザーで実行する場合、次の Office アプリケーションでサポートされます。

  • Excel on the web

  • Outlook on the web

  • PowerPoint on the web

  • Word on the web

新しい Outlook on Windows (プレビュー) でもサポートされています。

要件セット: DevicePermission 1.1

メソッド

requestPermissions(permissions)

カメラやマイクなどのデバイス機能にアクセスするためのアクセス許可をユーザーに要求します。

要求されたすべてのアクセス許可は、ユーザーに対する 1 つのモーダル ダイアログに表示されます。 ダイアログには、要求されたアクセス許可を 許可許可 1 回、または 拒否 するオプションが含まれています。

このメソッドは promise を返します。 Excel、PowerPoint、Word アドインで使用します。

requestPermissionsAsync(permissions, options, callback)

カメラ、位置情報、マイクなどのデバイス機能にアクセスするためのアクセス許可をユーザーに要求します。

要求されたすべてのアクセス許可は、ユーザーに対する 1 つのモーダル ダイアログに表示されます。 ダイアログには、要求されたアクセス許可を 許可許可 1 回、または 拒否 するオプションが含まれています。

このメソッドはコールバック関数を受け入れます。 Outlook アドインで使用します。

requestPermissionsAsync(permissions, callback)

カメラ、位置情報、マイクなどのデバイス機能にアクセスするためのアクセス許可をユーザーに要求します。

要求されたすべてのアクセス許可は、ユーザーに対する 1 つのモーダル ダイアログに表示されます。 ダイアログには、要求されたアクセス許可を 許可許可 1 回、または 拒否 するオプションが含まれています。

このメソッドはコールバック関数を受け入れます。 Outlook アドインで使用します。

メソッドの詳細

requestPermissions(permissions)

カメラやマイクなどのデバイス機能にアクセスするためのアクセス許可をユーザーに要求します。

要求されたすべてのアクセス許可は、ユーザーに対する 1 つのモーダル ダイアログに表示されます。 ダイアログには、要求されたアクセス許可を 許可許可 1 回、または 拒否 するオプションが含まれています。

このメソッドは promise を返します。 Excel、PowerPoint、Word アドインで使用します。

requestPermissions(permissions: Office.DevicePermissionType[]): Promise<boolean>;

パラメーター

permissions

Office.DevicePermissionType[]

アドインがアクセスを要求しているデバイス機能の配列。 Excel、PowerPoint、Wordの Web バージョンでは、アドインはユーザーのカメラとマイクへのアクセスのみを要求できます。 ユーザーの位置情報へのアクセスがブロックされます。

戻り値

Promise<boolean>

注釈

重要:

  • このメソッドは、Outlook アドインではサポートされていません。代わりに メソッドを requestPermissionsAsync 使用します。

  • アドインが Office on the web と Office デスクトップ クライアントの両方に同じコードを使用している場合は、 を呼び出すrequestPermissions前に、アドインが実行されているプラットフォームを確認します。 Office.context.platform を使用し、 が返されることを確認しますOffice.PlatformType.OfficeOnline。 それ以外の requestPermissions 場合、呼び出しはエラーを返します。

  • ユーザーがカメラまたはマイクへのアクセスを許可する場合、アクセス許可を有効にするには、ブラウザーでアドインを再読み込みする必要があります。 たとえば、 を呼び出 window.location.reload() してアドインを再読み込みできます。

  • ユーザーがダイアログから [許可 ] を選択した場合、アドインがアンインストールされるまで、またはアドインが実行されているブラウザーのキャッシュがクリアされるまで、アクセス許可は保持されます。 ユーザーがアドインのカメラまたはマイクへのアクセスを変更する場合は、アドインをアンインストールするか、ブラウザー キャッシュをクリアする必要があります。

  • ユーザーがダイアログから [1 回許可] を選択した場合、アクセス許可は、アドインが実行されているブラウザー タブまたはウィンドウが閉じられるまで保持されます。

  • ユーザーがダイアログから [拒否 ] を選択した場合、次回アドインでユーザーのデバイス機能へのアクセスが必要になると、ユーザーにアクセス許可が再度要求されます。

// Request permission from a user to access their camera and microphone.
if (Office.context.platform === Office.PlatformType.OfficeOnline) {
    const deviceCapabilities = [
        Office.DevicePermissionType.camera,
        Office.DevicePermissionType.microphone
    ];
    Office.devicePermission
        .requestPermissions(deviceCapabilities)
        .then((isGranted) => {
            if (isGranted) {
                console.log("Permission granted.");

                // Do something when permission is granted.
            } else {
                console.log("Permission denied.");

                // Do something when permission is denied.
            }
        });
}

requestPermissionsAsync(permissions, options, callback)

カメラ、位置情報、マイクなどのデバイス機能にアクセスするためのアクセス許可をユーザーに要求します。

要求されたすべてのアクセス許可は、ユーザーに対する 1 つのモーダル ダイアログに表示されます。 ダイアログには、要求されたアクセス許可を 許可許可 1 回、または 拒否 するオプションが含まれています。

このメソッドはコールバック関数を受け入れます。 Outlook アドインで使用します。

requestPermissionsAsync(permissions: Office.DevicePermissionType[], options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<boolean>) => void): void;

パラメーター

permissions

Office.DevicePermissionType[]

アドインがアクセスを要求しているデバイス機能の配列。 Outlook on the webアドインは、ユーザーのカメラ、位置情報、マイクへのアクセスを要求できます。

options
Office.AsyncContextOptions

プロパティを含む asyncContext オブジェクト リテラル。 コールバック関数でアクセスするオブジェクトを プロパティに asyncContext 割り当てます。

callback

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

メソッドが完了すると、 パラメーターでcallback渡された関数が、 オブジェクトである 1 つのパラメーターasyncResultOffice.AsyncResultで呼び出されます。 ユーザーが要求されたデバイス機能にアクセスするためのアクセス許可を付与した場合は、 true プロパティで が asyncResult.value 返されます。

戻り値

void

注釈

重要:

  • Excel、PowerPoint、Word アドインの場合は、代わりに メソッドをrequestPermissions使用します。

  • ユーザーがカメラ、位置情報、マイクへのアクセスを許可する場合、アクセス許可を有効にするには、ブラウザーでアドインを再読み込みする必要があります。 たとえば、 を呼び出 window.location.reload() してアドインを再読み込みできます。

  • アドインが Office on the web と Office デスクトップ クライアントの両方に同じコードを使用している場合は、 を呼び出すrequestPermissionsAsync前に、アドインが実行されているプラットフォームを確認します。 Office.context.mailbox.診断 を使用します。hostName を取得し、 が返されることを確認しますOutlookWebApp。 それ以外の requestPermissionsAsync 場合、呼び出しはエラーを返します。

  • ユーザーがダイアログから [許可 ] を選択した場合、アドインがアンインストールされるまで、またはアドインが実行されているブラウザーのキャッシュがクリアされるまで、アクセス許可は保持されます。 ユーザーがアドインのカメラまたはマイクへのアクセスを変更する場合は、アドインをアンインストールするか、ブラウザー キャッシュをクリアする必要があります。

  • ユーザーがダイアログから [1 回許可] を選択した場合、アクセス許可は、アドインが実行されているブラウザー タブまたはウィンドウが閉じられるまで保持されます。

  • ユーザーがダイアログから [拒否 ] を選択した場合、次回アドインでユーザーのデバイス機能へのアクセスが必要になると、ユーザーにアクセス許可が再度要求されます。

  • アドインで イベント ベースのアクティブ化が実装されている場合、デバイス機能に対するブラウザーのアクセス許可は継承されず、 requestPermissionsAsync メソッドはサポートされません。

requestPermissionsAsync(permissions, callback)

カメラ、位置情報、マイクなどのデバイス機能にアクセスするためのアクセス許可をユーザーに要求します。

要求されたすべてのアクセス許可は、ユーザーに対する 1 つのモーダル ダイアログに表示されます。 ダイアログには、要求されたアクセス許可を 許可許可 1 回、または 拒否 するオプションが含まれています。

このメソッドはコールバック関数を受け入れます。 Outlook アドインで使用します。

requestPermissionsAsync(permissions: Office.DevicePermissionType[], callback: (asyncResult: Office.AsyncResult<boolean>) => void): void;

パラメーター

permissions

Office.DevicePermissionType[]

アドインがアクセスを要求しているデバイス機能の配列。 Outlook on the webアドインは、ユーザーのカメラ、位置情報、マイクへのアクセスを要求できます。

callback

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

メソッドが完了すると、 パラメーターでcallback渡された関数が、 オブジェクトである 1 つのパラメーターasyncResultOffice.AsyncResultで呼び出されます。 ユーザーが要求されたデバイス機能にアクセスするためのアクセス許可を付与した場合は、 true プロパティで が asyncResult.value 返されます。

戻り値

void

注釈

重要:

  • Excel、PowerPoint、Word アドインの場合は、代わりに メソッドをrequestPermissions使用します。

  • ユーザーがカメラ、位置情報、マイクへのアクセスを許可する場合、アクセス許可を有効にするには、ブラウザーでアドインを再読み込みする必要があります。 たとえば、 を呼び出 window.location.reload() してアドインを再読み込みできます。

  • アドインが Office on the web と Office デスクトップ クライアントの両方に同じコードを使用している場合は、 を呼び出すrequestPermissionsAsync前に、アドインが実行されているプラットフォームを確認します。 Office.context.mailbox.診断 を使用します。hostName を取得し、 が返されることを確認しますOutlookWebApp。 それ以外の requestPermissionsAsync 場合、呼び出しはエラーを返します。

  • ユーザーがダイアログから [許可 ] を選択した場合、アドインがアンインストールされるまで、またはアドインが実行されているブラウザーのキャッシュがクリアされるまで、アクセス許可は保持されます。 ユーザーがアドインのカメラまたはマイクへのアクセスを変更する場合は、アドインをアンインストールするか、ブラウザー キャッシュをクリアする必要があります。

  • ユーザーがダイアログから [1 回許可] を選択した場合、アクセス許可は、アドインが実行されているブラウザー タブまたはウィンドウが閉じられるまで保持されます。

  • ユーザーがダイアログから [拒否 ] を選択した場合、次回アドインでユーザーのデバイス機能へのアクセスが必要になると、ユーザーにアクセス許可が再度要求されます。

  • アドインで イベント ベースのアクティブ化が実装されている場合、デバイス機能に対するブラウザーのアクセス許可は継承されず、 requestPermissionsAsync メソッドはサポートされません。

// Request permission from a user to access their camera, geolocation, and microphone.
if (Office.context.mailbox.diagnostics.hostName === "OutlookWebApp") {
    const deviceCapabilities = [
        Office.DevicePermissionType.camera,
        Office.DevicePermissionType.geolocation,
        Office.DevicePermissionType.microphone
    ];

    Office.devicePermission.requestPermissionsAsync(deviceCapabilities, (asyncResult) => {
        if (asyncResult.status === Office.AsyncResultStatus.Failed) {
            console.log (asyncResult.error.message);
            return;
        }

        if (asyncResult.value) {
            console.log("Permission granted.");

            // Do something when permission is granted.
        } else {
            console.log("Permission denied.");

            // Do something when permission is denied.
        }
    });
}