Office.DevicePermission interface
Fournit des méthodes permettant à un complément de demander à un utilisateur l’autorisation d’accéder aux fonctionnalités de son appareil. Les fonctionnalités de l’appareil d’un utilisateur incluent son appareil photo, sa géolocalisation et son microphone.
Remarques
Applications : cette API est prise en charge par les applications Office suivantes lorsqu’elle s’exécute dans des navigateurs basés sur Chromium, tels que Microsoft Edge et Google Chrome.
Excel sur le web
Outlook sur le web
PowerPoint sur le web
Word sur le web
Il est également pris en charge dans la nouvelle version d’Outlook sur Windows.
Configuration requise définie : DevicePermission 1.1
Méthodes
| request |
Demande à un utilisateur l’autorisation d’accéder aux fonctionnalités de son appareil, telles qu’une caméra ou un microphone. Toutes les autorisations demandées sont affichées dans une seule boîte de dialogue modale à l’utilisateur. La boîte de dialogue inclut les options Autoriser, Autoriser une seule fois ou Refuser les autorisations demandées. Cette méthode renvoie une promesse. Utilisez-le avec Excel, PowerPoint et des compléments Word. Si un utilisateur accorde l’accès à une capacité d’appareil pour la première fois, la promesse est résolue par |
| request |
Demande à un utilisateur l’autorisation d’accéder aux fonctionnalités de son appareil, telles qu’une caméra, une géolocalisation ou un microphone. Toutes les autorisations demandées sont affichées dans une seule boîte de dialogue modale à l’utilisateur. La boîte de dialogue inclut les options Autoriser, Autoriser une seule fois ou Refuser les autorisations demandées. Cette méthode accepte une fonction de rappel. Utilisez-le avec les compléments Outlook. |
| request |
Demande à un utilisateur l’autorisation d’accéder aux fonctionnalités de son appareil, telles qu’une caméra, une géolocalisation ou un microphone. Toutes les autorisations demandées sont affichées dans une seule boîte de dialogue modale à l’utilisateur. La boîte de dialogue inclut les options Autoriser, Autoriser une seule fois ou Refuser les autorisations demandées. Cette méthode accepte une fonction de rappel. Utilisez-le avec les compléments Outlook. |
Détails de la méthode
requestPermissions(permissions)
Demande à un utilisateur l’autorisation d’accéder aux fonctionnalités de son appareil, telles qu’une caméra ou un microphone.
Toutes les autorisations demandées sont affichées dans une seule boîte de dialogue modale à l’utilisateur. La boîte de dialogue inclut les options Autoriser, Autoriser une seule fois ou Refuser les autorisations demandées.
Cette méthode renvoie une promesse. Utilisez-le avec Excel, PowerPoint et des compléments Word.
Si un utilisateur accorde l’accès à une capacité d’appareil pour la première fois, la promesse est résolue par true. Vous devez ensuite recharger le complément avant de pouvoir exécuter le code qui utilise la fonctionnalité d’appareil. Par exemple, vous pouvez appeler window.location.reload() pour recharger votre complément. Si un utilisateur avait précédemment accordé l’accès à une capacité d’appareil, la promesse est résolue par false. Vous n’avez pas besoin de recharger votre complément pour exécuter du code qui utilise la fonctionnalité d’appareil, car l’autorisation est déjà définie. Si un utilisateur refuse l’accès à une fonctionnalité d’appareil, la promesse est rejetée avec un message d’erreur « L’utilisateur a refusé la demande d’autorisation ».
requestPermissions(permissions: Office.DevicePermissionType[]): Promise<boolean>;
Paramètres
- permissions
Un tableau de fonctionnalités d’appareils auxquelles un complément demande l’accès. Dans les versions web d’Excel, PowerPoint et Word, les compléments peuvent uniquement demander l’accès à l’appareil photo et au microphone d’un utilisateur. L’accès à la géolocalisation d’un utilisateur est bloqué.
Retours
Promise<boolean>
Remarques
Important:
Cette méthode n’est pas prise en charge dans les compléments Outlook. Utilisez plutôt la
requestPermissionsAsyncméthode.Si votre complément utilise le même code pour les clients Office sur le Web et les clients de bureau Office, vérifiez la plateforme sur laquelle le complément s’exécute avant d’appeler
requestPermissions. Utilisez Office.context.platform et vérifiez qu’il renvoieOffice.PlatformType.OfficeOnline. Dans le cas contraire, l’appelrequestPermissionsrenvoie une erreur.Si un utilisateur sélectionne Autoriser dans la boîte de dialogue, l’autorisation persiste jusqu’à ce que le complément soit désinstallé ou jusqu’à ce que le cache du navigateur sur lequel le complément est exécuté soit effacé. Si un utilisateur souhaite modifier l’accès d’un complément à sa caméra ou à son microphone, il doit désinstaller le complément ou vider le cache de son navigateur.
Si un utilisateur sélectionne Autoriser une fois dans la boîte de dialogue, l’autorisation est conservée jusqu’à la fermeture de l’onglet ou de la fenêtre du navigateur dans lequel le complément est exécuté.
Si un utilisateur sélectionne Refuser dans la boîte de dialogue, il lui est demandé à nouveau d’entrer des autorisations la prochaine fois que le complément nécessite l’accès aux fonctionnalités de l’appareil de l’utilisateur.
L’accès à la géolocalisation d’un utilisateur n’est pas pris en charge dans Excel, PowerPoint et Word. Elle est uniquement prise en charge dans Outlook sur le web et la nouvelle version d’Outlook sur Windows à l’aide de cette
requestPermissionsAsyncméthode.
Exemples
// 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.");
// 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.
});
}
requestPermissionsAsync(permissions, options, callback)
Demande à un utilisateur l’autorisation d’accéder aux fonctionnalités de son appareil, telles qu’une caméra, une géolocalisation ou un microphone.
Toutes les autorisations demandées sont affichées dans une seule boîte de dialogue modale à l’utilisateur. La boîte de dialogue inclut les options Autoriser, Autoriser une seule fois ou Refuser les autorisations demandées.
Cette méthode accepte une fonction de rappel. Utilisez-le avec les compléments Outlook.
requestPermissionsAsync(permissions: Office.DevicePermissionType[], options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<boolean>) => void): void;
Paramètres
- permissions
Un tableau de fonctionnalités d’appareils auxquelles un complément demande l’accès. Dans Outlook sur le web et la nouvelle version d’Outlook sur Windows, un complément peut demander l’accès à la caméra, à la géolocalisation et au microphone d’un utilisateur.
- options
- Office.AsyncContextOptions
Littéral d’objet qui contient la asyncContext propriété. Attribuez à la asyncContext propriété tout objet auquel vous souhaitez accéder dans la fonction de rappel.
- callback
-
(asyncResult: Office.AsyncResult<boolean>) => void
Lorsque la méthode est terminée, la fonction passée dans le callback paramètre est appelée avec un seul paramètre, asyncResult, qui est un Office.AsyncResult objet. Si l’utilisateur accorde l’autorisation d’accéder aux fonctionnalités d’appareil demandées, true elle est renvoyée dans la asyncResult.value propriété. Vous devez ensuite recharger le complément avant de pouvoir exécuter du code qui utilise les fonctionnalités de l’appareil. Par exemple, vous pouvez appeler window.location.reload() pour recharger votre complément. Si l’utilisateur a précédemment accordé l’autorisation d’accéder aux fonctionnalités d’appareil demandées, false elle est renvoyée dans la asyncResult.value propriété. Vous n’avez pas besoin de recharger votre complément pour exécuter du code qui utilise la fonctionnalité d’appareil, car l’autorisation est déjà définie. Si un utilisateur refuse l’accès aux fonctionnalités d’appareil demandées, Office.AsyncResultStatus.Failed elle est retournée dans la asyncResult.status propriété.
Retours
void
Remarques
Important:
Pour les compléments Excel, PowerPoint et Word, utilisez plutôt la
requestPermissionsméthode.Si votre complément utilise le même code pour les clients Office sur le Web et les clients de bureau Office, vérifiez la plateforme sur laquelle le complément s’exécute avant d’appeler
requestPermissionsAsync. Utilisez Office.context.mailbox.diagnostics. hostName et vérifiez qu’il renvoieOutlookWebApp. Dans le cas contraire, l’appelrequestPermissionsAsyncrenvoie une erreur.Si un utilisateur sélectionne Autoriser dans la boîte de dialogue, l’autorisation persiste jusqu’à ce que le complément soit désinstallé ou jusqu’à ce que le cache du navigateur sur lequel le complément est exécuté soit effacé. Si un utilisateur souhaite modifier l’accès d’un complément à sa caméra ou à son microphone, il doit désinstaller le complément ou vider le cache de son navigateur.
Si un utilisateur sélectionne Autoriser une fois dans la boîte de dialogue, l’autorisation est conservée jusqu’à la fermeture de l’onglet ou de la fenêtre du navigateur dans lequel le complément est exécuté.
Si un utilisateur sélectionne Refuser dans la boîte de dialogue, il lui est demandé à nouveau d’entrer des autorisations la prochaine fois que le complément nécessite l’accès aux fonctionnalités de l’appareil de l’utilisateur.
Si votre complément implémente l’activation en fonction des événements, les autorisations de navigateur sur les fonctionnalités de l’appareil ne sont pas héritées et la
requestPermissionsAsyncméthode n’est pas prise en charge.
requestPermissionsAsync(permissions, callback)
Demande à un utilisateur l’autorisation d’accéder aux fonctionnalités de son appareil, telles qu’une caméra, une géolocalisation ou un microphone.
Toutes les autorisations demandées sont affichées dans une seule boîte de dialogue modale à l’utilisateur. La boîte de dialogue inclut les options Autoriser, Autoriser une seule fois ou Refuser les autorisations demandées.
Cette méthode accepte une fonction de rappel. Utilisez-le avec les compléments Outlook.
requestPermissionsAsync(permissions: Office.DevicePermissionType[], callback: (asyncResult: Office.AsyncResult<boolean>) => void): void;
Paramètres
- permissions
Un tableau de fonctionnalités d’appareils auxquelles un complément demande l’accès. Dans Outlook sur le web et la nouvelle version d’Outlook sur Windows, un complément peut demander l’accès à la caméra, à la géolocalisation et au microphone d’un utilisateur.
- callback
-
(asyncResult: Office.AsyncResult<boolean>) => void
Lorsque la méthode est terminée, la fonction passée dans le callback paramètre est appelée avec un seul paramètre, asyncResult, qui est un Office.AsyncResult objet. Si l’utilisateur accorde l’autorisation d’accéder aux fonctionnalités d’appareil demandées, true elle est renvoyée dans la asyncResult.value propriété. Vous devez ensuite recharger le complément avant de pouvoir exécuter du code qui utilise les fonctionnalités de l’appareil. Par exemple, vous pouvez appeler window.location.reload() pour recharger votre complément. Si l’utilisateur a précédemment accordé l’autorisation d’accéder aux fonctionnalités d’appareil demandées, false elle est renvoyée dans la asyncResult.value propriété. Vous n’avez pas besoin de recharger votre complément pour exécuter du code qui utilise la fonctionnalité d’appareil, car l’autorisation est déjà définie. Si un utilisateur refuse l’accès aux fonctionnalités d’appareil demandées, Office.AsyncResultStatus.Failed elle est retournée dans la asyncResult.status propriété.
Retours
void
Remarques
Important:
Pour les compléments Excel, PowerPoint et Word, utilisez plutôt la
requestPermissionsméthode.Si votre complément utilise le même code pour les clients Office sur le Web et les clients de bureau Office, vérifiez la plateforme sur laquelle le complément s’exécute avant d’appeler
requestPermissionsAsync. Utilisez Office.context.mailbox.diagnostics. hostName et vérifiez qu’il renvoieOutlookWebApp. Dans le cas contraire, l’appelrequestPermissionsAsyncrenvoie une erreur.Si un utilisateur sélectionne Autoriser dans la boîte de dialogue, l’autorisation persiste jusqu’à ce que le complément soit désinstallé ou jusqu’à ce que le cache du navigateur sur lequel le complément est exécuté soit effacé. Si un utilisateur souhaite modifier l’accès d’un complément à sa caméra ou à son microphone, il doit désinstaller le complément ou vider le cache de son navigateur.
Si un utilisateur sélectionne Autoriser une fois dans la boîte de dialogue, l’autorisation est conservée jusqu’à la fermeture de l’onglet ou de la fenêtre du navigateur dans lequel le complément est exécuté.
Si un utilisateur sélectionne Refuser dans la boîte de dialogue, il lui est demandé à nouveau d’entrer des autorisations la prochaine fois que le complément nécessite l’accès aux fonctionnalités de l’appareil de l’utilisateur.
Si votre complément implémente l’activation en fonction des événements, les autorisations de navigateur sur les fonctionnalités de l’appareil ne sont pas héritées et la
requestPermissionsAsyncméthode n’est pas prise en charge.
Exemples
// 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("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.
}
}
});
}