Depuis juin 2022 , à l’aide des applications connectées à Tableau, vous pouvez appeler et accéder par programmation à l’API Tableau REST via votre application personnalisée au nom des utilisateurs de Tableau Cloud. L’accès à l’API REST est activé par un jeton Web JSON (JWT) défini dans le cadre de la demande de connexion initiale. Le JWT doit contenir des étendues qui définissent les méthodes d’API REST disponibles pour votre application personnalisée et ses utilisateurs via l’application connectée.

Autorisez l’accès à l’API REST à l’aide d’applications connectées pour :

  • Améliorer l’efficacité : l’utilisation d’un jeton JWT en tant que jeton de support permet un emprunt d’identité simplifié avec une demande au point de terminaison de connexion au lieu de deux demandes
  • Étendre et automatiser les intégrations Tableau complexes et les requêtes backend, telles que la récupération de contenu dynamique et le filtrage avancé

Types d’étendues

Les applications connectées utilisent des étendues qui accordent l’accès aux actions sur le contenu ou les tâches administratives via les Méthodes d’API REST prenant en charge l’autorisation JWT (ci-dessous). Une étendue est une chaîne séparée par deux-points qui commence par l’espace de noms tableau, suivi de la ressource Tableau à laquelle l’accès est accordé, par exemple datasources, et se termine par l’action autorisée sur la ressource, telle que update .

Les actions qu’une étendue peut effectuer incluent :

  • create
  • read
  • run
  • update
  • download
  • delete

Par exemple, une étendue qui permet à votre application personnalisée d’appeler la méthode Mettre à jour la source de données(Le lien s’ouvre dans une nouvelle fenêtre) ressemble à :

tableau:datasources:update

Résumé de la façon d’autoriser l’accès à l’API REST

La liste suivante résume les étapes pour demander l’accès à l’API REST via un JWT :

  1. Créez une application connectée à l’aide de l’une des méthodes suivantes :
  2. Générer un JWT valide : au moment de l’exécution, votre application personnalisée génère un JWT valide, configuré avec les étendues que vous avez incluses
  3. Faire une demande Connexion(Le lien s’ouvre dans une nouvelle fenêtre) : votre application personnalisée effectue une demande de connexion à l’aide du JWT pour renvoyer un jeton d’accès Tableau et un ID de site (LUID)
  4. Utilisez le jeton d’accès Tableau dans les demandes suivantes : dans les appels d’API REST suivants, utilisez 1) le jeton d’accès Tableau comme la valeur d’en-tête X-Tableau-Auth(Le lien s’ouvre dans une nouvelle fenêtre) et 2) l’ID de site (LUID) dans l’URI de la demande

Exemple

Par exemple, supposons que vous créez une application connectée à l’aide de Direct Trust. À l’aide de Direct Trust, votre application personnalisée qui appelle l’API REST génère un JWT valide à l’aide de l’ID client et du secret client générés par l’application connectée.

Étendues dans le JWT

Pour autoriser avec succès l’accès à l’API REST, le JWT doit également contenir les étendues qui définissent les capacités de l’API REST. Par exemple, pour activer diverses méthodes liées à la source de données, vous pouvez inclure les étendues suivantes dans le JWT :

"tableau:content:read","tableau:datasources:create","tableau:datasources:update","tableau:datasources:download","tableau:tasks:run"

Remarque : les valeurs d’étendue doivent être transmises sous forme de type de liste.

URI de demande de connexion

Pour effectuer un appel à l’API REST, votre application personnalisée doit d’abord effectuer une demande de connexion pour générer un jeton d’accès Tableau.

                    POST https://us-west-2b.online.tableau.com/api/3.16/auth/signin
                

Corps de la requête

Pour autoriser l’accès à l’API REST à l’aide d’un JWT, le corps de la demande de connexion doit contenir le JWT valide, comme dans l’exemple ci-dessous.

                    <tsRequest>
   <credentials jwt="eyJpc3MiOiI4ZTFiNzE3Mi0zOWMzLTRhMzItODg3ZS1mYzJiNDExOWY1NmQiLCJhbGciOiJIUzI1NiIsImtpZCI6ImIwMTE1YmY5LTNhNGItNGM5MS1iMDA5LWNmMGMxNzBiMWE1NiJ9.eyJhdWQiOiJ0YWJsZWF1Iiwic3ViIjoicm1vaGFuQHRhYmxlYXUuY29tIiwic2NwIjpbInRhYmxlYXU6c2l0ZXM6cmVhZCJdLCJpc3MiOiI4ZTFiNzE3Mi0zOWMzLTRhMzItODg3ZS1mYzJiNDExOWY1NmQiLCJleHAiOjE2NDg2Njg0MzksImp0aSI6IjY1ZWFmMmYxLTNmZTgtNDc5Ny1hZmRiLTMyODMzZDVmZGJkYSJ9.mUv2o4gtBTrMVLEXY5XTpzDQTGvfE2LGi-3O2vdGfT8">
	<site contentUrl="mycodotcom"/>
   </credentials>
</tsRequest>

                

Corps de réponse

La demande de connexion produit le corps de réponse suivant, qui inclut le jeton d’accès Tableau.

                    <tsResponse>
   <credentials token="12ab34cd56ef78ab90cd12ef34ab56cd">
	<site id="9a8b7c6d5-e4f3-a2b1-c0d9-e8f7a6b5c4d" contentUrl=""/>
	<user id="9f9e9d9c-8b8a-8f8e-7d7c-7b7a6f6d6e6d" />
   </credentials>
</tsResponse>

                

Une fois le jeton d’accès Tableau généré, ajoutez le jeton d’accès Tableau à l’en-tête de toutes les demandes d’API REST ultérieures.

En-tête

X-Tableau-Auth:12ab34cd56ef78ab90cd12ef34ab56cd

Toutes les demandes d’API REST ultérieures utilisant le jeton d’accès Tableau sont alors limitées par les étendues du JWT.

Méthodes d’API REST prenant en charge l’autorisation JWT

Les étendues suivantes peuvent être associées à l’application connectée pour définir l’accès et les méthodes que votre application personnalisée peut avoir à l’API REST(Le lien s’ouvre dans une nouvelle fenêtre) au nom des utilisateurs.

Remarques :

Méthode Étendue Description
Aucune étendue (Pas d’étendue) Lorsqu’aucune étendue n’est définie dans le JWT, l’accès à l’API REST est refusé

Sources de données

   
Sources de données publiées tableau:datasources:create Publier une source de données sur un site ou ajouter des données à une source de données publiée existante
Source de données d’une requête tableau:content:read Obtenir des informations sur une source de données publiée

Interroger des sources de données

tableau:content:read Obtenir des informations sur toutes les sources de données publiées sur un site
Interroger les connexions d’une source de données tableau:content:read Obtenir l’adresse du serveur, le port, le nom d’utilisateur ou le mot de passe d’une source de données publiée
Mettre à jour une source de données tableau:datasources:update Mettre à jour le propriétaire, le projet ou l’état de certification de la source de données
Mettre à jour la connexion à la source de données tableau:datasources:update Mettre à jour l’adresse du serveur, le port, le nom d’utilisateur ou le mot de passe de la connexion à la source de données
Mettre à jour la source de données maintenant tableau:tasks:run Exécuter une actualisation d’extrait

Flux

   
Publier un flux tableau:flows:create Publier un flux

Métriques

   
Obtenir la métrique tableau:content:read Obtenir une métrique
Supprimer la métrique tableau:metrics:delete Supprimer une métrique
Répertorier les métriques tableau:content:read Obtenir la liste des métriques pour un site
Interroger les données des métriques tableau:metrics:download Obtenir les données sous-jacentes d’une métrique au format de valeurs séparées par des virgules (.csv)
Mettre à jour la métrique tableau:metrics:update Mettre à jour le propriétaire, le projet, l’état de suspension et le nom de la métrique

Vues

   
Obtenir la vue tableau:content:read Obtenir des détails sur une vue
Obtenir une vue par chemin tableau:content:read Obtenir des détails pour toutes les vues d’un site en utilisant le nom spécifié
Interroger les données d’affichage tableau:views:download Obtenir une vue rendue au format de valeurs séparées par des virgules (.csv)
Interroger une vue PDF tableau:views:download Obtenir une vue sous forme de fichier PDF (.pdf)
Interroger une image de la vue tableau:views:download Obtenir une vue en tant que fichier image (.png)
Interroger les vues d’un site tableau:content:read Obtenir toutes les vues d’un site
Interroger une image d’aperçu de la vue tableau:views:download Obtenir l’image miniature (.png) de la vue

Classeurs

   
Publier le classeur tableau:workbooks:create Publier un classeur (.twb ou .twbx)
Interroger un classeur tableau:content:read Obtenir un classeur spécifié et ses détails
Interroger un classeur pour un site tableau:content:read Obtenir une liste des classeurs publiés sur un site
Interroger une image d’aperçu d’un classeur tableau:workbooks:download Obtenir l’image miniature (.png) du classeur
Mettre à jour le classeur tableau:workbooks:update Modifier un classeur existant
Mettre à jour la connexion au classeur tableau:workbooks:update Mettre à jour l’information de connexion
Mettre à jour le classeur maintenant tableau:tasks:run Lancer une actualisation du classeur en dehors d’une tâche planifiée

Publier

   
Ajouter au téléversement d’un fichier tableau:file_uploads:create Téléverser un bloc de données et l’ajouter aux données déjà téléversées - à utiliser après le lancement d’un téléversement à l’aide de la méthode « lancer le téléversement de fichiers »
Lancer le téléversement de fichiers tableau:file_uploads:create Lancer le processus de téléversement de fichiers

Télécharger

   
Télécharger la source de données tableau:datasources:download Télécharger la source de données (.tdsx)
Télécharger le tableau croisé Excel tableau:views:download Télécharger un fichier Excel (.xlsx) contenant des données de tableau croisé à partir de la vue
Télécharger un classeur tableau:workbooks:download Télécharger un classeur (.twb ou .twbx)
Télécharger la révision du classeur tableau:workbooks:download Télécharger une version spécifique du classeur (.twb ou .twbx)
Télécharger un classeur PDF tableau:views:download Télécharger un fichier PDF (.pdf) contenant les images des feuilles du classeur
Télécharger un classeur Power Point tableau:views:download Télécharger un fichier Power Point (.pptx) contenant les diapositives des feuilles du classeur

Utilisateurs

   
Ajouter un utilisateur au groupe tableau:groups:update Ajouter un utilisateur à un groupe
Ajouter un utilisateur à un site tableau:users:create Ajouter un utilisateur et affecter l’utilisateur à un site
Obtenir des utilisateurs dans le groupe tableau:groups:read Obtenir une liste d’utilisateurs dans un groupe
Obtenir des utilisateurs sur le site tableau:users:read Obtenir tous les utilisateurs d’un site
Interroger l’utilisateur sur le site tableau:users:read Obtenir un utilisateur sur un site
Supprimer des utilisateurs d’un groupe tableau:groups:update Supprimer un utilisateur d’un groupe
Supprimer un utilisateur d’un site tableau:users:delete Suppression l’utilisateur d’un site
Mettre à jour l’utilisateur tableau:users:update Mettre à jour les informations sur un utilisateur

Groupes

   
Créer un groupe tableau:groups:create Créer un groupe
Supprimer un groupe tableau:groups:delete Supprimer un groupe
Obtenir des groupes pour l’utilisateur tableau:users:read Obtenir une liste des groupes auxquels appartient un utilisateur
Interroger des groupes tableau:groups:read Obtenir une liste de groupes sur un site
Mettre à jour le groupe tableau:groups:update Mettre à jour un groupe

Projets

   
Créer un projet tableau:projects:create Crée un projet
Supprimer un projet tableau:projects:delete Supprimer un projet
Interroger le projet tableau:content:read Obtenir une liste de projets
Mettre à jour le projet tableau:projects:update Mettre à jour le nom, la description ou la hiérarchie de projet du projet

Autorisations

   
Ajouter des autorisations de source de données tableau:permissions:update Ajouter des autorisations à une source de données pour un utilisateur ou un groupe Tableau Server
Ajouter les autorisations par défaut tableau:permissions:update Ajouter des fonctionnalités d’autorisation par défaut à un utilisateur ou à un groupe, pour les ressources de mesure, de flux, de classeur, de source de données, de rôle de données ou de loupe dans un projet
Ajouter les autorisations de projet tableau:permissions:update Ajouter des autorisations à un projet pour un utilisateur ou un groupe
Ajouter des autorisations d’affichage tableau:permissions:update Ajouter des autorisations à une vue pour un utilisateur ou un groupe
Ajouter des autorisations de classeur tableau:permissions:update Ajouter des autorisations à un classeur spécifié pour un utilisateur ou un groupe
Supprimer des autorisations de source de données tableau:permissions:delete Supprimer les fonctionnalités d’autorisation par défaut d’un utilisateur ou d’un groupe, pour les ressources de mesure, de flux, de classeur, de source de données, de rôle de données ou de loupe dans un projet
Supprimer les autorisations par défaut tableau:permissions:delete Supprimer les fonctionnalités d’autorisation par défaut d’un utilisateur ou d’un groupe, pour les ressources de mesure, de flux, de classeur, de source de données, de rôle de données ou de loupe dans un projet
Supprimer les autorisations de projet tableau:permissions:delete Supprimer l’autorisation de projet pour un utilisateur ou un groupe
Supprimer les autorisations d’affichage tableau:permissions:delete Supprimer l’autorisation d’affichage pour un utilisateur ou un groupe
Supprimer les autorisations de classeur tableau:permissions:delete Supprimer l’autorisation de classeur pour un utilisateur ou un groupe
Interroger les autorisations de source de données tableau:permissions:read Obtenir une liste des autorisations pour la source de données
Interroger les autorisations par défaut tableau:permissions:read Obtenir les capacités d’autorisation par défaut des utilisateurs et des groupes pour les ressources de métrique, de flux, de classeur, de source de données, de rôle de données ou de loupe dans un projet
Interroger les autorisations de projet tableau:permissions:read Obtenir une liste des autorisations pour le projet
Interroger les autorisations d’affichage tableau:permissions:read Obtenir une liste des autorisations pour la vue
Interroger les autorisations de classeur tableau:permissions:read Obtenir une liste des autorisations pour le classeur

Sites

   
Obtenir le site récemment consulté tableau:content:read Obtenir des détails de vues et de classeurs les plus récemment créés, mis à jour ou consultés par l’utilisateur connecté
Interroger le site tableau:content:read Obtenir des informations sur un site
Interroger les vues d’un site tableau:content:read Répertorier toutes les vues d’un site
Mettre à jour le site tableau:sites:update Mettre à jour un site
Merci de vos commentaires!