Partager via


office-runtime package

Interfaces

OfficeRuntime.ApiInformation

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

OfficeRuntime.Auth

Interface qui contient des 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 les options d’affichage et les 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

[ Ensemble 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}`));
    });
  });
}