API de vérification des autorisations

En tant que développeur de visuels Power BI, vous pouvez développer des visuels qui ont besoin d’autorisations pour accéder à différentes ressources. Vous demandez ces autorisations dans la section privileges du fichier capabilities.json. Ces privilèges incluent la possibilité d’accéder aux éléments suivants :

  • Ressources distantes ou sites web
  • Stockage local pour le téléchargement de données

L’administrateur de chaque organisation peut autoriser ou bloquer ces autorisations. L’API de vérification des autorisations vous permet d’interroger l’hôte au moment de l’exécution pour déterminer les autorisations accordées. Vous pouvez utiliser ces informations pour concevoir un visuel qui fonctionne avec différents paramètres d’autorisation.

L’API de vérification des autorisations retourne l’état de chaque fonction de requête d’autorisation :

/**
 * Represents a return type for privilege status query methods
 */
export const enum PrivilegeStatus {
    /**
     * The privilege is allowed in the current environment
     */
    Allowed,

    /**
     * The privilege declaration is missing in visual capabilities section
     */
    NotDeclared,

    /**
     * The privilege is not supported in the current environment
     */
    NotSupported,

    /**
     * The privilege usage was denied by tenant administrator
     */
    DisabledByAdmin,
}

Comment utiliser l’API de vérification des autorisations

Chaque API de privilège a sa propre méthode de requête pour vérifier l’état de l’autorisation. Les valeurs possibles pour l’état de l’autorisation sont les suivantes :

  • Autorisé
  • Non déclaré
  • Non pris en charge
  • Désactivé par l’administrateur

Accès Web

export interface IWebAccessService {
    /**
     * Returns the availability status of the service for specified url.
     * 
     * @param url - the URL to check status for
     * @returns the promise that resolves to privilege status of the service
     */
    webAccessStatus(url: string): IPromise<PrivilegeStatus>;
}

Exporter du contenu

export interface IDownloadService {
    /**
     * Returns the availability status of the service.
     * 
     * @returns the promise that resolves to privilege status of the service
     */
    exportStatus(): IPromise<PrivilegeStatus>;
}

Étapes suivantes

API des visuels personnalisés Power BI