Guide FileMaker 17 Data API
A propos de FileMaker Data API
Présentation
FileMaker® Data API est une interface de programmation d'applications (API) qui permet aux services Web d'accéder aux données se trouvant dans des bases de données hébergées. FileMaker Data API utilisant une architecture REST (Representational State Transfer), elle peut donc être qualifiée d'API REST.
Votre service Web ou votre application appelle FileMaker Data API pour obtenir un jeton d'authentification afin d'accéder à une base de données hébergée. Il ou elle utilise alors ce jeton dans les appels suivants pour créer, mettre à jour et supprimer des enregistrements, mais aussi pour exécuter des requêtes.
FileMaker Data API renvoie ensuite des données au format JSON (JavaScript Object Notation), un format texte couramment utilisé avec les API REST, car il ne dépend d'aucun format de langage de programmation en particulier.
Ce guide part du principe que vous savez :
- utiliser FileMaker Pro Advanced pour créer des bases de données. Vous devez comprendre les bases de la conception de bases de données avec FileMaker Pro Advanced, ainsi que les concepts de rubriques, de liens, de modèles, de tables externes et de conteneurs. Consultez l'Aide FileMaker Pro Advanced.
- utiliser FileMaker Server pour héberger des bases de données. Vous devez savoir déployer FileMaker Server, autoriser l'accès aux bases de données hébergées et les surveiller au moyen de l'Admin Console de FileMaker Server. Consultez l'Aide FileMaker Server.
- utiliser des API REST dans des applications côté serveur ou des services Web qui appellent les méthodes POST, GET, PATCH et DELETE avec des données au format JSON. Vous pouvez utiliser les langages de programmation ou les outils de votre choix.
Pour utiliser FileMaker Data API, procédez comme suit :
- Préparez votre base de données pour un accès via FileMaker Data API avec FileMaker Pro Advanced. Vous pouvez créer une base de données ou préparer une base de données existante. Consultez la section Préparer les bases de données pour un accès via FileMaker Data API.
- Ecrivez un code qui appelle les méthodes FileMaker Data API afin de rechercher, créer, modifier et supprimer des enregistrements dans une base de données hébergée. Consultez la section Ecrire des appels FileMaker Data API.
- Hébergez votre solution à l'aide de FileMaker Server tout en activant l'accès via FileMaker Data API. Consultez la section Héberger une solution FileMaker Data API.
- Testez le fonctionnement de l'accès via FileMaker Data API. Consultez la section Tester une solution FileMaker Data API.
- Surveillez votre solution hébergée avec l'Admin Console. Consultez la section Surveiller les solutions FileMaker Data API.
Comment traiter un appel FileMaker Data API
-
Un client API REST envoie un appel FileMaker Data API (requête HTTPS) au serveur Web FileMaker Server sur le port HTTPS (port 443). Il est inutile d'installer ou d'exécuter FileMaker Pro Advanced.
- Le serveur Web achemine la requête via le module serveur Web FileMaker jusqu'au moteur FileMaker Data API.
- Le moteur FileMaker Data API convertit la requête HTTPS (URL et données JSON) en un format que le composant serveur de base de données peut comprendre, puis envoie des demandes de données à partir de la base de données hébergée par le serveur de base de données.
- Le serveur de base de données renvoie les données FileMaker demandées au moteur FileMaker Data API.
- Le moteur FileMaker Data API convertit les données FileMaker en une réponse HTTPS (URL avec données JSON) pour répondre à l'appel, retransférant ainsi les données au serveur Web.
- Le serveur Web envoie la réponse HTTPS au client API REST qui en fait la demande.
La disponibilité des ports 3000 et 8989 est indispensable pour un bon fonctionnement du moteur FileMaker Data API.
La disponibilité du port 5003 est indispensable pour un bon fonctionnement du serveur de base de données.
Alternatives à la publication Web
Si vous ne maîtrisez pas bien les API REST, envisagez les solutions suivantes pour publier vos données FileMaker sur Internet.
FileMaker WebDirect™ : les utilisateurs Web se connectent à votre base de données hébergée sur FileMaker Server pour visualiser, modifier, trier ou rechercher des enregistrements en fonction des droits d'accès que vous leur donnez. Ils n'ont pas besoin d'installer d'autres logiciels. Un navigateur Web compatible et un accès à Internet ou à un intranet suffisent. L'interface utilisateur ressemble à la version bureau de l'application FileMaker Pro Advanced. Les pages Web et les formulaires sur lesquels l'utilisateur Web interagit dépendent des modèles et des affichages définis dans la base de données FileMaker Pro Advanced.
Consultez le Guide FileMaker WebDirect.
Publication statique : si vos données ne font pas souvent l'objet d'une modification ou si vous ne souhaitez pas que les utilisateurs puissent se connecter directement à votre base de données, envisagez la publication statique. Avec cette dernière, vous exportez des données FileMaker Pro Advanced pour créer une page Web que vous pouvez ensuite personnaliser à l'aide du langage HTML. Ainsi, la page Web n'est pas modifiée lorsque la base de données l'est, et les utilisateurs ne se connectent pas à votre base de données.
Consultez la section Publication de données sur des pages Web statiques dans l'Aide FileMaker Pro Advanced.
Publication Web personnalisée : pour intégrer votre base de données FileMaker à un site Web personnalisé, utilisez les technologies de Publication Web personnalisée.
Consultez le Guide de la Publication Web personnalisée FileMaker Server.
Préparer les bases de données pour un accès via FileMaker Data API
Choisir les données auxquelles accéder
Vous pouvez créer une base de données FileMaker Pro Advanced et l'utiliser avec FileMaker Data API ou utiliser une base de données existante. Si vous créez une base de données, envisagez de concevoir les modèles et rubriques nécessaires à votre solution FileMaker Data API. Si vous utilisez une base de données existante, envisagez de créer un modèle spécifique à votre solution FileMaker Data API.
Les appels FileMaker Data API qui accèdent aux données des enregistrements vous obligent à spécifier un modèle. FileMaker Data API utilise la vue par défaut définie pour le modèle que vous avez spécifié. Indiquez un modèle qui définit la Vue Formulaire comme vue par défaut. Si au contraire vous utilisez un modèle qui définit la Vue Tableau comme vue par défaut, FileMaker Data API ne sera pas en mesure d'obtenir des données des enregistrements liés.
Protéger vos solutions FileMaker Data API
FileMaker Data API nécessite la connexion de votre code d'API REST à une session de base de données au moyen d'un compte protégé par mot de passe. Affectez des mots de passe aux comptes de base de données utilisés pour l'accès de l'API REST ou utilisez un fournisseur de service OAuth pour ces comptes.
Remarque :Au moment de définir les noms des comptes et les mots de passe des solutions FileMaker Data API, utilisez des caractères ASCII imprimables, par exemple a-z, A-Z et 0-9. Pour sécuriser davantage encore les noms des comptes et les mots de passe, intégrez des caractères de ponctuation du type « ! » et « % » mais n'utilisez pas les deux points. Consultez l'Aide FileMaker Pro Advanced.
Activer l'accès via FileMaker Data API
Vous devez activer le privilège étendu Accès via FileMaker Data API dans chaque base de données à laquelle vous souhaitez accéder avec FileMaker Data API. Si vous n'activez pas le privilège étendu FileMaker Data API dans la base de données, les applications d'API REST ne pourront pas utiliser FileMaker Data API pour accéder à la base de données, même si celle-ci est hébergée par FileMaker Server.
Pour activer l'accès à une base de données via FileMaker Data API :
- Dans FileMaker Pro Advanced, ouvrez la base de données en utilisant un compte bénéficiant du jeu de privilèges Accès intégral. Une autre possibilité consiste à ouvrir la base de données en utilisant un compte bénéficiant des privilèges d'accès Gérer les autorisations étendues.
- Dans l'onglet Privilèges étendus de la boîte de dialogue Gérer la sécurité, sélectionnez le privilège étendu fmrest pour l'activer.
- Assignez à un ou plusieurs comptes les jeux de privilèges qui intègrent le privilège étendu fmrest.
Remarque :Pour des raisons de sécurité, activez uniquement le privilège étendu fmrest dans les jeux de privilèges des comptes auxquels vous souhaitez donner accès à votre base de données hébergée.
Consultez la section « Création et modification des jeux de privilèges » dans l'Aide FileMaker Pro Advanced.
Concevoir la solution FileMaker Data API
Fonctionnalités de FileMaker Data API
FileMaker Data API fournit une API REST pour accéder aux données des bases de données hébergées. Avec FileMaker Data API, votre code peut :
- se connecter à une base de données hébergée ou s'en déconnecter. Consultez la section Se connecter à une base de données ou s'en déconnecter.
- créer, modifier, supprimer ou obtenir un enregistrement ou une plage d'enregistrements. Consultez la section Utiliser les enregistrements.
- exécuter des requêtes. Consultez la section Exécuter une requête.
- définir des valeurs de rubrique de type Global. Consultez la section Définir des valeurs de rubrique de type Global.
- exécuter des scripts FileMaker. Consultez la section Scripts FileMaker et FileMaker Data API.
- uploader des données dans des rubriques Conteneur. Consultez la section Uploader des données de conteneur.
- accéder aux données dans des tables FileMaker externes. Consultez la section Se connecter à une source de données externe.
- utiliser un modèle différent pour les données de réponse au moment d'obtenir un enregistrement ou une plage d'enregistrements. Consultez les sections Obtenir un enregistrement, Obtenir une plage d'enregistrements et Exécuter une requête.
FileMaker Data API ne prend pas en charge :
- l'accès aux données dans des sources de données ODBC externes.
- les plug-ins FileMaker.
- l'activation des déclencheurs de script par l'utilisateur. Une solution FileMaker Data API peut activer des déclencheurs de script uniquement en exécutant un script FileMaker.
- l'accès au système de fichiers de la machine serveur. Par exemple, FileMaker Data API ne prend pas en charge la fonction Obtenir(CheminTemporaire) de FileMaker Pro Advanced. Cette fonction renvoie une chaîne vide lorsqu'elle est utilisée avec FileMaker Data API. Il est possible de stocker les fichiers dans une rubrique Conteneur, mais sans accès au système de fichiers du serveur.
FileMaker Data API renvoie les données de rubrique telles qu'elles sont stockées dans la base de données, et non telles qu'elles sont affichées dans FileMaker Pro Advanced.
Informations de référence sur FileMaker Data API
Au moment d'installer FileMaker Server, vous avez installé les fichiers de référence FileMaker Data API. Cette référence fournit des informations détaillées sur tous les appels pris en charge par FileMaker Data API.
Remarque :Pour afficher cette référence, vérifiez que l'accès à FileMaker Data API a été activé dans l'Admin Console. Consultez l'Aide FileMaker Server.
- Pour afficher cette référence dans une fenêtre de navigateur sur l'ordinateur maître, saisissez l'URL
https://localhost/fmi/data/apidoc/
- Pour afficher cette référence dans une fenêtre de navigateur sur un ordinateur distant, saisissez l'URL
https://
hôte
/fmi/data/apidoc/
où[hôte]
est l'adresse IP ou le nom d'hôte de l'ordinateur maître exécutant FileMaker Server. Sur un serveur Windows, les fichiers de référence se trouvent dans le dossier
[disque]
:\Program Files\FileMaker\FileMaker Server\Documentation\Data API Documentation
où[disque]
est le disque sur lequel se trouve le déploiement FileMaker Server.Si vous effectuez votre installation sur un emplacement sous Windows autre que celui par défaut, votre emplacement d'installation remplace la première partie du chemin d'installation par défaut
[disque]
:[emplacement_installation]
\FileMaker\FileMaker Server\Documentation\Data API Documentation- Sur un serveur macOS, les fichiers de référence se trouvent dans le dossier
/Bibliothèque/FileMaker Server/Documentation/Data API Documentation
Remarques
- Pour afficher les variables des URL dans les fichiers de référence, utilisez un mot-clé précédé du signe deux points (:). Par exemple :
:base
- Dans ce guide, les variables des URL sont indiquées en italique. Par exemple :
nom-base
Remarques concernant les URL et le format des données
- Certaines URL ou parties d'URL ne sont pas sensibles à la casse. Néanmoins, en règle générale, traitez-les comme si elles l'étaient. Par exemple, si vous utilisez un nom de base de données en minuscules pour vous connecter à une session de base de données, continuez à utiliser un nom de base de données en minuscules pour les URL suivantes qui transmettent le même jeton de session. Dans le cas contraire, vous pourriez recevoir un message d'erreur indiquant un jeton non valide.
- Les chaînes des URL doivent utiliser le codage URL également appelé %-encodage, ce qui est normal pour les requêtes HTTP. Par exemple, pour indiquer un nom de modèle qui inclut un caractère barre oblique, vous devez spécifier ce dernier sous forme de valeur encodée : « %2F ».
- Les valeurs de données de chaîne définies dans les paramètres, dans le corps de la requête, doivent utiliser le codage UTF-8.
- En règle générale, FileMaker Data API traite les valeurs de données numériques comme si elles étaient au format virgule flottante double précision (binaire 64). Utilisez le format de données correspondant au langage de programmation choisi. (Les valeurs de données numériques ne doivent pas être mises entre guillemets et ne doivent pas utiliser l'encodage URL.)
- Les valeurs de données des rubriques de type nombre, date, heure et horodatage suivent les mêmes limites que celles définies par FileMaker Pro Advanced. Consultez l'Aide FileMaker Pro Advanced.
- Les rubriques et tables externes que vous spécifiez doivent figurer dans le modèle indiqué.
- Pour spécifier des rubriques liées, utilisez la syntaxe
portalData
.Remarque :La syntaxe
nomtable::rubrique-liée(nombre-répétition).id-enregistrement
issue de la publication précédente est encore prise en charge, mais nous vous conseillons d'utiliser la syntaxeportalData
. - Pour les données de rubrique Conteneur, FileMaker Data API renvoie à l'objet de données de conteneur une URL contenant la référence au chemin.
Scripts FileMaker et FileMaker Data API
Les scripts FileMaker peuvent automatiser les tâches fréquentes et combiner plusieurs tâches. Lorsque les scripts FileMaker sont utilisés avec FileMaker Data API, ils permettent aux services Web d'exécuter plusieurs tâches ou une série de tâches. Consultez la section Exécution de scripts FileMaker.
Pour visualiser les actions de script acceptées par FileMaker Data API, ouvrez l'Espace de travail de script de FileMaker Pro Advanced, cliquez sur le bouton Compatibilité, puis sélectionnez FileMaker Data API. Les actions de script non grisées sont prises en charge par FileMaker Data API. L'exécution de certaines diffère dans FileMaker Data API et FileMaker Pro Advanced. Consultez l'Aide FileMaker Pro Advanced.
Les scripts exécutés par FileMaker Data API ne peuvent pas exécuter de scripts dans d'autres fichiers FileMaker, à moins que ces fichiers ne soient hébergés dans la même installation de FileMaker Server et que le privilège étendu fmrest ne soit activé dans ces autres fichiers.
Dans FileMaker Pro Advanced, les scripts et actions des utilisateurs (par exemple, l'utilisateur cliquant dans une rubrique) peuvent activer des déclencheurs de script. Toutefois, dans les solutions FileMaker Data API, seuls les scripts peuvent activer des déclencheurs de script. Pour plus d'informations sur les déclencheurs de script, consultez l'Aide FileMaker Pro Advanced.
Remarques
- Tenez compte de la quantité de données et du nombre d'enregistrements qu'un script peut renvoyer, puis définissez les scripts en conséquence. Dans FileMaker Pro Advanced, un script peut renvoyer tous les enregistrements d'une table ou d'un jeu d'enregistrements trouvés. Toutefois, si un script renvoie tous les enregistrements d'une table, un service Web qui tente de tous les traiter peut se heurter à un problème de mémoire.
- Utilisez les comptes et privilèges pour restreindre l'ensemble des scripts qu'un service Web exécute. Vérifiez que les scripts contiennent exclusivement des actions de script compatibles avec le Web et donnez uniquement accès aux scripts pouvant être utilisés depuis un service Web.
- Pensez aux effets secondaires des scripts qui exécutent une combinaison d'actions contrôlées par des privilèges d'accès. Par exemple, si un script comporte une action visant à supprimer des enregistrements et qu'un service Web ne se connecte pas avec un compte autorisant la suppression d'enregistrements, le script n'exécutera pas l'action Supprimer des enregistrements. L'exécution du script peut néanmoins se poursuivre et mener à des résultats inattendus.
- Dans l'Espace de travail de script, accordez les privilèges d'accès intégral à un script afin d'effectuer des actions auxquelles des utilisateurs n'ont normalement pas accès. Par exemple, vous pouvez empêcher les utilisateurs de supprimer des enregistrements avec leurs comptes et privilèges, mais les autoriser à exécuter un script visant à supprimer certains enregistrements dans les conditions définies dans le script.
- Certains scripts qui ont besoin d'une action de script uniquement lorsqu'ils sont exécutés depuis un client FileMaker Pro Advanced nécessitent parfois une action de script Valider enreg./requêtes supplémentaire pour enregistrer les données sur l'hôte lorsqu'ils sont exécutés dans une solution FileMaker Data API. Comme les services Web ne bénéficient pas d'une connexion directe à l'hôte, ils ne sont pas informés des modifications apportées aux données. Par exemple, il arrive parfois que des fonctions comme les listes de valeurs conditionnelles ne fonctionnent pas comme prévu, car les données doivent être enregistrées sur l'hôte.
- Tout script modifiant des données doit inclure l'action de script Valider enreg./requêtes, car toutes les modifications apportées aux données ne sont pas accessibles tant que les données ne sont pas enregistrées sur le serveur. Ceci inclut des actions de script telles que Couper, Copier ou Coller. De nombreuses actions de script uniques doivent être converties en script pour inclure l'action Valider enreg./requêtes. Lors de la conception de scripts destinés à être exécutés depuis un service Web, incorporez l'action Valider enreg./requêtes en fin de script pour garantir l'enregistrement de toutes les modifications.
- Ouvrez les scripts susceptibles d'être exécutés par les utilisateurs Web et vérifiez qu'ils s'exécutent correctement lorsque la base de données est hébergée en tant que solution FileMaker Data API. Vérifiez que le script utilise uniquement les actions de script prises en charge par FileMaker Data API, comme décrit plus haut.
Ecrire des appels FileMaker Data API
Composants des appels d'API REST
Les appels FileMaker Data API utilisent les composants ci-après.
Composant | Description |
---|---|
Une méthode HTTP (également appelée verbe HTTP) |
FileMaker Data API utilise les méthodes HTTP suivantes :
|
En-têtes HTTP |
FileMaker Data API utilise les en-têtes suivants :
|
Une URL d'appel | Les URL FileMaker Data API commencent toutes par :
|
Données de paramètres au format JSON | Inutiles pour se déconnecter d'une session de base de données, supprimer un enregistrement, obtenir un enregistrement unique ou obtenir une plage d'enregistrements. |
Se connecter à une base de données ou s'en déconnecter
FileMaker Data API utilise un jeton d'accès pour définir une connexion à une base de données. Ce jeton d'accès doit figurer dans l'en-tête de tous les appels ultérieurs à la base de données hébergée. Il est valide jusqu'à ce que vous vous déconnectiez d'une session de base de données ou pendant une durée de 15 minutes après le dernier appel ayant permis de le spécifier. (Tant que ce jeton est valide, chaque appel qui le spécifie réinitialise le compteur de délai d'expiration de session et le remet à zéro.)
Se connecter à une session de base de données
Pour vous connecter à une base de données hébergée, utilisez une méthode HTTP POST avec l'URL sessions
en indiquant le nom d'une base de données hébergée. Le nom et le mot de passe du compte sont indiqués dans une chaîne Authorization d'en-tête. Si le nom de compte et le mot de passe sont authentifiés, votre code reçoit un jeton d'accès qui définit votre connexion à la base de données. Cette connexion est appelée session de base de données.
Méthode HTTP | POST |
---|---|
URL | /fmi/data/v1/databases/nom_base/sessions nom-base est le nom de la base de données hébergée |
En-tête HTTP | Content-Type: application/json Authorization : chaîne codée en base64 représentant le nom et le mot de passe du compte que vous devez utiliser pour vous connecter à la base de données hébergée. Cette chaîne en base64 doit suivre le schéma d'authentification HTTP standard de base. (Le nom et le mot de passe du compte sont séparés par une virgule.) |
Paramètres |
Un ensemble d'accolades vides. Par exemple :
Vous pouvez éventuellement utiliser le paramètre |
Réponse | Le jeton d'accès, un corps de réponse vide et un tableau de messages indiquant un code d'erreur de 0. L'en-tête X-FM-Data-Access-Token est renvoyé dans la réponse. Il correspond au jeton de session à utiliser pour les appels d'API suivants. Par exemple : X-FM-Data-Access-Token: 823c0f48bb80f2187bde6f3859dabd4dcf8ea43be420dfeadf34 { "response": {}, "messages":[{"code":"0","message":"OK"}] }
Consultez la section Codes d'erreur. |
Se connecter à une source de données externe
Si votre base de données hébergée a besoin de se connecter à une source de données externe, son nom est indiqué dans l'URL. Le nom et le mot de passe du compte de la base de données hébergée sont précisés dans la chaîne Authorization d'en-tête. Le nom de la base de données, le nom du compte et le mot de passe de la source de données externes sont quant à eux mentionnés dans le paramètre fmDataSource
sous la forme d'un array JSON.
Méthode HTTP | POST |
---|---|
URL | /fmi/data/v1/databases/nom_base/sessions nom-base est le nom de la base de données hébergée |
En-tête HTTP | Content-Type: application/json Authorization : chaîne codée en base64 représentant le nom et le mot de passe du compte que vous devez utiliser pour vous connecter à la base de données hébergée. Cette chaîne en base64 doit suivre le schéma d'authentification HTTP standard de base. |
Paramètres | Paramètre Par exemple : { "fmDataSource": [ { "database":"contacts", "username":"admin", "password":"admin" } ] }
Si vous utilisez un compte OAuth pour vous connecter à la source de données externe, spécifiez la valeur d'en-tête X-FMS-Request-ID ( { "fmDataSource": [ { "database":"contacts", "oAuthRequestId": "E65B98BB17429CO643B31119F", "oAuthIdentifier": "B164A3459A776E5177445DR223"} ] }
|
Réponse | Le jeton d'accès, un corps de réponse vide et un tableau de messages indiquant un code d'erreur de 0. L'en-tête X-FM-Data-Access-Token est renvoyé dans la réponse. Il correspond au jeton de session à utiliser pour les appels d'API suivants. Par exemple : X-FM-Data-Access-Token: c13c0f486780f2187bde6f3859dabd4dcf8ea43be420dfeadf34 { "response": {}, "messages":[{"code":"0","message":"OK"}] }
Consultez la section Codes d'erreur. |
Remarque :Les bases de données FileMaker sont les seules sources de données externes prises en charge. Indiquez le nom de la base de données sans l'extension .fmp12.
Se connecter à une session de base de données avec un fournisseur d'identité OAuth
Pour vous connecter à une base de données hébergée avec un fournisseur d'identité OAuth, utilisez une méthode HTTP POST avec l'URL sessions
en indiquant la base de données. Utilisez les chaînes X-FM-Data-OAuth-Request-Id et X-FM-Data-OAuth-Identifier dans l'en-tête pour authentifier l'accès à la base de données hébergée. Si l'authentification est acceptée, votre code reçoit un jeton d'accès qui définit la connexion à la base de données. Cette connexion est appelée session de base de données.
Méthode HTTP | POST |
---|---|
URL | /fmi/data/v1/databases/nom_base/sessions nom-base est le nom de la base de données hébergée |
En-tête HTTP | Content-Type: application/json X-FM-Data-OAuth-Request-Id: id-requête X-FM-Data-OAuth-Identifier: paramètre-identifiant |
Paramètres |
Un ensemble d'accolades vides. Par exemple : Vous pouvez éventuellement utiliser le paramètre |
Réponse | Le jeton d'accès, un corps de réponse vide et un tableau de messages indiquant un code d'erreur de 0. L'en-tête X-FM-Data-Access-Token est renvoyé dans la réponse. Il correspond au jeton de session à utiliser pour les appels d'API suivants. Par exemple : X-FM-Data-Access-Token: 823c0f48bb80f2187bde6f3859dabd4dcf8ea43be420dfeadf34 { "response": {}, "messages":[{"code":"0","message":"OK"}] }
Consultez la section Codes d'erreur. |
Pour obtenir les paramètres OAuth au format JSON :
-
Obtenez la liste des fournisseurs OAuth pris en charge au moyen d'une méthode HTTP GET avec l'URL suivante :
https://hôte/fmws/oauthproviderinfo
où hôte correspond à l'adresse IP ou au nom de domaine de l'ordinateur maître de votre déploiement FileMaker Server. Cette liste est renvoyée au format JSON.
- Sélectionnez un fournisseur OAuth pris en charge, puis obtenez un identifiant de suivi de session.
-
Utilisez une méthode HTTP GET avec l'URL suivante :
http://hôte/oauth/getoauthurl?trackingID=ID-suivi&provider=fournisseur-OAuth&address=127.0.0.1&X-FMS-OAuth-AuthType=2
où hôte correspond à l'adresse IP ou au nom de domaine de l'ordinateur maître de votre déploiement FileMaker Server, ID-suivi est l'identifiant de suivi généré par le développeur pour votre session et fournisseur-OAuth est le nom du fournisseur OAuth sélectionné.
L'en-tête HTTP de cette requête doit inclure les éléments suivants :
- X-FMS-Application-Type : 9
- X-FMS-Application-Version : 15
- X-FMS-Return-URL : http://127.0.0.1/
- Lisez l'en-tête de réponse des données X-FMS-Request-ID. Il contient l'identifiant de requête OAuth que vous utiliserez pour la chaîne X-FM-Data-OAuth-Request-ID de l'en-tête.
- Lisez l'en-tête de réponse des données X-FMS-Return-URL. Appelez l'URL renvoyée dans ce paramètre pour autoriser l'utilisateur à s'authentifier auprès du fournisseur OAuth.
- L'« identifiant » renvoyé par le fournisseur OAuth est le paramètre d'identifiant OAuth que vous utiliserez pour la chaîne X-FM-Data-OAuth-Identifier de l'en-tête.
Consultez la section « Création de comptes authentifiés via un fournisseur d'identité OAuth » de l'Aide FileMaker Pro Advanced.
Se déconnecter d'une session de base de données
Lorsque votre code a fini d'accéder à la base de données hébergée, utilisez une méthode HTTP DELETE avec l'URL sessions
en indiquant le nom de la base de données hébergée et le jeton d'accès de la session. Si votre code ne vous permet pas de vous déconnecter de la session de base de données, le jeton d'accès perd sa validité au moment où la session FileMaker Data API expire, soit 15 minutes après le dernier appel ayant permis de spécifier le jeton.
Méthode HTTP | DELETE |
---|---|
URL | /fmi/data/v1/databases/nom-base/sessions/jeton-session nom-base est le nom de la base de données hébergée jeton-session est le paramètre X-FM-Data-Access-Token de la session de base de données |
En-tête HTTP | Content-Type: application/json |
Paramètres | Aucun |
Réponse |
Un corps de réponse vide et un tableau de messages indiquant un code d'erreur de 0. Par exemple : { "response": {}, "messages":[{"code":"0","message":"OK"}] }
Consultez la section Codes d'erreur. |
Utiliser les enregistrements
Créer un enregistrement
Pour créer un enregistrement, utilisez une méthode HTTP POST avec l'URL records
en indiquant le nom de la base de données et le modèle.
Méthode HTTP | POST |
---|---|
URL | /fmi/data/v1/databases/nom-base/layouts/nom-modèle/records nom-base est le nom de la base de données hébergée |
En-tête HTTP | Content-Type: application/json Authorization : Bearer jeton-session, où jeton-session est la valeur X-FM-Data-Access-Token unique de la session de base de données |
Paramètres | Données d'enregistrement au format JSON contenant des paires rubrique/valeur qui indiquent les valeurs des rubriques dans le modèle cible. A l'aide de la spécification portalData, ces données peuvent spécifier des enregistrements liés ou des tables externes se trouvant dans le modèle. Un nom de table externe peut être le nom de l'objet tel qu'indiqué dans l'Inspecteur de FileMaker Pro Advanced ou le nom de la table liée. Par exemple : {"fieldData": { "String Field": "valeur_1", "Number Field": 99.99, "repetitionField(1)" : "valeurRubrique" } }
Remarque :Pour créer un enregistrement vide avec des valeurs par défaut pour chaque rubrique, indiquez comme paramètre un objet de données vide au format JSON. Par exemple : {"fieldData": { } }
Vous pouvez exécuter des scripts FileMaker dans le cadre de cette requête en insérant les paramètres |
Réponse |
Identifiant de l'enregistrement créé et tableau de messages indiquant un code d'erreur de 0. Par exemple : { "response": {"recordId":147}, "messages":[{"code":"0","message":"OK"}] }
Consultez la section Codes d'erreur. |
Remarques
- Quand vous créez des enregistrements avec FileMaker Data API, vous validez les rubriques. Si la validation des rubriques n'a pas lieu, vous recevez un message d'erreur et l'enregistrement n'est pas créé.
Modifier un enregistrement
Pour modifier un enregistrement, utilisez une méthode HTTP PATCH avec l'URL records
en indiquant le nom de la base de données, le modèle et l'identifiant de l'enregistrement.
Méthode HTTP | PATCH |
---|---|
URL | /fmi/data/v1/databases/nom-base/layouts/nom-modèle/records/id-enregistrement nom-base est le nom de la base de données hébergée |
En-tête HTTP |
Content-Type: application/json Authorization : Bearer jeton-session, où jeton-session est la valeur X-FM-Data-Access-Token unique de la session de base de données |
Paramètres | Données d'enregistrement au format JSON contenant des paires rubrique/valeur à mettre à jour. A l'aide de la spécification portalData, ces données peuvent spécifier des enregistrements liés ou des tables externes se trouvant dans le modèle. Un nom de table externe peut être le nom de l'objet tel qu'indiqué dans l'Inspecteur de FileMaker Pro Advanced ou le nom de la table liée.
Seules les rubriques que vous indiquez sont mises à jour. Les autres rubriques de l'enregistrement restent inchangées. Si « {} » est fourni comme valeur Paramètre facultatif : identifiant de modification ( Par exemple : { "fieldData": { "Prénom": "Jean", }, "portalData": { "JobsTable": [ { "recordId": 70, "modId": 4, "Tâche::Nom": "Sous-traitant" } ] } }
Vous pouvez exécuter des scripts FileMaker dans le cadre de cette requête en insérant les paramètres |
Réponse |
Un corps de réponse vide et un tableau de messages indiquant un code d'erreur de 0. Par exemple : { "response": {}, "messages":[{"code":"0","message":"OK"}] }
Consultez la section Codes d'erreur. |
Remarques
- Quand vous modifiez des enregistrements avec FileMaker Data API, vous validez les rubriques. Si la validation des rubriques n'a pas lieu, vous recevez un message d'erreur et l'enregistrement n'est pas mis à jour.
-
Pour supprimer un enregistrement lié, utilisez la syntaxe
deleteRelated
.Par exemple :
"deleteRelated" : "Commandes.3"
Un seul enregistrement lié peut être supprimé par appel de modification d'enregistrement.
Supprimer un enregistrement
Pour supprimer un enregistrement, utilisez une méthode HTTP DELETE avec l'URL records
en indiquant le nom de la base de données, le modèle et l'identifiant de l'enregistrement.
Méthode HTTP | DELETE |
---|---|
URL | /fmi/data/v1/databases/nom-base/layouts/nom-modèle/records/id-enregistrement nom-base est le nom de la base de données hébergée Vous pouvez exécuter des scripts FileMaker dans le cadre de cette requête en insérant les paramètres |
En-tête HTTP | Authorization : Bearer jeton-session, où jeton-session est la valeur X-FM-Data-Access-Token unique de la session de base de données |
Paramètres | Aucun |
Réponse |
Un corps de réponse vide et un tableau de messages indiquant un code d'erreur de 0. Par exemple : { "response": {}, "messages":[{"code":"0","message":"OK"}] }
Consultez la section Codes d'erreur. |
Obtenir un seul enregistrement
Pour obtenir un enregistrement, utilisez une méthode HTTP GET avec l'URL records
en indiquant le nom de la base de données, le modèle et l'identifiant de l'enregistrement. Vous pouvez également indiquer des informations de table externe pour limiter le nombre d'enregistrements liés renvoyés.
Méthode HTTP | GET |
---|---|
URL | Format 1: /fmi/data/v1/databases/nom-base/layouts/nom-modèle/records/id-enregistrement
nom-base est le nom de la base de données hébergée Pour le mot-clé de la table externe : La partie de l'URL correspondant à la table externe est facultative. Si le modèle inclut des tables externes, indiquez leur nom pour améliorer les performances. Si la partie relative aux tables externes est ignorée, l'appel renvoie tous les enregistrements liés dans toutes les tables externes du modèle. Pour Pour Si vous voulez que les données de la réponse suivent un modèle différent, utilisez le paramètre Vous pouvez exécuter des scripts FileMaker dans le cadre de cette requête en insérant les paramètres |
En-tête HTTP | Authorization : Bearer jeton-session, où jeton-session est la valeur X-FM-Data-Access-Token unique de la session de base de données |
Paramètres | Aucun |
Réponse |
Les données de l'enregistrement au format JSON et un tableau de messages indiquant un code d'erreur de 0. Par exemple : { "response": { "data": [ ... ] }, "messages": [{"code":"0","message":"OK"}] }
Consultez la section Codes d'erreur. |
Remarques
- Afin de renvoyer des données pour des rangées précises de la table externe, utilisez
_offset.nom-table
et_limit.nom-table
, où nom-table est le nom de la table externe dans l'Inspecteur de FileMaker Pro Advanced. Si vous n'indiquez aucune valeur de décalage ou de limite pour les rangées de la table externe, le décalage par défaut est de 1 et la limite par défaut de 50 enregistrements.
Obtenir une plage d'enregistrements
Pour obtenir une plage d'enregistrements, utilisez une méthode HTTP GET avec l'URL records
en indiquant le nom de la base de données, le modèle et des informations supplémentaires (enregistrement de départ et nombre d'enregistrements). Précisez éventuellement l'ordre de tri des enregistrements. Vous pouvez également indiquer des informations de table externe pour limiter le nombre d'enregistrements liés renvoyés.
Méthode HTTP | GET |
---|---|
URL |
Format 1 (renvoie jusqu'aux 100 premiers enregistrements) : nom-base est le nom de la base de données hébergée Pour Pour Pour la spécification Pour le mot-clé de la table externe : La partie de l'URL correspondant à la table externe est facultative. Si le modèle inclut des tables externes, indiquez leur nom pour améliorer les performances. Si la partie relative aux tables externes est ignorée, l'appel renvoie tous les enregistrements liés dans toutes les tables externes du modèle. Pour Pour Si vous voulez que les données de la réponse suivent un modèle différent, utilisez le paramètre
Vous pouvez exécuter des scripts FileMaker dans le cadre de cette requête en insérant les paramètres |
En-tête HTTP | Authorization : titulaire jeton-session, où jeton-session est la valeur X-FM-Data-Access-Token unique de la session de base de données |
Paramètres | Aucun |
Réponse |
Les données de l'enregistrement au format JSON et un tableau de messages indiquant un code d'erreur de 0. Par exemple : { "response": { "data": [ ... ] }, "messages": [{"code":"0","message":"OK"}] }
Consultez la section Codes d'erreur. |
Remarques
- Si vous n'indiquez aucune valeur de décalage et de limite, le décalage par défaut est de 1 et la limite de 100 enregistrements :
_offset=1&_limit=100
- Sans mot-clé sortOrder, la valeur par défaut est
ascend
. Par exemple,&_sort=[{ "fieldName": "Idenregistrement" }]
est traité comme :&_sort=[{ "fieldName": "Idenregistrement", "sortOrder": "ascend" }]
- Afin de renvoyer des données pour des rangées précises de la table externe, utilisez
_offset.nom-table
et_limit.nom-table
, où nom-table est le nom de la table externe dans l'Inspecteur de FileMaker Pro Advanced. Si vous n'indiquez aucune valeur de décalage ou de limite pour les rangées de la table externe, le décalage par défaut est de 1 et la limite par défaut de 50 enregistrements.
Uploader des données de conteneur
Pour uploader des données de conteneur, utilisez une méthode HTTP POST avec l'URL containers
en indiquant le nom de la base de données, le nom du modèle, l'identifiant de l'enregistrement, le nom de la rubrique et une répétition de rubrique.
Méthode HTTP | POST |
---|---|
URL | Format : /fmi/data/v1/databases/nom-base/layouts/nom-modèle/records/id-enregistrement/containers/nom-rubrique/répétition-rubrique
|
En-tête HTTP |
Content-Type: multipart/form-data Authorization : Bearer jeton-session, où jeton-session est la valeur X-FM-Data-Access-Token unique de la session de base de données |
Paramètres | Un flux de données MIME en plusieurs parties (Content-Type: multipart/form-data) dans lequel l'objet de rubrique Conteneur est défini comme une partie avec Utilisez une bibliothèque qui prend en charge la spécification de multipart/form-data. |
Réponse |
Un corps de réponse vide et un tableau de messages indiquant un code d'erreur de 0. Par exemple : { "response": {}, "messages":[{"code":"0","message":"OK"}] }
Consultez la section Codes d'erreur. |
Remarques
- La rubrique Conteneur doit être une rubrique de l'occurrence de table du modèle indiqué. Elle ne peut pas être une rubrique Conteneur d'une table liée.
- FileMaker Data API autorise tous les types MIME. Aucune vérification des types MIME n'est effectuée visant à les limiter aux types pris en charge par les logiciels FileMaker ou le serveur Web.
- FileMaker Data API met en cache les données de la rubrique Conteneur dans un dossier cache de l'ordinateur maître au moment où elles sont uploadées. Néanmoins, les données mises en cache sont supprimées à la fin de la requête.
Exécuter une requête
Pour exécuter une requête, utilisez une méthode HTTP POST avec l'URL _find
en indiquant le nom de la base de données, le modèle et des informations supplémentaires (rubriques de requête et critères, ordre de tri, enregistrement de départ et nombre d'enregistrements). Vous pouvez également indiquer des informations de table externe pour limiter le nombre d'enregistrements liés renvoyés.
Méthode HTTP | POST |
---|---|
URL |
/fmi/data/v1/databases/nom-base/layouts/nom-modèle/_find nom-base est le nom de la base de données hébergée |
En-tête HTTP |
Content-Type: application/json Authorization : Bearer jeton-session, où jeton-session est la valeur X-FM-Data-Access-Token unique de la session de base de données |
Paramètres | Une requête au format JSON spécifiant les rubriques et critères de recherche. Paramètres facultatifs indiquant les requêtes à ignorer, l'ordre de tri, l'enregistrement de départ (décalage), le nombre d'enregistrements (limite) et les tables externes pour limiter le nombre d'enregistrements liés renvoyés. Si vous voulez que les données de la réponse suivent un modèle différent, utilisez le paramètre Par exemple : { "query":[ {"Group": "=Chirurgien"}, {"Région de travail" : "Ile de France", "omit" : "true"}], "sort":[ {"fieldName": "Région de travail","sortOrder": "ascend"}, {"fieldName": "Prénom", "sortOrder": "ascend"} ] }
Exemple avec décalage, limite et tables externes : { "query":[ {"Group": "=Chirurgien"}, {"Région de travail" : "Ile de France", "omit" : "true"}], "portal": ["Table1","Table2"], "limit": "10", "offset": "1", "offset.Table1": "1", "limit.Table1": "5", "layout.response": "Docteurs" }
Vous pouvez exécuter des scripts FileMaker dans le cadre de cette requête en insérant les paramètres |
Réponse |
Les données de l'enregistrement au format JSON et un tableau de messages indiquant un code d'erreur de 0. Par exemple : { "response": { "data": [ ... ] }, "messages": [{"code":"0","message":"OK"}] }
Consultez la section Codes d'erreur. |
Remarques
- Dans une base de données comportant de nombreux enregistrements liés, l'interrogation et le tri des enregistrements de la table externe peuvent demander beaucoup de temps. Pour limiter le nombre d'enregistrements et de rangées à afficher dans un ensemble lié, précisez les paramètres offset.nom-table et limit.nom-table.
- Les rubriques de type Global ne sont pas autorisées dans les critères de recherche. Si vous en indiquez, vous recevez un message d'erreur. Au lieu de cela, indiquez la valeur de la rubrique de type Global avant la recherche. Consultez la section Définir des valeurs de rubrique de type Global.
Définir des valeurs de rubrique de type Global
Pour définir les valeurs des rubriques de type Global, utilisez une méthode HTTP PATCH avec l'URL globals
en indiquant le nom de la base de données.
Méthode HTTP | PATCH |
---|---|
URL | /fmi/data/v1/databases/nom-base/globals nom-base est le nom de la base de données hébergée |
En-tête HTTP |
Content-Type: application/json Authorization : Bearer jeton-session, où jeton-session est la valeur X-FM-Data-Access-Token unique de la session de base de données |
Paramètres | Un objet JSON avec paires rubrique/valeur indiquant les rubriques de type Global à définir. Les rubriques de type Global doivent être définies au moyen de noms de rubrique entièrement qualifiés (nom table::nom rubrique). Par exemple : { "globalFields": { "baseTable::gEntreprise":"FileMaker", "baseTable::gCode":"95054" } }
|
Réponse |
Un corps de réponse vide et un tableau de messages indiquant un code d'erreur de 0. Par exemple : { "response": {}, "messages":[{"code":"0","message":"OK"}] }
|
Exécution de scripts FileMaker
Paramètre | Valeur |
---|---|
script
|
Nom du script à exécuter après l'action indiquée par l'appel d'API (obtenir, créer, modifier, supprimer, rechercher) et après le tri suivant. |
script.param
|
Chaîne de texte à utiliser comme paramètre pour le script nommé d'après script .
|
script.prerequest
|
Nom du script à exécuter avant l'action indiquée par l'appel d'API et le tri suivant. |
script.prerequest.param
|
Chaîne de texte à utiliser comme paramètre pour le script nommé d'après script.prerequest .
|
script.presort
|
Nom du script à exécuter après l'action indiquée par l'appel d'API mais avant le tri suivant. |
script.presort.param
|
Chaîne de texte à utiliser comme paramètre pour le script nommé d'après script.presort .
|
Ordre d'exécution du script
Vous pouvez préciser les paramètres script.prerequest
, script.presort
et script
dans un seul et même appel d'API. Définissez les mots-clés une fois seulement. FileMaker Server traite ces paramètres dans le cadre de l'appel d'API, dans cet ordre :
- Accédez au modèle indiqué dans l'URL.
- Si nécessaire, exécutez le script nommé d'après
script.prerequest
. - Exécutez l'action spécifiée par l'appel d'API (obtenir, créer, modifier, supprimer, rechercher).
- Si nécessaire, exécutez le script nommé d'après
script.presort
. - Exécutez le tri indiqué par l'appel d'API :
- Pour obtenir une plage d'enregistrements, exécutez le tri spécifié par le paramètre
_sort
. - Pour exécuter une requête, procédez au tri spécifié par le paramètre
sort
.
- Pour obtenir une plage d'enregistrements, exécutez le tri spécifié par le paramètre
- Si nécessaire, exécutez le script nommé d'après
script
. - Renvoyez le jeu de résultats pour cet appel d'API en appliquant si nécessaire les paramètres de décalage et de limite.
Remarques
- Pour les appels utilisant des méthodes HTTP GET et HTTP DELETE, les paramètres de script sont intégrés en tant que paramètres URL. Consultez les sections Obtenir un seul enregistrement, Obtenir une plage d'enregistrements et Supprimer un enregistrement.
- Pour les appels utilisant les méthodes HTTP POST et HTTP PATCH, les paramètres de script sont intégrés dans le corps de la requête. Consultez les sections Créer un enregistrement, Modifier un enregistrement et Exécuter une requête.
- Vous pouvez indiquer une seule chaîne de texte pour les paramètres de script
script.param
,script.prerequest.param
etscript.presort.param
. Pour transmettre plusieurs paramètres, vous pouvez créer une chaîne délimitant les paramètres et faire en sorte que votre script analyse chacun des paramètres. Par exemple, transmettez param1|param2|param3 en tant que liste, en utilisant le caractère | de codage URL de la façon suivante :param1%7Cparam2%7Cparam3
Par exemple :
https://<hôte>/fmi/data/v1/databases/clients/layouts/saisie/records/14?script=MàJTraitement&script.param=14
Par exemple :
{"query":[{"Titre":"Responsable bureau"}], "script.prerequest":"Supprimer les doublons"}
Codes d'erreur
Quand une erreur se produit, FileMaker Data API renvoie :
- un code d'état de niveau HTTP 400 pour les erreurs HTTP standard
- un code d'état HTTP 500 pour les erreurs FileMaker Server
Code d'état HTTP | Catégorie HTTP | Description |
---|---|---|
400 | Requête incorrecte | Survient lorsque le serveur ne peut pas traiter la requête suite à une erreur du client. |
401 | Non autorisé | Survient lorsque le client n'est pas autorisé à accéder à l'API. Si cette erreur survient alors que vous tentez de vous connecter à une session de base de données, vous rencontrez un problème avec le compte utilisateur ou le mot de passe indiqué. Si cette erreur survient avec d'autres appels, le jeton d'accès n'est pas spécifié ou n'est pas valide. |
403 | Interdit | Survient lorsque le client est autorisé, mais l'appel tente une action interdite pour une raison autre. |
404 | Introuvable | Survient si l'appel utilise une URL avec un schéma non valide. Recherchez les erreurs de syntaxe dans l'URL. |
405 | Méthode non autorisée | Survient lorsqu'une méthode HTTP incorrecte est utilisée avec un appel. |
415 | Type de média non pris en charge | Survient si l'en-tête requis est manquant ou incorrect pour la requête :
|
500 | Erreur FileMaker Server | Inclut les messages d'erreur et les codes d'erreur FileMaker. Consultez la section Codes d'erreur FileMaker de l'Aide FileMaker Pro Advanced. |
Remarques
- Si le moteur FileMaker Data API n'est pas en cours d'exécution ou est inaccessible, les codes d'erreur ou les messages renvoyés sont liés à votre serveur Web (Apache ou IIS).
- Pour plus d'informations sur les codes d'état HTTP supplémentaires renvoyés, consultez le site www.w3.org.
Héberger, tester et surveiller des solutions FileMaker Data API
Héberger une solution FileMaker Data API
- Passez en revue toutes les étapes décrites dans la section Préparer les bases de données pour un accès via FileMaker Data API.
- Assurez-vous que l'accès via FileMaker Data API a été activé et correctement configuré dans l'Admin Console. Consultez l'Aide FileMaker Server.
- Vérifiez le bon fonctionnement du serveur Web et du moteur FileMaker Data API.
-
Cryptez les communications.
FileMaker Data API impose à vos applications d'API REST d'utiliser une connexion HTTPS. Les connexions HTTPS utilisent le cryptage SSL (Secure Sockets Layer) pour les communications.
FileMaker Server fournit un certificat SSL standard signé par FileMaker, Inc. qui ne vérifie pas le nom du serveur. Le certificat par défaut de FileMaker est uniquement destiné à des fins de tests. Un certificat SSL personnalisé est requis à des fins de production. Consultez le Guide d'installation et de configuration de FileMaker Server.
Le langage ou la technologie que vous utilisez pour appeler FileMaker Data API doit prendre en charge le protocole TLS (Transport Layer Security) v1.2 pour communiquer avec le serveur Web.
Tester une solution FileMaker Data API
Avant de mettre votre solution FileMaker Data API en production, vérifiez qu'elle fonctionne comme prévu.
- Testez les fonctions telles que la recherche, l'ajout et la suppression des enregistrements avec différents comptes et de jeux privilèges.
- Vérifiez que les jeux de privilèges fonctionnent comme prévu en les testant avec différents comptes. Faites en sorte que des utilisateurs non autorisés ne puissent pas accéder à vos données ni les modifier.
- Testez le comportement de votre solution et vérifiez qu'il est identique d'un système d'exploitation à l'autre.
Surveiller les solutions FileMaker Data API
L'administrateur serveur peut utiliser l'Admin Console pour démarrer ou arrêter le moteur FileMaker Data API, surveiller les clients FileMaker Data API, suivre l'utilisation des appels FileMaker Data API et télécharger le fichier journal de FileMaker Data API.
Pour | Utilisez |
---|---|
Démarrer ou arrêter le moteur FileMaker Data API | Page Connecteurs de l'Admin Console > onglet FileMaker Data API ou une interface de ligne de commande. Consultez la section « Démarrage ou arrêt des composants FileMaker Server » dans l'Aide FileMaker Server. |
Surveiller les clients FileMaker Data API | Liste des clients sur la page Bases de données de l'Admin Console. Cette page présente des informations détaillées sur les clients et les bases de données en cours d'évaluation. Consultez la section « Administration des clients » de l'Aide FileMaker Server. Depuis cette page, vous pouvez déconnecter les clients FileMaker Data API, mais vous ne pouvez pas leur envoyer de messages. |
Suivre l'utilisation des appels FileMaker Data API | Page Connecteurs de l'Admin Console > onglet FileMaker Data API. Cet onglet indique la limite annuelle pour FileMaker Data API telle qu'autorisée par votre licence FileMaker Server, la quantité de données transmise pendant la période de licence en cours et la date de renouvellement de votre licence. Si vous approchez de la limite annuelle, allez sur la page Administration de l'Admin Console > onglet Licences FileMaker pour l'accroître. Consultez la section « Paramètres de FileMaker Data API » de l'Aide FileMaker Server. |
Afficher le fichier journal FileMaker Data API |
Les clients FileMaker Data API étant connectés à une base de données, les données statistiques les concernant sont consignées dans le fichier fmdapi.log. Consultez la section « Fichier journal de FileMaker Data API » de l'Aide FileMaker Server. |
Intégration de FileMaker Data API à Tableau
A propos de l'intégration à Tableau
FileMaker Server intègre le Connecteur de données Web Tableau, un exemple de mise en œuvre qui accepte les appels d'API REST au format JSON. Utilisez le Connecteur de données Web Tableau pour définir une connexion entre FileMaker Server et Tableau Desktop. Cette connexion utilise FileMaker Data API pour importer des données depuis des bases de données FileMaker hébergées dans Tableau Desktop.
Conditions requises pour le Connecteur de données Web Tableau
- Tableau Desktop, version 10 ou ultérieure pour Windows ou macOS.
- Une base de données FileMaker Pro Advanced protégée par mot de passe et contenant les données à importer. La base de données doit être hébergée sur FileMaker Server.
-
Un point de terminaison API REST valide. Pour FileMaker Server, ce point de terminaison est un point de connexion HTML qui fournit les informations nécessaires aux services Web. Ce point de terminaison a pour format
https://<nomhôte>/fmi/data/v1/tableau/fm_connector.html
oùnomhôte
correspond au nom d'hôte entièrement qualifié de votre déploiement FileMaker Server.Par exemple :
https://monserveur.monentreprise.com/fmi/data/v1/tableau/fm_connector.html
Un certificat SSL personnalisé valide sur FileMaker Server. Le Connecteur de données Web Tableau n'autorise pas l'importation de données depuis FileMaker Server sans certificat SSL personnalisé valide. Si votre serveur exige un certificat intermédiaire, ce dernier doit être installé sur le serveur sur lequel la solution FileMaker Server est déployée. Avant d'établir la connexion avec Tableau, redémarrez le serveur après avoir modifié le certificat installé.
Remarque :Si votre serveur utilise un certificat SAN (autre nom de l'objet), le nom d'hôte doit correspondre au nom commun utilisé dans ce certificat.
Se préparer à importer des données dans Tableau
Pour définir le modèle servant à l'importation et pour activer la base de données permettant d'accéder à FileMaker Data API, suivez les étapes indiquées dans la section Préparer les bases de données pour un accès via FileMaker Data API.
Remarque :Pour importer des données dans Tableau, la table doit contenir au moins un enregistrement et des données d'enregistrement.
Les types de rubrique FileMaker suivants sont importés sous forme de types de données Tableau.
Type de rubrique FileMaker | Type de données Tableau |
---|---|
Texte | Chaîne de caractères |
Date | Date |
Heure | Chaîne de caractères |
Horodatage | Date & heure |
Nombre | Nombre (décimal) |
Les types de rubrique FileMaker suivants ne sont pas pris en charge au moment de l'importation dans Tableau :
- rubriques Conteneur
- rubriques de type Statistique. Vous pouvez créer une rubrique de type Statistique dans Tableau d'après les données que vous importez depuis FileMaker.
- rubriques Calcul. Vous pouvez créer une rubrique de type Calcul dans Tableau d'après les données que vous importez depuis FileMaker.
- données de graphique
- données provenant de tables externes FileMaker Pro Advanced. Pour importer des données depuis des enregistrements liés, créez un modèle FileMaker Pro Advanced d'après la table liée, ou importez des données dans Tableau depuis des tables FileMaker Pro Advanced distinctes, puis créez un lien entre elles dans Tableau.
- répétitions de rubrique dans lesquelles l'affichage des rubriques multivaluées pour Afficher les répétitions intègre des valeurs multiples. Une seule répétition est acceptée.
- valeurs non numériques dans les rubriques de type Nombre. Si Tableau détecte des valeurs non numériques dans des rubriques de type Nombre, les données ne sont pas importées.
N'utilisez aucun mot réservé comme noms de rubrique dans FileMaker Pro Advanced.
Configurer la connexion des données dans Tableau Desktop
- Dans Tableau Desktop, sous Connexion (à gauche de l'écran), choisissez Plus > Connecteur de données Web.
- Saisissez l'URL de votre point de terminaison FileMaker Server.
https://<nomhôte>/fmi/data/v1/tableau/fm_connector.html
où<nomhôte>
correspond au nom d'hôte entièrement qualifié de FileMaker Server. -
Dans la boîte de dialogue Importer des données depuis un fichier FileMaker :
-
Connectez-vous à la base de données FileMaker Pro Advanced en saisissant les informations suivantes ou en utilisant un fournisseur d'identité OAuth.
- Nom de la base de données source : nom de la base de données FileMaker Pro Advanced
- Nom du modèle source : nom du modèle FileMaker Pro Advanced
- Nom du compte : nom du compte FileMaker Pro Advanced détenant le privilège fmrest
- Mot de passe : mot de passe du compte FileMaker Pro Advanced
- Sélectionnez Activer l'actualisation incrémentielle pour activer l'actualisation incrémentielle.
-
- Cliquez sur Importer des données FileMaker.
Tableau importe les données. La durée du traitement dépend du nombre d'enregistrements importés, de la charge du serveur et du débit du réseau. Tableau établit une correspondance entre les noms de rubrique et données FileMaker Pro Advanced et les dimensions et mesures. Les données de type Chaîne de caractères sont habituellement mises en correspondance avec les dimensions, et les données numériques avec les mesures. Cette mise en correspondance intervient automatiquement au moment de l'importation. Toutefois, vous pouvez la personnaliser.
Remarques
-
Vérifiez que le nom de modèle source que vous indiquez est bien unique. Si votre base de données possède deux modèles du même nom, Tableau ne peut pas les distinguer au moment de connecter les données. Tableau affiche un nom seulement qui peut ne pas être le modèle souhaité.
-
Utilisez l'option Activer l'actualisation incrémentielle pour importer uniquement les nouveaux enregistrements.
- Après avoir sélectionné l'option Activer l'actualisation incrémentielle et importé les données FileMaker, cliquez sur l'onglet Feuille dans Tableau pour accéder à la feuille de calcul.
- Choisissez Données > FM : nom-base / nom-modèle > Extraire > Actualisation incrémentielle.
- Sélectionnez l'onglet Source de données.
- Cliquez sur Mettre à jour pour afficher les nouveaux enregistrements.
- En activant l'actualisation incrémentielle, vous ne créez aucune connexion active et directe entre Tableau et la base de données FileMaker hébergée. Vous devez exécuter l'actualisation incrémentielle manuellement.
- L'actualisation incrémentielle importe uniquement les nouveaux enregistrements. Les enregistrements FileMaker Pro Advanced qui ont été modifiés ou supprimés ne sont pas mis à jour. Pour obtenir les données modifiées ou pour retirer les enregistrements supprimés, vous devez créer un nouveau classeur dans Tableau et réimporter les données.
- L'actualisation incrémentielle crée une rubrique appelée -Idenregistrement. Toute modification apportée à cette rubrique peut empêcher l'actualisation incrémentielle.
- Dans Tableau, vous pouvez modifier le schéma et les données qui ont été importées. Toutefois, si vous les modifiez dans Tableau, ces modifications ne sont pas répercutées dans le fichier FileMaker Pro Advanced.
- Si vous modifiez le schéma dans le fichier FileMaker Pro Advanced, vous devez créer un nouveau classeur dans Tableau, puis réimporter les données.
- La base de données Tableau Desktop peut être hébergée sur Tableau Server pour Windows.
- Si vous fermez le classeur Tableau puis que vous le rouvrez, l'importation incrémentielle ne fonctionne plus.
- Une fois la connexion aux données établie dans Tableau, le Connecteur de données Web pour FileMaker met en cache le compte utilisateur et le mot de passe jusqu'à la fermeture du classeur. Les points suivants sont également pris en compte :
- Si la session FileMaker expire pendant que vous êtes connecté à Tableau, le Connecteur de données Web pour FileMaker tente de reconnecter l'utilisateur à FileMaker Server.
- Si la connexion à Tableau expire, le Connecteur de données Web pour FileMaker tente de vous reconnecter à FileMaker Server tant que le classeur Tableau est ouvert.
- Si le classeur est fermé puis rouvert, vous devez saisir à nouveau vos nom de compte et mot de passe pendant l'importation de données initiale.
- La page Source de données de Tableau affiche jusqu'à 1 000 000 (un million) de lignes, même si un nombre plus important d'enregistrements est importé.