Поделиться через


Office.DevicePermissionType enum

Указывает возможность устройства, доступ к которому запрашивает надстройка.

Комментарии

Приложения. Этот API поддерживается следующими приложениями Office при запуске в браузерах на основе Chromium, таких как Microsoft Edge и Google Chrome.

  • Excel в Интернете

  • Outlook в Интернете

  • PowerPoint в Интернете

  • Word в Интернете

Он также поддерживается в новом Outlook в Windows.

Набор обязательных требований: DevicePermission 1.1

Примеры

// Request permission from a user to access their device capabilities.
const host = Office.context.host;
if (host === Office.HostType.Excel || host === Office.HostType.PowerPoint || host === Office.HostType.Word) {
    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.");
                    // Reload your add-in before you run code that uses the device capabilities.
                    location.reload();
                } else {
                    console.log("Permission has been previously granted and is already set in the iframe.");

                    // Since permission has been previously granted, you don't need to reload your add-in.

                    // Do something with the device capabilities.
                }
            })
            .catch((error) => {
                console.log("Permission denied.");
                console.error(error);

                // Do something when permission is denied.
            });
    }
} else if (host === Office.HostType.Outlook) {
    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("Permission denied.");

                // Do something when permission is denied.
            } else {
                if (asyncResult.value) {
                    console.log("Permission granted.");
                    // Reload your add-in before you run code that uses the device capabilities.
                    location.reload();
                } else {
                    console.log("Permission has been previously granted and is already set in the iframe.");
                    
                    // Since permission has been previously granted, you don't need to reload your add-in.

                    // Do something with the device capabilities.
                }
            }
        });
    }
} else {
    console.log("The add-in isn't running in Excel, Outlook, PowerPoint, or Word.");
}

Поля

camera

Надстройка запрашивает доступ к камере пользователя.

geolocation

Надстройка запрашивает доступ к географическому расположению пользователя.

Важно! Доступ к географическому расположению пользователя поддерживается только в Outlook в Интернете и новом Outlook в Windows.

microphone

Надстройка запрашивает доступ к микрофону пользователя.