Office.DevicePermission interface
Stellt Methoden für ein Add-In bereit, um von einem Benutzer die Berechtigung zum Zugriff auf seine Gerätefunktionen anzufordern. Zu den Gerätefunktionen eines Benutzers gehören seine Kamera, Geolokalisierung und sein Mikrofon.
Hinweise
Anwendungen: Diese API wird von den folgenden Office-Anwendungen unterstützt, wenn sie in Chromium-basierten Browsern wie Microsoft Edge und Google Chrome ausgeführt wird.
Excel im Web
Outlook im Web
PowerPoint im Web
Word im Web
Es wird auch im neuen Outlook unter Windows unterstützt.
Anforderungssatz: DevicePermission 1.1
Methoden
| request |
Fordert von einem Benutzer die Berechtigung zum Zugriff auf seine Gerätefunktionen an, z. B. eine Kamera oder ein Mikrofon. Alle angeforderten Berechtigungen werden dem Benutzer in einem einzigen modalen Dialogfeld angezeigt. Das Dialogfeld enthält Optionen zum Zulassen, Einmal zulassenoder Verweigern der angeforderten Berechtigungen. Diese Methode gibt eine Zusage zurück. Verwenden Sie es mit Excel-, PowerPoint- und Word-Add-Ins. Wenn ein Benutzer erstmals Zugriff auf eine Gerätefunktion gewährt, wird die Zusage mit |
| request |
Fordert von einem Benutzer die Berechtigung zum Zugriff auf seine Gerätefunktionen an, z. B. Kamera, Geolokalisierung oder Mikrofon. Alle angeforderten Berechtigungen werden dem Benutzer in einem einzigen modalen Dialogfeld angezeigt. Das Dialogfeld enthält Optionen zum Zulassen, Einmal zulassenoder Verweigern der angeforderten Berechtigungen. Diese Methode akzeptiert eine Rückruffunktion. Verwenden Sie es mit Outlook-Add-Ins. |
| request |
Fordert von einem Benutzer die Berechtigung zum Zugriff auf seine Gerätefunktionen an, z. B. Kamera, Geolokalisierung oder Mikrofon. Alle angeforderten Berechtigungen werden dem Benutzer in einem einzigen modalen Dialogfeld angezeigt. Das Dialogfeld enthält Optionen zum Zulassen, Einmal zulassenoder Verweigern der angeforderten Berechtigungen. Diese Methode akzeptiert eine Rückruffunktion. Verwenden Sie es mit Outlook-Add-Ins. |
Details zur Methode
requestPermissions(permissions)
Fordert von einem Benutzer die Berechtigung zum Zugriff auf seine Gerätefunktionen an, z. B. eine Kamera oder ein Mikrofon.
Alle angeforderten Berechtigungen werden dem Benutzer in einem einzigen modalen Dialogfeld angezeigt. Das Dialogfeld enthält Optionen zum Zulassen, Einmal zulassenoder Verweigern der angeforderten Berechtigungen.
Diese Methode gibt eine Zusage zurück. Verwenden Sie es mit Excel-, PowerPoint- und Word-Add-Ins.
Wenn ein Benutzer erstmals Zugriff auf eine Gerätefunktion gewährt, wird die Zusage mit trueaufgelöst. Sie müssen dann das Add-In neu laden, bevor Sie Code ausführen können, der die Gerätefunktion verwendet. Sie können beispielsweise aufrufen window.location.reload() , um Ihr Add-In neu zu laden. Wenn ein Benutzer zuvor Zugriff auf eine Gerätefunktion gewährt hatte, wird die Zusage mit falseaufgelöst. Sie müssen Ihr Add-In nicht neu laden, um Code auszuführen, der die Gerätefunktion verwendet, da die Berechtigung bereits festgelegt ist. Wenn ein Benutzer den Zugriff auf eine Gerätefunktion verweigert, wird die Zusage mit der Fehlermeldung "Benutzer hat die Berechtigungsanforderung abgelehnt" abgelehnt.
requestPermissions(permissions: Office.DevicePermissionType[]): Promise<boolean>;
Parameter
- permissions
Ein Array von Gerätefunktionen, auf die ein Add-In Zugriff anfordert. In Webversionen von Excel, PowerPoint und Word können Add-Ins nur Zugriff auf die Kamera und das Mikrofon eines Benutzers anfordern. Der Zugriff auf die Geolocation eines Benutzers ist blockiert.
Gibt zurück
Promise<boolean>
Hinweise
Wichtig:
Diese Methode wird in Outlook-Add-Ins nicht unterstützt. Verwenden Sie stattdessen die
requestPermissionsAsyncMethode.Wenn Ihr Add-In den gleichen Code sowohl für Office im Web als auch für Office-Desktopclients verwendet, überprüfen Sie die Plattform, auf der das Add-In ausgeführt wird, bevor
requestPermissionsSie . Verwenden Sie Office.context.platform , und überprüfen Sie, ob zurückgegebenOffice.PlatformType.OfficeOnlinewird. Andernfalls gibt derrequestPermissionsAufruf einen Fehler zurück.Wenn ein Benutzer im Dialogfeld "Zulassen " auswählt, bleibt die Berechtigung bestehen, bis das Add-In deinstalliert oder der Cache des Browsers, auf dem das Add-In ausgeführt wird, gelöscht wird. Wenn ein Benutzer den Zugriff eines Add-Ins auf seine Kamera oder sein Mikrofon ändern möchte, muss er das Add-In deinstallieren oder seinen Browsercache löschen.
Wenn ein Benutzer im Dialogfeld " Einmal zulassen " auswählt, bleibt die Berechtigung bestehen, bis die Browserregisterkarte oder das Fenster, in dem das Add-In ausgeführt wird, geschlossen wird.
Wenn ein Benutzer im Dialogfeld " Verweigern " auswählt, wird der Benutzer erneut um Berechtigungen gebeten, wenn das Add-In das nächste Mal Zugriff auf die Gerätefunktionen des Benutzers benötigt.
Der Zugriff auf die Geolokalisierung eines Benutzers wird in Excel, PowerPoint und Word nicht unterstützt. Es wird nur in Outlook im Web und im neuen Outlook unter Windows mit dieser
requestPermissionsAsyncMethode unterstützt.
Beispiele
// 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)
Fordert von einem Benutzer die Berechtigung zum Zugriff auf seine Gerätefunktionen an, z. B. Kamera, Geolokalisierung oder Mikrofon.
Alle angeforderten Berechtigungen werden dem Benutzer in einem einzigen modalen Dialogfeld angezeigt. Das Dialogfeld enthält Optionen zum Zulassen, Einmal zulassenoder Verweigern der angeforderten Berechtigungen.
Diese Methode akzeptiert eine Rückruffunktion. Verwenden Sie es mit Outlook-Add-Ins.
requestPermissionsAsync(permissions: Office.DevicePermissionType[], options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<boolean>) => void): void;
Parameter
- permissions
Ein Array von Gerätefunktionen, auf die ein Add-In Zugriff anfordert. In Outlook im Web und im neuen Outlook unter Windows kann ein Add-In Zugriff auf die Kamera, die Geolocation und das Mikrofon eines Benutzers anfordern.
- options
- Office.AsyncContextOptions
Ein Objektliteral, das die asyncContext Eigenschaft enthält. Weisen Sie der asyncContext Eigenschaft jedes Objekt zu, auf das Sie in der Rückruffunktion zugreifen möchten.
- callback
-
(asyncResult: Office.AsyncResult<boolean>) => void
Wenn die Methode abgeschlossen ist, wird die im callback Parameter übergebene Funktion mit einem einzelnen Parameter, , aufgerufen, asyncResultder ein Office.AsyncResult Objekt ist. Wenn der Benutzer die Berechtigung für den Zugriff auf die angeforderten Gerätefunktionen gewährt, true wird in der asyncResult.value Eigenschaft zurückgegeben. Sie müssen dann das Add-In erneut laden, bevor Sie Code ausführen können, der die Gerätefunktionen verwendet. Sie können beispielsweise aufrufen window.location.reload() , um Ihr Add-In neu zu laden. Wenn der Benutzer zuvor die Berechtigung für den Zugriff auf die angeforderten Gerätefunktionen erteilt hatte, false wird in der asyncResult.value Eigenschaft zurückgegeben. Sie müssen Ihr Add-In nicht neu laden, um Code auszuführen, der die Gerätefunktion verwendet, da die Berechtigung bereits festgelegt ist. Wenn ein Benutzer den Zugriff auf die angeforderten Gerätefunktionen verweigert, Office.AsyncResultStatus.Failed wird in der asyncResult.status Eigenschaft zurückgegeben.
Gibt zurück
void
Hinweise
Wichtig:
Verwenden Sie für Excel-, PowerPoint- und Word-Add-Ins stattdessen die
requestPermissionsMethode.Wenn Ihr Add-In den gleichen Code sowohl für Office im Web als auch für Office-Desktopclients verwendet, überprüfen Sie die Plattform, auf der das Add-In ausgeführt wird, bevor
requestPermissionsAsyncSie . Verwenden Sie Office.context.mailbox.diagnose. hostName an, und überprüfen Sie, ob zurückgegebenOutlookWebAppwird. Andernfalls gibt derrequestPermissionsAsyncAufruf einen Fehler zurück.Wenn ein Benutzer im Dialogfeld "Zulassen " auswählt, bleibt die Berechtigung bestehen, bis das Add-In deinstalliert oder der Cache des Browsers, auf dem das Add-In ausgeführt wird, gelöscht wird. Wenn ein Benutzer den Zugriff eines Add-Ins auf seine Kamera oder sein Mikrofon ändern möchte, muss er das Add-In deinstallieren oder seinen Browsercache löschen.
Wenn ein Benutzer im Dialogfeld " Einmal zulassen " auswählt, bleibt die Berechtigung bestehen, bis die Browserregisterkarte oder das Fenster, in dem das Add-In ausgeführt wird, geschlossen wird.
Wenn ein Benutzer im Dialogfeld " Verweigern " auswählt, wird der Benutzer erneut um Berechtigungen gebeten, wenn das Add-In das nächste Mal Zugriff auf die Gerätefunktionen des Benutzers benötigt.
Wenn Ihr Add-In eine ereignisbasierte Aktivierung implementiert, werden die Browserberechtigungen für Gerätefunktionen nicht vererbt, und die
requestPermissionsAsyncMethode wird nicht unterstützt.
requestPermissionsAsync(permissions, callback)
Fordert von einem Benutzer die Berechtigung zum Zugriff auf seine Gerätefunktionen an, z. B. Kamera, Geolokalisierung oder Mikrofon.
Alle angeforderten Berechtigungen werden dem Benutzer in einem einzigen modalen Dialogfeld angezeigt. Das Dialogfeld enthält Optionen zum Zulassen, Einmal zulassenoder Verweigern der angeforderten Berechtigungen.
Diese Methode akzeptiert eine Rückruffunktion. Verwenden Sie es mit Outlook-Add-Ins.
requestPermissionsAsync(permissions: Office.DevicePermissionType[], callback: (asyncResult: Office.AsyncResult<boolean>) => void): void;
Parameter
- permissions
Ein Array von Gerätefunktionen, auf die ein Add-In Zugriff anfordert. In Outlook im Web und im neuen Outlook unter Windows kann ein Add-In Zugriff auf die Kamera, die Geolocation und das Mikrofon eines Benutzers anfordern.
- callback
-
(asyncResult: Office.AsyncResult<boolean>) => void
Wenn die Methode abgeschlossen ist, wird die im callback Parameter übergebene Funktion mit einem einzelnen Parameter, , aufgerufen, asyncResultder ein Office.AsyncResult Objekt ist. Wenn der Benutzer die Berechtigung für den Zugriff auf die angeforderten Gerätefunktionen gewährt, true wird in der asyncResult.value Eigenschaft zurückgegeben. Sie müssen dann das Add-In erneut laden, bevor Sie Code ausführen können, der die Gerätefunktionen verwendet. Sie können beispielsweise aufrufen window.location.reload() , um Ihr Add-In neu zu laden. Wenn der Benutzer zuvor die Berechtigung für den Zugriff auf die angeforderten Gerätefunktionen erteilt hatte, false wird in der asyncResult.value Eigenschaft zurückgegeben. Sie müssen Ihr Add-In nicht neu laden, um Code auszuführen, der die Gerätefunktion verwendet, da die Berechtigung bereits festgelegt ist. Wenn ein Benutzer den Zugriff auf die angeforderten Gerätefunktionen verweigert, Office.AsyncResultStatus.Failed wird in der asyncResult.status Eigenschaft zurückgegeben.
Gibt zurück
void
Hinweise
Wichtig:
Verwenden Sie für Excel-, PowerPoint- und Word-Add-Ins stattdessen die
requestPermissionsMethode.Wenn Ihr Add-In den gleichen Code sowohl für Office im Web als auch für Office-Desktopclients verwendet, überprüfen Sie die Plattform, auf der das Add-In ausgeführt wird, bevor
requestPermissionsAsyncSie . Verwenden Sie Office.context.mailbox.diagnose. hostName an, und überprüfen Sie, ob zurückgegebenOutlookWebAppwird. Andernfalls gibt derrequestPermissionsAsyncAufruf einen Fehler zurück.Wenn ein Benutzer im Dialogfeld "Zulassen " auswählt, bleibt die Berechtigung bestehen, bis das Add-In deinstalliert oder der Cache des Browsers, auf dem das Add-In ausgeführt wird, gelöscht wird. Wenn ein Benutzer den Zugriff eines Add-Ins auf seine Kamera oder sein Mikrofon ändern möchte, muss er das Add-In deinstallieren oder seinen Browsercache löschen.
Wenn ein Benutzer im Dialogfeld " Einmal zulassen " auswählt, bleibt die Berechtigung bestehen, bis die Browserregisterkarte oder das Fenster, in dem das Add-In ausgeführt wird, geschlossen wird.
Wenn ein Benutzer im Dialogfeld " Verweigern " auswählt, wird der Benutzer erneut um Berechtigungen gebeten, wenn das Add-In das nächste Mal Zugriff auf die Gerätefunktionen des Benutzers benötigt.
Wenn Ihr Add-In eine ereignisbasierte Aktivierung implementiert, werden die Browserberechtigungen für Gerätefunktionen nicht vererbt, und die
requestPermissionsAsyncMethode wird nicht unterstützt.
Beispiele
// 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.
}
}
});
}