office-runtime package
Interfaces
| OfficeRuntime.ApiInformation |
Interface that contains methods for checking API requirement-set support. |
| OfficeRuntime.Auth |
Interface that contains authorization related APIs. |
| OfficeRuntime.AuthOptions |
Provides options for the user experience when Office obtains an access token to the add-in from AAD v. 2.0 with the |
| OfficeRuntime.Dialog |
Object representing the dialog box. |
| OfficeRuntime.DisplayWebDialogOptions |
Provides display options and actions a dialog box may take. |
| OfficeRuntime.Storage |
Asynchronous, global, and persistent key-value storage. |
Functions
| Office |
Function that enables a pop up web dialog box. |
Function Details
OfficeRuntime.displayWebDialog(url, options)
Function that enables a pop up web dialog box.
export function displayWebDialog(url: string, options?: DisplayWebDialogOptions): Promise<Dialog>;
Parameters
- url
-
string
Must be a string.
Optional parameter. Must be of type DisplayWebDialogOptions.
Returns
Promise<OfficeRuntime.Dialog>
Remarks
[ API set: CustomFunctionsRuntime 1.1 ]
Examples
/**
* 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}`));
});
});
}