office-runtime package

Interfaces

OfficeRuntime.ApiInformation

Interface qui contient des méthodes de vérification de la prise en charge des ensembles de conditions requises de l’API.

OfficeRuntime.Auth

Interface qui contient les API liées à l’autorisation.

OfficeRuntime.AuthOptions

Fournit des options pour l’expérience utilisateur lorsqu’Office obtient un jeton d’accès au complément à partir d’AAD v. 2.0 avec la getAccessToken méthode.

OfficeRuntime.Dialog

Objet représentant la boîte de dialogue.

OfficeRuntime.DisplayWebDialogOptions

Fournit des options d’affichage et des actions qu’une boîte de dialogue peut effectuer.

OfficeRuntime.Storage

Stockage clé-valeur asynchrone, global et persistant.

Functions

OfficeRuntime.displayWebDialog(url, options)

Fonction qui active une boîte de dialogue web contextuelle.

Informations relatives à la fonction

OfficeRuntime.displayWebDialog(url, options)

Fonction qui active une boîte de dialogue web contextuelle.

export function displayWebDialog(url: string, options?: DisplayWebDialogOptions): Promise<Dialog>;

Paramètres

url

string

Doit être une chaîne.

options
OfficeRuntime.DisplayWebDialogOptions

Paramètre facultatif. Doit être de type DisplayWebDialogOptions.

Retours

Remarques

Jeu d’API : CustomFunctionsRuntime 1.1

Exemples

/**
 * 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}`));
    });
  });
}