office-runtime package
Интерфейсы
| OfficeRuntime.ApiInformation |
Интерфейс, содержащий методы проверки поддержки набора требований API. |
| OfficeRuntime.Auth |
Интерфейс, содержащий API-интерфейсы, связанные с авторизацией. |
| OfficeRuntime.AuthOptions |
Предоставляет параметры для взаимодействия с пользователем, когда Office получает маркер доступа к надстройке из AAD версии 2.0 с |
| OfficeRuntime.Dialog |
Объект, представляющий диалоговое окно. |
| OfficeRuntime.DisplayWebDialogOptions |
Предоставляет параметры отображения и действия, которые может выполнять диалоговое окно. |
| OfficeRuntime.Storage |
Асинхронное, глобальное и постоянное хранилище ключей и значений. |
Функции
| Office |
Функция, которая включает всплывающее диалоговое окно веб-сайта. |
Сведения о функции
OfficeRuntime.displayWebDialog(url, options)
Функция, которая включает всплывающее диалоговое окно веб-сайта.
export function displayWebDialog(url: string, options?: DisplayWebDialogOptions): Promise<Dialog>;
Параметры
- url
-
string
Должен быть строкой.
Необязательный параметр. Должен иметь тип DisplayWebDialogOptions.
Возвращаемое значение
Promise<OfficeRuntime.Dialog>
Комментарии
[ Набор API: CustomFunctionsRuntime 1.1 ]
Примеры
/**
* Opens an authentication dialog from a custom function.
* @customfunction AUTH.LOGIN
* @returns A promise that resolves to the authentication result.
*/
async function authLogin(): Promise<string> {
const dialogUrl = "https://your-addin-domain.com/auth-dialog.html";
return new Promise((resolve, reject) => {
OfficeRuntime.displayWebDialog(dialogUrl, {
height: "50%",
width: "40%",
onMessage: (message: string, dialog?: OfficeRuntime.Dialog) => {
// Handle messages sent from the dialog via window.opener.postMessage().
const data = JSON.parse(message);
if (data.type === "auth-success") {
// Process the authentication token
dialog?.close();
resolve(`Signed in as ${data.username}`);
} else if (data.type === "auth-error") {
dialog?.close();
reject(new Error(data.errorMessage));
}
},
onClose: () => {
// Handle the user closing the dialog.
resolve("Dialog closed");
},
onRuntimeError: (error: Error, dialog?: OfficeRuntime.Dialog) => {
// Handle runtime errors from the dialog.
dialog?.close();
reject(error);
},
}).catch((error) => {
reject(new Error(`Failed to open dialog: ${error.message}`));
});
});
}