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
メソッド
request |
カメラやマイクなどのデバイス機能にアクセスするためのアクセス許可をユーザーに要求します。 要求されたすべてのアクセス許可は、ユーザーに対する 1 つのモーダル ダイアログに表示されます。 ダイアログには、要求されたアクセス許可を 許可、 許可 1 回、または 拒否 するオプションが含まれています。 このメソッドは promise を返します。 Excel、PowerPoint、Word アドインで使用します。 |
request |
カメラ、位置情報、マイクなどのデバイス機能にアクセスするためのアクセス許可をユーザーに要求します。 要求されたすべてのアクセス許可は、ユーザーに対する 1 つのモーダル ダイアログに表示されます。 ダイアログには、要求されたアクセス許可を 許可、 許可 1 回、または 拒否 するオプションが含まれています。 このメソッドはコールバック関数を受け入れます。 Outlook アドインで使用します。 |
request |
カメラ、位置情報、マイクなどのデバイス機能にアクセスするためのアクセス許可をユーザーに要求します。 要求されたすべてのアクセス許可は、ユーザーに対する 1 つのモーダル ダイアログに表示されます。 ダイアログには、要求されたアクセス許可を 許可、 許可 1 回、または 拒否 するオプションが含まれています。 このメソッドはコールバック関数を受け入れます。 Outlook アドインで使用します。 |
メソッドの詳細
requestPermissions(permissions)
カメラやマイクなどのデバイス機能にアクセスするためのアクセス許可をユーザーに要求します。
要求されたすべてのアクセス許可は、ユーザーに対する 1 つのモーダル ダイアログに表示されます。 ダイアログには、要求されたアクセス許可を 許可、 許可 1 回、または 拒否 するオプションが含まれています。
このメソッドは promise を返します。 Excel、PowerPoint、Word アドインで使用します。
requestPermissions(permissions: Office.DevicePermissionType[]): Promise<boolean>;
パラメーター
- permissions
アドインがアクセスを要求しているデバイス機能の配列。 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
アドインがアクセスを要求しているデバイス機能の配列。 Outlook on the webアドインは、ユーザーのカメラ、位置情報、マイクへのアクセスを要求できます。
- options
- Office.AsyncContextOptions
プロパティを含む asyncContext
オブジェクト リテラル。 コールバック関数でアクセスするオブジェクトを プロパティに asyncContext
割り当てます。
- callback
-
(asyncResult: Office.AsyncResult<boolean>) => void
メソッドが完了すると、 パラメーターでcallback
渡された関数が、 オブジェクトである 1 つのパラメーターasyncResult
Office.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
アドインがアクセスを要求しているデバイス機能の配列。 Outlook on the webアドインは、ユーザーのカメラ、位置情報、マイクへのアクセスを要求できます。
- callback
-
(asyncResult: Office.AsyncResult<boolean>) => void
メソッドが完了すると、 パラメーターでcallback
渡された関数が、 オブジェクトである 1 つのパラメーターasyncResult
Office.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.
}
});
}
Office Add-ins
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示