FileMaker 18 Data API Handbuch
Über das FileMaker Data API
Übersicht
Das FileMaker® Data API ist ein Application Programming Interface (API), das Webdiensten ermöglicht, auf Daten in bereitgestellten Datenbanken zuzugreifen. Da dieses API der Representational-State-Transfer- (REST-) Architektur entspricht, ist das FileMaker Data API ein REST API.
Ihr Webdienst bzw. Ihre Anwendung ruft das FileMaker Data API auf, um einen Authentifizierungstoken für den Zugriff auf eine bereitgestellte Datenbank zu erhalten, und verwendet dann in nachfolgenden Aufrufen diesen Token, um Datensätze zu erstellen, zu aktualisieren und zu löschen sowie Suchabfragen durchzuführen.
Das FileMaker Data API gibt Daten in JavaScript-Object-Notation- (JSON-) Format zurück, einem Textformat, das häufig bei REST APIs verwendet wird, da es unabhängig von bestimmten Programmiersprachenformaten ist.
Dieses Handbuch setzt voraus, dass Sie vertraut sind mit:
- der Verwendung von FileMaker Pro Advanced, um Datenbanken zu erstellen. Sie sollten sich mit den Grundlagen der Datenbankgestaltung von FileMaker Pro Advanced auskennen und die Konzepte von Feldern, Beziehungen, Layouts, Ausschnitten und Containerfeldern verstehen. Siehe FileMaker Pro Advanced Hilfe.
- der Verwendung von FileMaker Server bzw. einem FileMaker Cloud-Produkt für die Bereitstellung von Datenbanken. Sie sollten in der Lage sein, den Host einzurichten, den Zugang zu bereitgestellten Datenbanken zu ermöglichen und bereitgestellte Datenbanken über Admin Console zu überwachen.
- FileMaker Cloud ist ein Dienst, der Zugriff auf eigene Apps, die FileMaker Pro Advanced, FileMaker Go und FileMaker WebDirect nutzen, in der Cloud bietet. FileMaker Cloud verwendet das integrierte Anmeldesystem FileMaker-ID, um Benutzer zu authentifizieren. FileMaker Cloud wird direkt von FileMaker, Inc. angeboten.
- FileMaker Cloud for AWS ist ein Dienst, der Zugriff auf eigene Apps, die FileMaker Pro Advanced, FileMaker Go und FileMaker WebDirect nutzen, in der Cloud bietet. FileMaker Cloud for AWS läuft in der Amazon Web Services (AWS) Cloud und wird über den AWS Marketplace angeboten.
- FileMaker Cloud-Produkte bezieht sich sowohl auf FileMaker Cloud als auch auf FileMaker Cloud for AWS.
- der Verwendung von REST APIs in serverseitigen Anwendungen bzw. Webdiensten, die POST-, GET-, PATCH- und DELETE-Methoden mit Daten in JSON-Format aufrufen. Sie können Programmiersprachen und -werkzeuge je nach Wunsch einsetzen.
Dieses Handbuch verwendet Admin Console, um sich auf Admin Console für FileMaker Server, FileMaker Cloud for AWS und FileMaker Cloud zu beziehen, wenn kein bestimmtes Produkt angegeben ist. FileMaker Cloud Admin Console bezieht sich auf Admin Console für beide FileMaker Cloud-Produkte, wenn kein spezifisches Produkt genannt wird.
Um das FileMaker Data API zu verwenden, gehen Sie wie folgt vor:
- Bereiten Sie Ihre Datenbank für den FileMaker Data API-Zugriff mit FileMaker Pro Advanced vor. Sie können eine Datenbank neu erstellen oder eine vorhandene Datenbank vorbereiten. Siehe Vorbereiten von Datenbanken für FileMaker Data API-Zugriff.
- Schreiben Sie Programmcode, der FileMaker Data API-Methoden aufruft, um Datensätze in einer bereitgestellten Datenbank zu suchen, zu erstellen, zu bearbeiten, zu duplizieren und zu löschen. Siehe Schreiben von FileMaker Data API-Aufrufen.
- Stellen Sie Ihre Lösung mit aktiviertem FileMaker Data API-Zugriff bereit. Siehe Bereitstellen einer FileMaker Data API-Lösung.
- Testen Sie, ob der FileMaker Data API-Zugriff korrekt funktioniert. Siehe Testen einer FileMaker Data API-Lösung.
- Überwachen Sie Ihre bereitgestellte Lösung mithilfe von Admin Console. Siehe Überwachen von FileMaker Data API-Lösungen.
Bearbeitung eines FileMaker Data API-Aufrufs
-
Ein REST API-Client sendet einen FileMaker Data API-Aufruf (HTTPS-Abfrage) über den HTTPS-Port (Port 443) an den Web-Server. FileMaker Pro Advanced muss weder installiert sein noch ausgeführt werden.
- Der Web-Server leitet die Abfrage über das FileMaker Web-Server-Modul an die FileMaker Data API Engine weiter.
- Die FileMaker Data API Engine wandelt die HTTPS-Abfrage (URL und JSON-Daten) in ein Format um, das die Datenbank-Server-Komponente versteht, und fragt Daten von der vom Datenbank-Server bereitgestellten Datenbank ab.
- Der Datenbank-Server sendet die angeforderten FileMaker-Daten zurück an die FileMaker Data API Engine.
- Die FileMaker Data API Engine wandelt die FileMaker-Daten in eine HTTPS-Antwort (URL mit JSON-Daten) um, um auf den Aufruf zu reagieren, und gibt die Daten an den Web-Server zurück.
- Der Web-Server sendet die HTTPS-Antwort an den anfordernden REST API-Client.
Die FileMaker Data API Engine erfordert, dass die Ports 3000 und 8989 verfügbar sind.
Der Datenbank-Server erfordert, dass Port 5003 verfügbar ist.
Web Publishing-Alternativen
Wenn Sie keine Erfahrung in der Verwendung von REST APIs besitzen, können Sie die folgenden Alternativen in Erwägung ziehen, um Ihre FileMaker-Daten im Internet zu veröffentlichen.
FileMaker WebDirect™: Webbenutzer verbinden sich mit Ihrer bereitgestellten Datenbank, um Datensätze anzuzeigen, zu bearbeiten, zu sortieren oder zu suchen, wenn Sie ihnen die entsprechenden Zugriffsrechte geben. Sie müssen keine zusätzliche Software installieren – lediglich kompatible Webbrowser-Software und der Zugang zum Internet bzw. zu einem Intranet sind erforderlich. Die Benutzeroberfläche ähnelt der FileMaker Pro Advanced-Desktop-Anwendung. Die Webseiten und Formulare, mit denen der Webbenutzer arbeitet, hängen von den in der FileMaker Pro Advanced-Datenbank definierten Layouts und Ansichten ab.
Informationen hierzu finden Sie im Handbuch FileMaker WebDirect.
Statische Veröffentlichung: Wenn sich Ihre Daten selten ändern oder wenn Sie keine Live-Verbindung Ihrer Benutzer zu Ihrer Datenbank wünschen, können Sie die Daten statisch veröffentlichen. Bei der statischen Veröffentlichung exportieren Sie die FileMaker Pro Advanced-Daten, um eine Webseite zu erstellen, die Sie anhand von HTML weiter anpassen können. Die Webseite ändert sich nicht, wenn sich Informationen in Ihrer Datenbank ändern, und die Benutzer stellen keine Verbindung zu Ihrer Datenbank her.
Siehe Veröffentlichen von Daten auf statischen Webseiten in der FileMaker Pro Advanced Hilfe.
Custom Web Publishing: Um Ihre FileMaker-Datenbank in eine individuelle Website zu integrieren, verwenden Sie die Techniken für Custom Web Publishing, die FileMaker Server bereitstellt.
Weitere Informationen hierzu finden Sie im Handbuch FileMaker Server Custom Web Publishing.
Vorbereiten von Datenbanken für FileMaker Data API-Zugriff
Festlegen der Daten für den Zugriff
Sie können eine FileMaker Pro Advanced-Datenbank erstellen, die mit dem FileMaker Data API verwendet wird, oder eine bestehende Datenbank verwenden. Wenn Sie eine Datenbank erstellen, können Sie die Layouts und Felder anlegen, die Ihre FileMaker Data API-Lösung erfordert. Wenn Sie eine bestehende Datenbank verwenden, ziehen Sie in Betracht, ein Layout zu erstellen, das speziell für Ihre FileMaker Data API-Lösung gedacht ist.
Wenn Sie auf Datensatzdaten zugreifen, erfordern FileMaker Data API-Aufrufe, dass Sie ein Layout angeben. Das FileMaker Data API verwendet die Standardansicht, die für das von Ihnen angegebene Layout definiert ist.
Geben Sie ein Layout an, das die Formularansicht als Standardansicht für das Layout definiert. Wenn Sie ein Layout verwenden, das die Tabellenansicht als Standardansicht definiert, kann das FileMaker Data API nur Daten aus dem ersten Bezugsdatensatz abrufen.
Schützen Ihrer FileMaker Data API-Lösungen
Das FileMaker Data API benötigt Ihren REST API-Programmcode, um sich über ein passwortgeschütztes Konto bei einer Datenbanksitzung anzumelden. Weisen Sie Datenbankkonten, die für REST API-Zugriff verwendet werden, Passwörter zu oder verwenden Sie einen OAuth-Identitätsdienstleister für diese Konten.
Hinweise
- Wenn Sie Kontonamen und Passwörter für FileMaker Data API-Lösungen definieren, verwenden Sie druckbare ASCII-Zeichen. Beispiel: a-z, A-Z und 0-9. Verwenden Sie für sicherere Kontonamen und Passwörter zudem Satzzeichen wie „!“ und „%“, aber verwenden Sie keine Doppelpunkte. Siehe FileMaker Pro Advanced Hilfe.
- Für Datenbanken, die mit FileMaker Cloud bereitgestellt werden, müssen Sie FileMaker-ID Konten verwenden. Weitere Informationen finden Sie in der FileMaker Cloud-Dokumentation in der Produktdokumentation.
Aktivieren des FileMaker Data API
Sie müssen zuerst das erweiterte Zugriffsrecht „fmrest“, Zugriff über FileMaker Data API, in jeder Datenbank aktivieren, auf die Sie über FileMaker Data API zugreifen möchten. Wenn Sie das erweiterte Zugriffsrecht „fmrest“ nicht aktivieren, können REST API-Anwendungen das FileMaker Data API nicht verwenden, um auf die Datenbank zuzugreifen, selbst wenn die Datenbank bereitgestellt wird.
Hinweis:Aktivieren Sie das erweiterte Zugriffsrecht „fmrest“ aus Sicherheitsgründen nur in den Berechtigungen für Konten, denen Sie den Zugriff über FileMaker Data API erlauben wollen.
Siehe „Bearbeiten der erweiterten Zugriffsrechte für eine Berechtigung“ in der FileMaker Pro Advanced Hilfe.
Gestalten der FileMaker Data API-Lösung
FileMaker Data API-Funktionen
Das FileMaker Data API stellt ein REST API bereit, um auf Daten in bereitgestellten Datenbanken zuzugreifen. Das FileMaker Data API ermöglicht Ihrem Programmcode:
- Informationen über den Host abzurufen wie Produktinformationen und Namen von bereitgestellten Datenbanken. Siehe Metadaten abrufen.
- Informationen über eine bereitgestellte Datenbank abzurufen wie Scriptnamen, Layoutnamen oder Layoutmetadaten einschließlich Feldnamen, Wertelistennamen und Wertelisteninhalten. Siehe Metadaten abrufen.
- sich bei einer bereitgestellten Datenbank an- und abzumelden. Siehe Herstellen bzw. Trennen der Verbindung zu einer Datenbank.
- einen Datensatz zu erstellen, zu bearbeiten, zu duplizieren, zu löschen oder abzurufen oder einen Datensatzbereich abzurufen. Siehe Arbeiten mit Datensätzen.
- Suchabfragen auszuführen. Siehe Suchen.
- Variablenfeldwerte zu setzen. Siehe Setzen von Variablenfeldwerten.
- FileMaker-Scripts auszuführen. Siehe FileMaker-Scripts und FileMaker Data API.
- den Upload von Daten in Containerfelder. Siehe Hochladen von Containerdaten.
- auf Daten in externen FileMaker-Tabellen zuzugreifen. Siehe Anmeldung bei einer externen Datenquelle.
- ein anderes Layout für Antwortdaten zu verwenden, wenn ein Datensatz oder ein Datensatzbereich abgerufen wird. Siehe Abrufen eines einzelnen Datensatzes, Abrufen eines Datensatzbereichs und Suchen.
Das FileMaker Data API unterstützt Folgendes nicht:
- den Zugriff auf Daten in externen ODBC-Datenquellen.
- FileMaker-Plugins.
- Script-Trigger durch Benutzerinteraktion aktivieren. Eine FileMaker Data API-Lösung kann Script-Trigger nur durch das Ausführen von FileMaker-Scripts aktivieren.
- Zugriff auf das Dateisystem des Servercomputers. Beispielsweise unterstützt das FileMaker Data API nicht die FileMaker Pro Advanced-Funktion „Hole (TemporärerPfad)“. Diese Funktion gibt eine leere Zeichenfolge zurück, wenn sie mit dem FileMaker Data API verwendet wird. Dateien lassen sich in einem Containerfeld speichern, jedoch gibt es keinen Zugriff auf das Dateisystem des Servers.
Das FileMaker Data API gibt Felddaten so zurück, wie sie in der Datenbank gespeichert sind, nicht wie sie in FileMaker Pro Advanced angezeigt werden.
FileMaker Data API-Referenzinformationen
Die FileMaker Data API Referenz stellt detaillierte Informationen über alle vom FileMaker Data API unterstützten Aufrufe bereit.
Hinweis:Damit die Referenzinformationen sichtbar sind, muss in Admin Console der Zugriff auf das FileMaker Data API aktiviert sein. Weitere Informationen finden Sie in der Produktdokumentation.
- Um den Verweis auf einen FileMaker Cloud-Host anzuzeigen, öffnen Sie einen Browser und geben Sie diese URL ein:
https://
host
/fmi/data/apidoc/
Dabei stehthost
für die IP-Adresse oder den Hostnamen des FileMaker Cloud-Hosts. - Um den Verweis auf einen FileMaker Server-Mastercomputer anzuzeigen, öffnen Sie einen Browser und geben Sie diese URL ein:
https://localhost/fmi/data/apidoc/
- Um den Verweis auf einen FileMaker Server Remote-Computer anzuzeigen, öffnen Sie einen Browser und geben Sie diese URL ein:
https://
host
/fmi/data/apidoc/
Dabei isthost
die IP-Adresse oder der Hostname des Mastercomputers, auf dem FileMaker Server ausgeführt wird. Für auf einem Windows-Server installierten FileMaker Server befinden sich die Referenzdateien im Ordner
[Laufwerk]
:\Programme\FileMaker\FileMaker Server\Documentation\Data API Documentation
Dabei bezeichnet[Laufwerk]
das Laufwerk, auf dem Ihr FileMaker Server-Einsatz gespeichert ist.Wenn Sie unter Windows an einem anderen als dem Standardort installieren, ersetzt Ihr Installationsort den Beginn des Standard-Installationspfads
[Laufwerk]
:[Installationsort]
\FileMaker\FileMaker Server\Documentation\Data API Documentation- Für auf einem macOS-Server installierten FileMaker Server befinden sich die Referenzdateien im Ordner
/Library/FileMaker Server/Documentation/Data API Documentation
Hinweise
- Die Referenzdateien zeigen Variablen in den URLs mithilfe eines Schlüsselworts, dem ein Doppelpunkt (:) vorangestellt ist. Beispiel:
:datenbank
- Dieses Handbuch zeigt Variablen in den URLs in Kursivschrift. Beispiel:
datenbankname
Hinweise zu URLs und Datenformaten
- Die maximale FileMaker Data API-URI-Länge kann durch Unterschiede in den Betriebssystemen, Web-Servern und Webbrowsern beeinflusst werden. Beschränken Sie für einen optimalen plattformübergreifenden Einsatz die URI-Länge auf 2000 Zeichen.
- Es kann URLs oder URL-Teile geben, in denen Groß- und Kleinschreibung keine Rolle spielt, aber in der Regel sollten Sie URLs so behandeln, als würden Groß- und Kleinbuchstaben unterschieden. Beispiel: Wenn Sie einen Datenbanknamen in Kleinbuchstaben angeben, um sich bei einer Datenbanksitzung anzumelden, verwenden Sie diesen Datenbanknamen für alle weiteren URLs, die denselben Sitzungstoken übergeben, in Kleinbuchstaben. Anderenfalls können Sie eine Fehlermeldung über einen ungültigen Token erhalten.
- Zeichenfolgen in URLs müssen URL-Verschlüsselung, auch Prozent-Verschlüsselung genannt, verwenden, was für HTTP-Abfragen üblich ist. Um zum Beispiel einen Layoutnamen anzugeben, der einen Schrägstrich enthält, müssen Sie den Schrägstrich als verschlüsselten Wert angeben: "%2F"
- Zeichenfolgendatenwerte, die in Parametern im Hauptteil der Abfrage angegeben werden, müssen UTF-8-Kodierung verwenden.
- Generell behandelt das FileMaker Data API numerische Datenwerte so, als wären sie im Gleitkommaformat mit doppelter Genauigkeit (binary64). Verwenden Sie das entsprechende Datenformat in der Programmiersprache, die Sie nutzen. (Numerische Datenwerte sollten nicht in Anführungszeichen eingeschlossen sein und keine URL-Codierung verwenden.)
- Datenwerte für Zahlen-, Datums-, Zeit- und Zeitstempelfelder unterliegen denselben Beschränkungen wie durch FileMaker Pro Advanced vorgegeben. Siehe FileMaker Pro Advanced Hilfe.
- Die Felder und Ausschnitte, die Sie angeben, müssen sich in dem Layout befinden, das sie angeben.
- Um Bezugsfelder anzugeben, verwenden Sie die
portalData
-Syntax.Hinweis:Die Syntax
tabellenname::bezugsfeld(wiederholungnummer).datensatzid
aus der vorherigen Version wird immer noch unterstützt, aber dieportalData
-Syntax wird bevorzugt. - Im Antwortteil gibt das FileMaker Data API nur den Feldnamen für Felder aus der aktuellen Tabelle und den vollständig qualifizierten Name für Felder aus Bezugstabellen zurück. Für Ausschnittfelder verwendet der vollständig qualifizierte Name den Namen des Ausschnitts, wenn der Ausschnitt im Inspektor benannt wurde. Ansonsten verwendet der vollständig qualifizierte Name den Namen des Tabellenauftretens.
- Für Containerfelddaten gibt das FileMaker Data API eine URL mit dem Pfadverweis an das Containerdatenobjekt zurück.
FileMaker-Scripts und FileMaker Data API
Ein FileMaker-Script enthält eine oder mehrere Anweisungen (Scriptschritte), die Sie definieren, um sich wiederholende oder schwierige Aufgaben zu automatisieren. In Kombination mit dem FileMaker Data API ermöglichen FileMaker-Scripts den Webdiensten, mehrere Aufgaben oder eine Aufgabenserie auszuführen. Siehe Ausführen von FileMaker-Scripts.
Um Scriptschritte zu sehen, die das FileMaker Data API unterstützt, klicken Sie im FileMaker Pro Advanced-Scriptarbeitsbereich auf Kompatibilität und wählen Sie FileMaker Data API. Scriptschritte, die nicht grau dargestellt werden, werden für das FileMaker Data API unterstützt. Einige Scriptschritte funktionieren anders oder werden im FileMaker Data API nicht unterstützt. Siehe FileMaker Pro Advanced Hilfe.
Scripts, die von FileMaker Data API ausgeführt werden, können keine Scripts in anderen FileMaker-Dateien ausführen, falls die Dateien nicht auf demselben Host bereitgestellt werden. Für die anderen FileMaker-Dateien muss das erweiterte Zugriffsrecht „fmrest“ aktiviert sein.
In FileMaker Pro Advanced können sowohl Scripts als auch Benutzeraktionen (wie zum Beispiel ein Benutzer, der in ein Feld klickt) Script-Trigger aktivieren. In FileMaker Data API-Lösungen können jedoch nur Scripts Script-Trigger aktivieren. Informationen zu Script-Triggern finden Sie in der FileMaker Pro Advanced Hilfe.
Hinweise
- Beachten Sie die Datenmenge und die Anzahl der Datensätze, die ein Script zurückgeben kann, und definieren Sie die Scripts entsprechend. In FileMaker Pro Advanced kann ein Script alle Datensätze aus einer Tabelle oder der aktuellen Ergebnismenge zurückgeben. Wenn jedoch ein Script alle Datensätze aus einer Tabelle liefert, verfügt ein Webdienst möglicherweise nicht über genügend Arbeitsspeicher, um die Datensätze zu verarbeiten.
- Verwenden Sie Konten und Zugriffsrechte, um die Scripts einzuschränken, die ein Webdienst ausführen kann. Stellen Sie sicher, dass die Scripts nur Web-kompatible Scriptschritte enthalten und nur Zugang zu Scripts gewähren, die von einem Webdienst ausgeführt werden sollen.
- Berücksichtigen Sie die Nebeneffekte von Scripts, die eine Reihe von Scriptschritten ausführen, die durch Zugriffsrechte kontrolliert werden. Wenn ein Script beispielsweise einen Scriptschritt zum Löschen von Datensätzen enthält und der Webdienst sich nicht mit einem Konto anmeldet, das das Löschen von Datensätzen zulässt, führt das Script den Scriptschritt zum Löschen von Datensätzen nicht aus. Das Script könnte jedoch weiter ausgeführt werden, so dass unerwartete Ergebnisse auftreten können.
- Geben Sie einem Script im Scriptarbeitsbereich volle Zugriffsrechte, damit dieses Script Aufgaben ausführen kann, für die Sie dem Benutzer an sich keinen Zugang gewähren wollen. Beispielsweise können Sie verhindern, dass Benutzer mit ihren Konten und Zugriffsrechten Datensätze löschen, ihnen aber die Ausführung eines Scripts erlauben, das unter vordefinierten Bedingungen innerhalb des Scripts bestimmte Datensätze löscht.
- FileMaker Data API-Endpunkte bestätigen Datenänderungen unmittelbar, Scripts können Datensätze aber unbestätigt hinterlassen. Zum Beispiel könnte eine Sitzung ein Script ausführen, das einen Datensatz bearbeitet, aber nicht bestätigt. Die nächste Sitzung würde dann einen Fehler erhalten, wenn sie versucht, den gleichen Datensatz zu bearbeiten. Oder in einer einzelnen Sitzung könnte ein Script einen Datensatz bearbeiten, dann ein neues Fenster erstellen und anschließend das zweite Script aufrufen, das versucht, den gleichen Datensatz zu bearbeiten. Prüfen Sie auf jeden Fall die Scriptergebnisse und prüfen Sie auf Scriptfehler.
- Scripts, die Daten ändern, sollten den Scriptschritt „Schreibe Änderung Datens./Abfrage“ enthalten, da auf Datenänderungen erst zugegriffen werden kann, wenn die Daten auf dem Server gespeichert wurden. Dies gilt für Scriptschritte wie Ausschneiden, Kopieren oder Einfügen. Viele Aktionen mit nur einem Scriptschritt sollten in Scripts umgewandelt werden, die den Schritt „Schreibe Änderung Datens./Abfrage“ enthalten. Wenn Sie Scripts entwerfen, die von einem Webdienst ausgeführt werden, nehmen Sie den Schritt „Schreibe Änderung Datens./Abfrage“ am Ende des Scripts auf, um sicherzustellen, dass alle Änderungen gespeichert werden.
- Öffnen Sie jedes Script, das Webbenutzer ausführen könnten, und stellen Sie sicher, dass das Script richtig ausgeführt wird, wenn die Datenbank als FileMaker Data API-Lösung bereitgestellt wird. Stellen Sie sicher, dass das Script nur Scriptschritte verwendet, die vom FileMaker Data API wie oben beschrieben unterstützt werden.
Schreiben von FileMaker Data API-Aufrufen
REST API-Aufrufkomponenten
Die FileMaker Data API-Aufrufe bestehen aus den folgenden Komponenten.
Komponente | Beschreibung |
---|---|
Eine HTTP-Methode (auch als HTTP-Verb bezeichnet) |
Das FileMaker Data API verwendet die folgenden HTTP-Methoden:
|
HTTP-Header |
Das FileMaker Data API verwendet die folgenden Header:
|
Eine Aufruf-URL | Die FileMaker Data API-URLs beginnen alle mit einer der folgenden Angaben:
|
Parameterdaten in JSON-Format | Nicht erforderlich für Abmeldung aus einer Datenbanksitzung, Metadaten abrufen, Datensatz löschen, Datensatz duplizieren, Abrufen eines einzelnen Datensatzes, Abrufen eines Datensatzbereichs oder Ausführen eines Scripts. |
Herstellen bzw. Trennen der Verbindung zu einer Datenbank
Das FileMaker Data API verwendet einen Zugriffstoken, um eine Verbindung zu einer Datenbank zu definieren. Dieser Zugriffstoken muss im Header aller nachfolgenden Aufrufe an die bereitgestellte Datenbank verwendet werden. Der Zugriffstoken ist so lange gültig, bis Sie sich von der Datenbanksitzung abmelden, bzw. bis 15 Minuten nach dem letzten Aufruf, der diesen Token angegeben hat. (Während der Token gültig ist, setzt jeder Aufruf, der den Token angibt, den Zähler für das Zeitlimit der Sitzung wieder zurück.)
Anmelden bei einer Datenbanksitzung
Um sich bei einer bereitgestellten Datenbank anzumelden, verwenden Sie eine HTTP POST-Methode mit dem API-Endpunkt sessions
, die den Namen einer bereitgestellten Datenbank angibt. Kontoname und Passwort werden in einer Authorization-Zeichenfolge im Header angegeben. Wenn der Kontoname und das Passwort authentifiziert sind, erhält Ihr Programmcode einen Zugriffstoken, der Ihre Verbindung zu der Datenbank definiert. Bei dieser Verbindung handelt es sich um eine so genannte Datenbanksitzung.
HTTP-Methode | POST |
---|---|
URL | /fmi/data/version/databases/datenbankname/sessions
version – die angeforderte FileMaker Data API-Version, entweder |
HTTP-Header | Content-Type: application/json Authorization: eine Base64-kodierte Zeichenfolge, die den Kontonamen und das Passwort für die Anmeldung bei der bereitgestellten Datenbank angibt. Diese Base64-kodierte Zeichenfolge muss sich nach dem Schema der HTTP-Standardauthentifizierung richten. (Kontoname und Passwort sind durch einen Doppelpunkt getrennt.) |
Parameter |
Leeres Paar geschweifte Klammern. Beispiel:
Kann optional den Parameter |
Antwort | Der Zugriffstoken, ein Antwortteil mit dem Zugriffstoken und ein Meldungsarray mit dem Fehlercode 0. Der Header X-FM-Data-Access-Token wird als Antwort zurückgegeben. Dabei handelt es sich um den Sitzungstoken, der für anschließende API-Aufrufe zu verwenden ist. Beispiel: Header:
"X-FM-Data-Access-Token": "c4d2e429122e9cdeda19bb23c55cd2a8f282c3cc50c60943a110",
{
Hauptteil:
"messages": [
{
"message": "OK",
"code": "0"
}
],
"response": {
"token": "c4d2e429122e9cdeda19bb23c55cd2a8f282c3cc50c60943a110"
},
"HTTPMessage": "OK",
"HTTPCode": 200
}
Siehe Fehlerantworten. |
Anmeldung bei einer externen Datenquelle
Wenn sich Ihre bereitgestellte Datenbank bei einer externen Datenquelle anmelden muss, wird der Name der bereitgestellten Datenbank in der URL angegeben. Kontoname und Passwort für die bereitgestellte Datenbank werden in der Header-Zeichenfolge „Authorization“ angegeben. Datenbankname, Kontoname und Passwort für die externe Datenquelle werden im Parameter fmDataSource
als ein JSON-Array angegeben.
HTTP-Methode | POST |
---|---|
URL | /fmi/data/version/databases/datenbankname/sessions
version – die angeforderte FileMaker Data API-Version, entweder |
HTTP-Header | Content-Type: application/json Authorization: eine Base64-kodierte Zeichenfolge, die den Kontonamen und das Passwort für die Anmeldung bei der bereitgestellten Datenbank angibt. Diese Base64-kodierte Zeichenfolge muss sich nach dem Schema der HTTP-Standardauthentifizierung richten. |
Parameter | Der Parameter Beispiel: { "fmDataSource":
[ { "database":"Kontakte", "username":"admin", "password":"admin" } ]
}
Um ein OAuth-Konto für die Anmeldung bei der externen Datenquelle zu verwenden, geben Sie den Wert des Headers X-FMS-Request-ID ( { "fmDataSource":
[ { "database":"Kontakte", "oAuthRequestId": "E65B98BB17429CO643B31119F", "oAuthIdentifier": "B164A3459A776E5177445DR223"} ]
}
|
Antwort | Der Zugriffstoken, ein leerer Antworthauptteil und ein Meldungsarray mit dem Fehlercode 0. Der Header X-FM-Data-Access-Token wird als Antwort zurückgegeben. Dabei handelt es sich um den Sitzungstoken, der für anschließende API-Aufrufe zu verwenden ist. Beispiel: X-FM-Data-Access-Token: c13c0f486780f2187bde6f3859dabd4dcf8ea43be420dfeadf34
{
"response": {},
"messages":[{"code":"0","message":"OK"}]
}
Siehe Fehlerantworten. |
Hinweise
- FileMaker-Datenbanken sind die einzigen unterstützten externen Datenquellen. Geben Sie den Datenbanknamen ohne die Dateinamenerweiterung .fmp12 an.
- Dateien, die im Parameter
fmDataSource
angegeben sind, werden nach Bedarf geöffnet, zum Beispiel, wenn ein Script ausgeführt wird oder wenn sich der Kontext zu einem Layout ändert, das eine externe Datenquelle erfordert. Daraus resultieren Fehler bei der Anmeldung bei der externen Datenquelle, wenn versucht wird, die Dateien zu öffnen, nicht bei der Anmeldung bei der Datenbanksitzung.
Anmelden bei einer Datenbanksitzung mithilfe eines OAuth-Identitätsdienstleisters
Verwenden Sie für die Anmeldung bei einer bereitgestellten Datenbank über einen OAuth-Identitätsdienstleister eine HTTP POST-Methode mit dem API-Endpunkt sessions
, der die Datenbank angibt. Geben Sie die Zeichenfolge X-FM-Data-OAuth-Request-Id und die Zeichenfolge X-FM-Data-OAuth-Identifier im Header an, um den Zugriff auf die bereitgestellte Datenbank zu authentifizieren. Wenn die Authentifizierung akzeptiert wird, erhält Ihr Programmcode einen Zugriffstoken, der Ihre Verbindung zu der Datenbank definiert. Bei dieser Verbindung handelt es sich um eine so genannte Datenbanksitzung.
HTTP-Methode | POST |
---|---|
URL | /fmi/data/version/databases/datenbankname/sessions
version – die angeforderte FileMaker Data API-Version, entweder |
HTTP-Header | Content-Type: application/json X-FM-Data-OAuth-Request-Id: Abfrage-ID X-FM-Data-OAuth-Identifier: ID-Parameter |
Parameter |
Leeres Paar geschweifte Klammern. Beispiel: Kann optional den Parameter |
Antwort | Der Zugriffstoken, ein leerer Antworthauptteil und ein Meldungsarray mit dem Fehlercode 0. Der Header X-FM-Data-Access-Token wird als Antwort zurückgegeben. Dabei handelt es sich um den Sitzungstoken, der für anschließende API-Aufrufe zu verwenden ist. Beispiel: X-FM-Data-Access-Token: 823c0f48bb80f2187bde6f3859dabd4dcf8ea43be420dfeadf34
{
"response": {},
"messages":[{"code":"0","message":"OK"}]
}
Siehe Fehlerantworten. |
So erhalten Sie die OAuth-Parameter in JSON-Format:
-
Rufen Sie die Liste unterstützter OAuth-Dienstleister ab, indem Sie eine HTTP GET-Methode mit dieser URL verwenden:
https://host/fmws/oauthproviderinfo
Dabei steht host für die IP-Adresse oder den Domänennamen des Mastercomputers in Ihrem FileMaker Server-Einsatz bzw. die IP-Adresse oder den Domänennamen des FileMaker Cloud for AWS-Hosts. Die Liste wird in JSON-Format zurückgegeben.
- Wählen Sie einen unterstützten OAuth-Dienstleister und rufen Sie eine Tracking-ID für Ihre Sitzung ab.
-
Verwenden Sie eine HTTP GET-Methode mit dieser URL:
http://host/oauth/getoauthurl?trackingID=Tracking-ID&provider=OAuth-Dienstleister&address=127.0.0.1&X-FMS-OAuth-AuthType=2
Dabei steht host für die IP-Adresse bzw. den Domänennamen des Mastercomputers in Ihrem FileMaker Server-Einsatz bzw. die IP-Adresse oder den Domänennamen des FileMaker Cloud for AWS-Hosts, Tracking-ID für die vom Entwickler generierte Tracking-ID für Ihre Sitzung und OAuth-Dienstleister für den Namen des von Ihnen ausgewählten OAuth-Dienstleisters.
Der HTTP-Header für diese Abfrage muss Folgendes beinhalten:
- X-FMS-Application-Type: 9
- X-FMS-Application-Version: 15
- X-FMS-Return-URL: http://127.0.0.1/
- Lesen Sie den Antwortheader für die X-FMS-Request-ID-Daten. Dieser Antwortheader enthält die OAuth-Request-ID, die Sie für die Zeichenfolge X-FM-Data-OAuth-Request-ID im Header verwenden werden.
- Lesen Sie den Antwortheader für die X-FMS-Return-URL-Daten. Rufen Sie die URL auf, die dieser Parameter zurückgibt, damit der Benutzer sich beim OAuth-Dienstleister authentifizieren kann.
- Der vom OAuth-Dienstleister zurückgegebene „Identifier“ ist der OAuth-Identifier-Parameter, den Sie für die Zeichenfolge X-FM-Data-OAuth-Identifier im Header verwenden werden.
Weitere Informationen finden Sie unter „Bearbeiten von OAuth-Kontozugriff“ in der FileMaker Pro Advanced Hilfe.
Anmelden bei einer Datenbanksitzung mithilfe eines FileMaker-ID Kontos
Für Dateien, die FileMaker Cloud bereitstellt, werden Benutzer über FileMaker-ID Konten authentifiziert. FileMaker-ID Konten werden im FileMaker-ID Identitätsdienstleistersystem definiert.
Um sich bei einer bereitgestellten Datenbank mit einem FileMaker-ID Konto anzumelden, verwenden Sie eine HTTP POST-Methode mit dem API-Endpunkt sessions
, der den Namen einer bereitgestellten Datenbank angibt. Der FileMaker-ID Token wird in einem Header-Authorization-String angegeben. Ihr Programmcode erhält einen Zugriffstoken, der Ihre Verbindung zu der Datenbank definiert. Bei dieser Verbindung handelt es sich um eine so genannte Datenbanksitzung.
HTTP-Methode | POST |
---|---|
URL | /fmi/data/version/databases/datenbankname/sessions
version – die angeforderte FileMaker Data API-Version, entweder |
HTTP-Header | Content-Type: application/json Authorization: FMID {FMID-token} FMID-token ist der FileMaker-ID Token, den das FileMaker-ID Identitätsdienstleistersystem bereitstellt. Informationen zum FileMaker-ID Token finden Sie in der FileMaker Customer Console Hilfe in der Produktdokumentation. Weitere Informationen finden Sie unter „Bearbeiten von FileMaker-ID Kontozugriff“ in der FileMaker Pro Advanced Hilfe. |
Parameter |
Leeres Paar geschweifte Klammern. Beispiel: |
Antwort | Der Zugriffstoken, ein leerer Antworthauptteil und ein Meldungsarray mit dem Fehlercode 0. Der Header X-FM-Data-Access-Token wird als Antwort zurückgegeben. Dabei handelt es sich um den Sitzungstoken, der für anschließende API-Aufrufe zu verwenden ist. Beispiel: X-FM-Data-Access-Token: 823c0f48bb80f2187bde6f3859dabd4dcf8ea43be420dfeadf34
{
"response": {},
"messages":[{"code":"0","message":"OK"}]
}
Siehe Fehlerantworten. |
Abmeldung aus einer Datenbanksitzung
Wenn der Zugriff auf die bereitgestellte Datenbank durch Ihren Programmcode abgeschlossen ist, verwenden Sie eine HTTP DELETE-Methode mit dem API-Endpunkt sessions
, die den Namen der bereitgestellten Datenbank und den Zugriffstoken für die Sitzung angibt. Wenn Ihr Programmcode sich nicht von der Datenbanksitzung abmeldet, wird der Zugriffstoken ungültig, sobald die FileMaker Data API-Sitzung eine Zeit von 15 Minuten nach dem letzten Aufruf dieses angegebenen Tokens überschreitet.
HTTP-Methode | DELETE |
---|---|
URL | /fmi/data/version/databases/datenbankname/sessions/session-token
version – die angeforderte FileMaker Data API-Version, entweder datenbankname – der Name der bereitgestellten Datenbank session-token – der X-FM-Data-Access-Token für die Datenbanksitzung |
HTTP-Header | Content-Type: application/json |
Parameter | Keine |
Antwort |
Ein leerer Antworthauptteil und ein Meldungsarray mit dem Fehlercode 0. Beispiel: {
"response": {},
"messages":[{"code":"0","message":"OK"}]
}
Siehe Fehlerantworten. |
Metadaten abrufen
FileMaker Data API unterstützt den Abruf der folgenden Metadaten:
- Produktinformationen über den Host. Siehe Produktinformationen abrufen.
- Die Namen der bereitgestellten Datenbanken. Siehe Datenbanknamen abrufen.
- Die Namen der verfügbaren FileMaker-Scripts in einer bereitgestellten Datenbank. Siehe Scriptnamen abrufen.
- Die Namen der verfügbaren Layouts in einer bereitgestellten Datenbank. Siehe Layoutnamen abrufen.
- Zusätzliche Metadaten in Bezug auf bestimmte Layouts in einer bereitgestellten Datenbank. Siehe Layoutmetadaten abrufen.
Produktinformationen abrufen
Um Produktinformationen über den Host abzurufen, verwenden Sie eine HTTP GET-Methode mit dem API-Endpunkt productInfo
.
HTTP-Methode | GET |
---|---|
URL |
Format: /fmi/data/version/productInfo
|
HTTP-Header | Keine |
Parameter | Keine |
Antwort |
Ein Meldungsarray mit einem Fehlercode 0. Siehe Fehlerantworten. Ein Antwortteil mit den folgenden Metadaten:
Beispiel: {
"response": {
"productInfo": {
"buildDate": "01/30/2020",
"dateFormat": "MM/dd/yyyy",
"timeStampFormat": "MM/dd/yyyy HH:mm:ss",
"version": "18.0.1.30",
"timeFormat": "HH:mm:ss",
"name": "FileMaker Data API Engine"
}
},
"messages": [
{
"code": "0",
"message": "OK"
}
]
}
|
Datenbanknamen abrufen
Um Datenbanknamen für alle Datenbanken abzurufen, die bereitgestellt werden und für die der Zugriff über FileMaker Data API aktiviert ist, verwenden Sie eine HTTP GET-Methode mit dem API-Endpunkt databases
.
HTTP-Methode | GET |
---|---|
URL | Format: fmi/data/version/databases
|
HTTP-Header |
Der Authorization-Header hängt von der Einstellung Datenbanken in Client-Anwendungen filtern in Admin Console ab.
|
Parameter | Keine |
Antwort |
Ein Datenbankarray mit den Datenbanknamen und ein Meldungsarray mit einem Fehlercode 0. Beispiel: {
"response": {
"databases": [{
"name": "Kunden"
}, {
"name": "Vertrieb"
}]
},
"messages": [{
"code": "0",
"message": "OK"
}]
}
Siehe Fehlerantworten. |
Scriptnamen abrufen
Um die Scriptnamen aller verfügbaren Scripts für eine angegebene Datenbank abzurufen, verwenden Sie eine HTTP GET-Methode mit dem API-Endpunkt scripts
.
HTTP-Methode | GET |
---|---|
URL | Format: /fmi/data/version/databases/datenbankname/scripts
|
HTTP-Header | Authorization: session-token des Inhabers, wobei session-token den eindeutigen Wert des X-FM-Data-Access-Token für die Datenbanksitzung darstellt |
Parameter | Keine |
Antwort |
Ein Scriptsarray mit den Scriptnamen und ein Meldungsarray mit einem Fehlercode 0. Beispiel: {
"response": {
"scripts": [
{
"name": "ZuErstem",
"isFolder": false
},
{
"name": "Ein Ordner",
"isFolder": true,
"folderScriptNames": [
{
"name": "script1",
"isFolder": false
},
{
"name": "-",
"isFolder": false
},
{
"name": "script2",
"isFolder": false
},
{
"name": "Noch ein Ordner",
"isFolder": true,
"folderScriptNames": [
{
"name": "script3",
"isFolder": false
}
]
},
{
"name": "script4",
"isFolder": false
}
]
}
]
},
"messages": [
{
"message": "OK",
"code": "0"
}
]
}
Siehe Fehlerantworten. |
Layoutnamen abrufen
Um die Layoutnamen aller verfügbaren Layouts für eine angegebene Datenbank abzurufen, verwenden Sie eine HTTP GET-Methode mit dem API-Endpunkt layouts
.
HTTP-Methode | GET |
---|---|
URL | Format: /fmi/data/version/databases/datenbankname/layouts
|
HTTP-Header | Authorization: session-token des Inhabers, wobei session-token den eindeutigen Wert des X-FM-Data-Access-Token für die Datenbanksitzung darstellt |
Parameter | Keine |
Antwort |
Ein Layoutarray mit den Layoutnamen und ein Meldungsarray mit einem Fehlercode 0. Beispiel: {
"messages": [
{
"message": "OK",
"code": "0"
}
],
"response": {
"layouts": [
{
"name": "Kunden"
},
{
"name": "Details"
},
{
"folderLayoutNames": [
{
"name": "Als gesendet markieren"
},
{
"name": "Nicht gesendete suchen"
}
],
"isFolder": true,
"name": "Paketverwaltung"
}
]
}
}
Siehe Fehlerantworten. |
Layoutmetadaten abrufen
Um Layoutmetadaten einschließlich Feldern in einem Layout, Ausschnitten und Wertelisten abzurufen, verwenden Sie eine HTTP GET-Methode mit dem API-Endpunkt layouts
und geben einen Layoutnamen an.
HTTP-Methode | GET |
---|---|
URL | Format 1: /fmi/data/version/databases/datenbankname/layouts/layoutname
Format 2: /fmi/data/version/databases/datenbankname/layouts/layoutname?recordId=datensatzid
|
HTTP-Header | Authorization: session-token des Inhabers, wobei session-token den eindeutigen Wert des X-FM-Data-Access-Token für die Datenbanksitzung darstellt |
Parameter | Keine |
Antwort |
Ein Antwortteil mit fieldMetaData-, portalMetaData- und valueLists-Array und ein Meldungsarray mit einem Fehlercode 0. Beispiel: {
"response": {
"fieldMetaData": [
{
"name": "Kundenname",
"type": "normal",
"displayType": "editText",
"result": "text",
"valueList": "Text",
"global": false,
"autoEnter": false,
"fourDigitYear": false,
"maxRepeat": 1,
"maxCharacters": 0
"notEmpty": false,
"numeric": false,
"timeOfDay": false,
"repetitionStart": 1,
"repetitionEnd": 1
}
],
"portalMetaData": {},
"valueLists": [
{
"name": "Region",
"type": "customList",
"values": [
{
"displayValue": "West",
"value": "West"
}
,
{
"displayValue": "Ost",
"value": "Ost"
}
]
}
]
},
"messages": [
{
"code": "0",
"message": "OK"
}
]
}
Siehe Fehlerantworten. |
Hinweise
- Für dynamische Wertelisten wird eine leere Werteliste zurückgegeben, wenn die Abfrage keinen
recordId
-Parameter als Teil der URL enthält.
Mit Datensätzen arbeiten
Datensatz erstellen
Um einen Datensatz zu erstellen, verwenden Sie eine HTTP POST-Methode mit dem API-Endpunkt records
, der Datenbankname und Layout angibt.
HTTP-Methode | POST |
---|---|
URL |
/fmi/data/version/databases/datenbankname/layouts/layoutname/records
version – die angeforderte FileMaker Data API-Version, entweder |
HTTP-Header | Content-Type: application/json Authorization: session-token des Inhabers, wobei session-token den eindeutigen Wert des X-FM-Data-Access-Token für die Datenbanksitzung darstellt |
Parameter | Datensatzdaten in JSON-Format mit Feld-Wert-Paaren, die Werte für Felder angeben, die sich im Ziellayout befinden. Die Daten können mithilfe von „portalData“ Bezugsdatensätze oder Ausschnitte angeben, die sich in dem Layout befinden. Ein Ausschnittname kann entweder der im Inspektor in FileMaker Pro Advanced angegebene Objektname oder der Name der Bezugstabelle sein. Beispiel: {"fieldData":
{
"Zeichenfeld": "wert_1",
"Zahlenfeld": 99.99,
"wiederholungFeld(1)" : "feldWert"
}
}
Hinweis:Um einen leeren Datensatz mit den Standardwerten für ein Feld abzugeben, geben Sie ein leeres Datenobjekt in JSON-Format als Parameter ein. Beispiel: {"fieldData":
{
}
}
Sie können FileMaker-Scripts als Teil dieser Abfrage ausführen, indem Sie die Parameter |
Antwort |
Die DatensatzID des Datensatzes, der erstellt wurde, und ein Meldungsarray, das nur den Fehlercode 0 zeigt. Beispiel: {
"response": {
"recordId":"147",
"modId":"0"
},
"messages": [
{
"code": "0",
"message":"OK"
}
]
}
Siehe Fehlerantworten. |
Hinweise
- Wenn Sie Datensätze mithilfe des FileMaker Data API erstellen, wird die Feldwertüberprüfung durchgesetzt. Wenn die Daten die Feldwertüberprüfung nicht bestehen, erhalten Sie eine Fehlermeldung und der Datensatz wird nicht erstellt.
Bearbeiten eines Datensatzes
Um einen Datensatz zu bearbeiten, verwenden Sie eine HTTP PATCH-Methode mit dem API-Endpunkt records
, der Datenbankname, Layout und DatensatzID angibt.
HTTP-Methode | PATCH |
---|---|
URL |
/fmi/data/version/databases/datenbankname/layouts/layoutname/records/ datensatzid
version – die angeforderte FileMaker Data API-Version, entweder |
HTTP-Header |
Content-Type: application/json Authorization: session-token des Inhabers, wobei session-token den eindeutigen Wert des X-FM-Data-Access-Token für die Datenbanksitzung darstellt |
Parameter | Datensatzdaten in JSON-Format mit zu aktualisierenden Feld-Wert-Paaren. Die Daten können mithilfe von „portalData“ Bezugsdatensätze oder Ausschnitte angeben, die sich in dem Layout befinden. Ein Ausschnittname kann entweder der im Inspektor in FileMaker Pro Advanced angegebene Objektname oder der Name der Bezugstabelle sein. Nur die Felder, die Sie angeben, werden aktualisiert. Andere Felder im Datensatz werden nicht geändert. Wenn „{}“ als Optionaler Parameter: Änderungs-ID ( Beispiel: {
"fieldData":
{
"Vorname": "Joe"
},
"portalData":
{
"JobsTable": [
{
"recordId": "70",
"modId": "4",
"JobsTable::Name": "Auftragnehmer"
}
]
}
}
Sie können FileMaker-Scripts als Teil dieser Abfrage ausführen, indem Sie die Parameter |
Antwort |
Ein leerer Antwortteil und ein Meldungsarray mit einem Fehlercode 0. Beispiel: {
"response": {
"modId": "3"
},
"messages": [
{
"code": "0",
"message": "OK"
}
]
}
Siehe Fehlerantworten. |
Hinweise
- Wenn Sie Datensätze mithilfe des FileMaker Data API bearbeiten, wird die Feldwertüberprüfung durchgesetzt. Wenn die Daten die Feldwertüberprüfung nicht bestehen, erhalten Sie eine Fehlermeldung und der Datensatz wird nicht aktualisiert.
-
Um einen Bezugsdatensatz zu löschen, verwenden Sie die Syntax
deleteRelated
.Beispiel Löschen eines einzelnen Datensatzes:
"deleteRelated" : "Orders.3"
Beispiel Löschen mehrerer Datensätze:
"deleteRelated" : ["Orders.7", "Orders.9"]
Datensatz duplizieren
Um einen Datensatz zu duplizieren, verwenden Sie eine HTTP POST-Methode mit dem API-Endpunkt records
, der Datenbankname, Layoutname und DatensatzID angibt.
HTTP-Methode | POST |
---|---|
URL |
/fmi/data/version/databases/datenbankname/layouts/layoutname/records/datensatzid
version – die angeforderte FileMaker Data API-Version, entweder |
HTTP-Header |
Content-Type: application/json Authorization: session-token des Inhabers, wobei session-token den eindeutigen Wert des X-FM-Data-Access-Token für die Datenbanksitzung darstellt |
Parameter | Keine Sie können FileMaker-Scripts als Teil dieser Abfrage ausführen, indem Sie die Parameter |
Antwort |
Die DatensatzID des neuen Datensatzes und ein Meldungsarray, das nur den Fehlercode 0 zeigt. Beispiel: {
"response": {
"recordId": "7",
"modId": "0"
},
"messages": [
{
"code": "0",
"message": "OK"
}
]
}
Siehe Fehlerantworten. |
Datensatz löschen
Um einen Datensatz zu löschen, verwenden Sie eine HTTP DELETE-Methode mit dem API-Endpunkt records
, der Datenbankname, Layout und DatensatzID angibt.
HTTP-Methode | DELETE |
---|---|
URL | /fmi/data/version/databases/datenbankname/layouts/layoutname/records/datensatzid
version – die angeforderte FileMaker Data API-Version, entweder Sie können FileMaker-Scripts als Teil dieser Abfrage ausführen, indem Sie die Parameter |
HTTP-Header | Authorization: session-token des Inhabers, wobei session-token den eindeutigen Wert des X-FM-Data-Access-Token für die Datenbanksitzung darstellt |
Parameter | Keine |
Antwort |
Ein leerer Antworthauptteil und ein Meldungsarray mit dem Fehlercode 0. Beispiel: {
"response": {},
"messages":[{"code":"0","message":"OK"}]
}
Siehe Fehlerantworten. |
Abrufen eines einzelnen Datensatzes
Um einen Datensatz abzurufen, verwenden Sie eine HTTP GET-Methode mit API-Endpunkt records
, der Datenbankname, Layout und DatensatzID angibt. Sie können zudem Ausschnittinformationen angeben, um die Anzahl der zurückgegebenen Bezugsdatensätze zu begrenzen.
HTTP-Methode | GET |
---|---|
URL | Format 1: /fmi/data/version/databases/datenbankname/layouts/layoutname/records/datensatzid
version – die angeforderte FileMaker Data API-Version, entweder Für das Schlüsselwort „portal“: Der Ausschnittteil der URL ist optional. Wenn das Layout Ausschnitte umfasst, geben Sie die Ausschnittnamen an, um die Leistung zu optimieren. Wenn der Ausschnittteil weggelassen wird, gibt der Aufruf alle Bezugsdatensätze in allen Ausschnitten im Layout zurück. Für Für Wenn Sie die Antwortdaten im Kontext eines anderen Layouts wünschen, verwenden Sie den Parameter Sie können FileMaker-Scripts als Teil dieser Abfrage ausführen, indem Sie die Parameter |
HTTP-Header | Authorization: session-token des Inhabers, wobei session-token den eindeutigen Wert des X-FM-Data-Access-Token für die Datenbanksitzung darstellt |
Parameter | Keine |
Antwort | Die Datensatzdaten in JSON-Format und ein Meldungsarray, das den Fehlercode 0 zeigt. Beispiel: {
"response": {
"data": [
...
]
},
"messages": [{"code":"0","message":"OK"}]
}
Siehe Fehlerantworten. |
Hinweise
- Um Daten für bestimmte Ausschnittzeilen zurückzugeben, verwenden Sie
_offset.ausschnittname
und_limit.ausschnittname
. Ein Ausschnittname kann entweder der im Inspektor in FileMaker Pro Advanced angegebene Objektname oder der Name der Bezugstabelle sein. Wenn Sie die Versatz- und Limit-Werte für Ausschnittzeilen weglassen, ist der Standard für Versatz 1 und für Limit 50.
Abrufen eines Datensatzbereichs
Um einen Bereich von Datensätzen abzurufen, verwenden Sie eine HTTP GET-Methode, wobei der API-Endpunkt records
den Datenbanknamen, das Layout und weitere Informationen enthält, um einen Startdatensatz und die Anzahl der Datensätze anzugeben. Optional können Sie die Sortierfolge der Datensätze angeben. Sie können zudem Ausschnittinformationen angeben, um die Anzahl der zurückgegebenen Bezugsdatensätze zu begrenzen.
HTTP-Methode | GET |
---|---|
URL |
Format 1 (gibt maximal die ersten 100 Datensätze zurück):
version – die angeforderte FileMaker Data API-Version, entweder Für Für Die Angabe Für das Schlüsselwort „portal“: Der Ausschnittteil der URL ist optional. Wenn das Layout Ausschnitte umfasst, geben Sie die Ausschnittnamen an, um die Leistung zu optimieren. Wenn der Ausschnittteil weggelassen wird, gibt der Aufruf alle Bezugsdatensätze in allen Ausschnitten im Layout zurück. Für Für Wenn Sie die Antwortdaten im Kontext eines anderen Layouts wünschen, verwenden Sie den Parameter Sie können FileMaker-Scripts als Teil dieser Abfrage ausführen, indem Sie die Parameter |
HTTP-Header | Authorization: session-token des Inhabers, wobei session-token den eindeutigen Wert des X-FM-Data-Access-Token für die Datenbanksitzung darstellt |
Parameter | Keine |
Antwort |
Die Datensatzdaten in JSON-Format und ein Meldungsarray, das den Fehlercode 0 zeigt. Beispiel: {
"response": {
"data": [
...
]
},
"messages": [{"code":"0","message":"OK"}]
}
Siehe Fehlerantworten. |
Hinweise
- Wenn Sie die Versatz- und Limit-Werte weglassen, ist der Standard für Versatz 1 und für Limit 100:
_offset=1&_limit=100
- Wenn Sie das Schlüsselwort „sortOrder“ weglassen, ist der Standard
ascend
. Beispiel:&_sort=[{ "fieldName": "recordId" }]
wird identisch behandelt wie:&_sort=[{ "fieldName": "recordId", "sortOrder": "ascend" }]
- Um Daten für bestimmte Ausschnittzeilen zurückzugeben, verwenden Sie
_offset.ausschnittname
und_limit.ausschnittname
. Ein Ausschnittname kann entweder der im Inspektor in FileMaker Pro Advanced angegebene Objektname oder der Name der Bezugstabelle sein. Wenn Sie die Versatz- und Limit-Werte für Ausschnittzeilen weglassen, ist der Standard für Versatz 1 und für Limit 50.
Hochladen von Containerdaten
Verwenden Sie zum Hochladen von Containerdaten eine HTTP POST-Methode mit dem API-Endpunkt containers
und geben Sie Datenbankname, Layoutname, DatensatzID, Feldname und eine Feldwiederholung an.
HTTP-Methode | POST |
---|---|
URL | Format: /fmi/data/version/databases/datenbankname/layouts/layoutname/records/datensatzid/containers/feldname/feld-wiederholung
|
HTTP-Header | Content-Type: multipart/form-data Authorization: session-token des Inhabers, wobei session-token den eindeutigen Wert des X-FM-Data-Access-Token für die Datenbanksitzung darstellt |
Parameter | Ein mehrteiliger MIME-Datenstrom (Content-Type: multipart/form-data), in dem das Containerfeld als ein Teil mit Verwenden Sie eine Bibliothek, die die Angabe von „multipart/form-data“ unterstützt. |
Antwort |
Ein leerer Antworthauptteil und ein Meldungsarray mit dem Fehlercode 0. Beispiel: {
"response": {},
"messages":[{"code":"0","message":"OK"}]
}
Siehe Fehlerantworten. |
Hinweise
- Das Containerfeld muss ein Feld im Tabellenauftreten des angegebenen Layouts sein. Es kann kein Containerfeld in einer Bezugstabelle sein.
- Das FileMaker Data API erlaubt alle MIME-Typen. Die MIME-Typen werden nicht geprüft, um sie auf die von FileMaker-Software oder dem Web-Server unterstützten Typen zu beschränken.
- Das FileMaker Data API legt die Containerfelddaten in einem Cache-Ordner auf dem Mastercomputer ab, wenn sie hochgeladen werden. Jedoch werden die im Cache gespeicherten Daten nach Abschluss der Abfrage gelöscht.
Suchen
Um eine Suchabfrage auszuführen, verwenden Sie eine HTTP POST-Methode mit dem API-Endpunkt _find
, der den Datenbanknamen und das Layout sowie zusätzliche Informationen angibt, um Abfragefelder und Kriterien, Sortierfolge, Startdatensatz und Anzahl der Datensätze anzugeben. Sie können zudem Ausschnittinformationen angeben, um die Anzahl der zurückgegebenen Bezugsdatensätze zu begrenzen.
HTTP-Methode | POST |
---|---|
URL |
/fmi/data/version/databases/datenbankname/layouts/layoutname/_find
version – die angeforderte FileMaker Data API-Version, entweder |
HTTP-Header |
Content-Type: application/json Authorization: session-token des Inhabers, wobei session-token den eindeutigen Wert des X-FM-Data-Access-Token für die Datenbanksitzung darstellt |
Parameter | Eine Abfrage in JSON-Format, die Felder und Suchkriterien angibt. Optionale Parameter geben Ausschlussabfragen, Sortierfolge, Startdatensatz (Versatz), Anzahl der Datensätze (Limit) und Ausschnitte für die Begrenzung der Anzahl an Bezugsdatensätzen an, die zurückgegeben werden. Wenn Sie die Antwortdaten im Kontext eines anderen Layouts wünschen, verwenden Sie den Parameter Beispiel: {
"query":[
{"Group": "=Chirurg"},
{"Ort" : "NY", "omit" : "true"}],
"sort":[
{"fieldName": "Ort","sortOrder": "ascend"},
{"fieldName": "Vorname", "sortOrder": "ascend"} ]
}
Beispiel mit Versatz, Limit und Ausschnitten: {
"query":[
{"Group": "=Chirurg"},
{"Ort" : "NY", "omit" : "true"}],
"portal": ["Ausschnitt1","Ausschnitt2"],
"limit": "10",
"offset": "1",
"offset.Ausschnitt1": "1",
"limit.Ausschnitt1": "5",
"layout.response": "Ärzte"
}
Sie können FileMaker-Scripts als Teil dieser Abfrage ausführen, indem Sie die Parameter |
Antwort |
Die Datensatzdaten in JSON-Format und ein Meldungsarray, das den Fehlercode 0 zeigt. Beispiel: {
"response": {
"data": [
...
]
},
"messages": [{"code":"0","message":"OK"}]
}
Siehe Fehlerantworten. |
Hinweise
- Das Sortieren und Zurückgeben von Datensätzen kann zeitintensiv sein. Verringern Sie die Datensatz-Downloadzeit, indem Sie die Anzahl der Felder auf dem angeforderten Layout verringern und Felder weglassen, die Kommentare enthalten.
- Um die Anzahl der Datensätze und der anzuzeigenden Zeilen in einer Bezugsmenge zu begrenzen, geben Sie die Parameter offset.ausschnittname und _limit.ausschnittname an.
- Variablenfelder können Sie nicht als Suchkriterien angeben. Wenn Sie eine Variable in einer Suchabfrage angeben, erhalten Sie eine Fehlermeldung. Setzen Sie den Variablenfeldwert stattdessen vor der Suchabfrage. Siehe Setzen von Variablenfeldwerten.
Setzen von Variablenfeldwerten
Um die Werte von Variablenfeldern zu setzen, verwenden Sie eine HTTP PATCH-Methode mit dem API-Endpunkt globals
, der den Datenbanknamen angibt.
HTTP-Methode | PATCH |
---|---|
URL | /fmi/data/version/databases/datenbankname/globals
version – die angeforderte FileMaker Data API-Version, entweder |
HTTP-Header |
Content-Type: application/json Authorization: session-token des Inhabers, wobei session-token den eindeutigen Wert des X-FM-Data-Access-Token für die Datenbanksitzung darstellt |
Parameter | Ein JSON-Objekt mit Feld-und-Wert-Paaren, die die zu setzenden Variablenfelder angeben. Die Variablenfelder müssen mit vollständig qualifizierten Feldnamen (tabellenname::feldname) angegeben werden. Beispiel: { "globalFields":
{
"baseTable::gCompany":"FileMaker",
"baseTable::gCode":"95054"
}
}
|
Antwort |
Ein leerer Antworthauptteil und ein Meldungsarray mit dem Fehlercode 0. Beispiel: {
"response": {},
"messages":[{"code":"0","message":"OK"}]
}
|
Ausführen von FileMaker-Scripts
FileMaker Data API kann FileMaker-Scripts ausführen:
- durch Verwendung einer HTTP GET-Methode mit dem API-Endpunkt
script
. Siehe Ausführen eines Scripts. - als Teil einer anderen Anforderung, indem Sie die Parameter
script.prerequest
,script.presort
undscript
in den Abfrageteil mit aufnehmen. Siehe Ausführen eines Scripts mit einer anderen Anforderung.
Ausführen eines Scripts
Um ein FileMaker-Script unabhängig auszuführen, verwenden Sie eine HTTP GET-Methode mit dem API-Endpunkt script
.
HTTP-Methode | GET |
---|---|
URL | /fmi/data/version/databases/datenbankname/layouts/layoutname/script/scriptname
version – die angeforderte FileMaker Data API-Version, entweder |
HTTP-Header | Content-Type: application/json |
Parameter | script.param – Die Textzeichenfolge, die als Parameter für das durch script-name angegebene Script fungieren soll. |
Antwort |
Ein leerer Antworthauptteil und ein Meldungsarray mit dem Fehlercode 0. Beispiel: {
"response": {},
"messages":[{"code":"0","message":"OK"}]
}
Siehe Fehlerantworten. |
Hinweise
- Wenn Sie FileMaker Data API verwenden, um ein Script auszuführen, stellen Sie sicher, dass das Script einen eindeutigen Namen besitzt. Wenn es mehrere Scripts mit dem gleichen Namen gibt, kann FileMaker Data API nicht kontrollieren, welches Script aufgerufen wird, selbst wenn die Scripts sich in unterschiedlichen Ordnern befinden.
Ausführen eines Scripts mit einer anderen Anforderung
Um ein FileMaker-Script als Teil einer anderen Anforderung auszuführen, schließen Sie die Parameter script.prerequest
, script.presort
und script
im Anforderungsteil ein.
Parameter | Wert |
---|---|
script |
Der Name des Scripts, das ausgeführt werden soll, nachdem die vom API-Aufruf angegebene Aktion (abrufen, erstellen, bearbeiten, duplizieren, löschen, suchen) und die anschließende Sortierung abgeschlossen sind. |
script.param |
Die Textzeichenfolge, die als Parameter für das durch script angegebene Script fungieren soll. |
script.prerequest |
Der Name des Scripts, das vor der vom API-Aufruf angegebenen Aktion und der anschließenden Sortierung ausgeführt werden soll. |
script.prerequest.param |
Die Textzeichenfolge, die als Parameter für das durch script.prerequest angegebene Script fungieren soll. |
script.presort |
Der Name des Scripts, das nach der vom API-Aufruf angegebenen Aktion, jedoch vor der anschließenden Sortierung ausgeführt werden soll. |
script.presort.param |
Die Textzeichenfolge, die als Parameter für das durch script.presort angegebene Script fungieren soll. |
Ausführungsreihenfolge von Scripts
Sie können die Parameter script.prerequest
, script.presort
und script
in einem einzigen API-Aufruf angeben. Jedes Schlüsselwort kann nur einmal angegeben werden. Der Host verarbeitet diese Parameter als Teil des API-Aufrufs in dieser Reihenfolge:
- Wechsel in das Layout, das im Script angegeben ist
- Ausführen des durch
script.prerequest
bezeichneten Scripts, falls angegeben - Ausführen der durch den API-Aufruf angegebenen Aktion (abrufen, erstellen, bearbeiten, duplizieren, löschen, suchen)
- Ausführen des durch
script.presort
bezeichneten Scripts, falls angegeben - Ausführen der im API-Aufruf angegebenen Sortierung:
- Für Abrufen eines Datensatzbereichs Ausführen der durch den Parameter
_sort
angegebenen Sortierung - Für Suchen Ausführen der durch den Parameter
sort
angegebenen Sortierung
- Für Abrufen eines Datensatzbereichs Ausführen der durch den Parameter
- Ausführen des durch
script
bezeichneten Scripts, falls angegeben - Zurückgeben der Ergebnismenge für den API-Aufruf mit angewandten offset- und limit-Parametern, sofern angegeben
Hinweise
- Für Aufrufe, die die HTTP GET- und HTTP DELETE-Methode verwenden, werden diese Scriptparameter als URL-Parameter angegeben. Siehe dazu Abrufen eines einzelnen Datensatzes, Abrufen eines Datensatzbereichs und Löschen eines Datensatzes.
- Für Aufrufe, die die HTTP POST- und HTTP PATCH-Methoden verwenden, werden die Scriptparameter im Hauptteil der Abfrage angegeben. Siehe Erstellen eines Datensatzes, Bearbeiten eines Datensatzes und Suchen.
- Für die Scriptparameter
script.param
,script.prerequest.param
undscript.presort.param
können Sie nur eine einzige Textzeichenfolge angeben. Um mehrere Parameter zu übergeben, können Sie einen String erstellen, der die Parameter begrenzt, und Ihr Script die einzelnen Parameter auslesen lassen. Übergeben Sie z. B. „param1|param2|param3“ als Liste mit dem Zeichen |, die so URL-kodiert ist:param1%7Cparam2%7Cparam3
- Scriptergebnisse werden über die Parameter
scriptResult
,scriptResult.prerequest
undscriptResult.presort
in den JSON-Daten zurückgegeben. Scriptfehler werden über die ParameterscriptError
,scriptError.prerequest
undscriptError.presort
in den JSON-Daten zurückgegeben. (Scriptfehler werden nicht über einen HTTP-Statuscode zurückgegeben.)
Beispiel:
https://<host>/fmi/data/v1/databases/kunden/layouts/eingabe/records/14?script=UpdateVerarbeitung&script.param=14
Beispiel:
{"query":[{"Titel":"Büroleiter"}], "script.prerequest":"Duplikate entfernen"}
Fehlerantworten
Wenn ein Fehler auftritt, gibt das FileMaker Data API Folgendes zurück:
- einen HTTP 400-Level-Statuscode für Standard-HTTP-Fehler
- einen HTTP 500-Statuscode für FileMaker-Fehler
HTTP-Statuscode | HTTP-Kategorie | Beschreibung |
---|---|---|
400 | Ungültige Abfrage | Tritt auf, wenn der Server die Anforderung nicht verarbeiten kann, weil sie unvollständig oder ungültig ist. |
401 | Nicht autorisiert | Tritt auf, wenn der Client nicht autorisiert ist, auf das API zuzugreifen. Wenn dieser Fehler bei dem Versuch auftritt, sich bei einer Datenbanksitzung anzumelden, gibt es ein Problem mit dem angegebenen Benutzerkonto bzw. Passwort. Wenn dieser Fehler bei anderen Aufrufen auftritt, wurde der Zugriffstoken nicht angegeben oder ist nicht gültig. |
403 | Gesperrt | Tritt auf, wenn der Client autorisiert ist, aber der Aufruf eine Aktion versucht, die aus einem anderen Grund gesperrt ist. |
404 | Nicht gefunden | Tritt auf, wenn der Aufruf eine URL mit einem ungültigen URL-Schema verwendet. Prüfen Sie die angegebene URL auf Syntaxfehler. |
405 | Methode nicht erlaubt | Tritt auf, wenn mit einem Aufruf eine fehlerhafte HTTP-Methode verwendet wird. |
415 | Nicht unterstützter Medientyp | Tritt auf, wenn der erforderliche Header fehlt oder für die Abfrage nicht korrekt ist:
|
500 | FileMaker-Fehler | Enthält FileMaker-Fehlermeldungen und -Fehlercodes. Weitere Informationen hierzu finden Sie unter FileMaker-Fehlercodes in der FileMaker Pro Advanced Hilfe. |
Hinweise
- Wenn die FileMaker Data API Engine nicht läuft oder nicht erreichbar ist, hängen die zurückgegebenen Fehlercodes oder -meldungen von Ihrem Web-Server (Apache oder IIS) ab.
- Weitere Informationen zu zusätzlichen HTTP-Statuscodes, die zurückgegeben werden, finden Sie unter www.w3.org.
Bereitstellen, Testen und Überwachen von FileMaker Data API-Lösungen
Bereitstellen einer FileMaker Data API-Lösung
- Arbeiten Sie alle Schritte unter Vorbereiten von Datenbanken für FileMaker Data API-Zugriff durch.
- Stellen Sie sicher, dass der FileMaker Data API-Zugriff in Admin Console aktiviert und richtig konfiguriert wurde. Weitere Informationen finden Sie in der Produktdokumentation.
- Stellen Sie sicher, dass der Web-Server und die FileMaker Data API Engine ausgeführt werden.
-
Verschlüsseln Sie die Kommunikation.
Das FileMaker Data API verlangt, dass Ihre REST API-Anwendungen eine HTTPS-Verbindung verwenden. HTTPS-Verbindungen verwenden Secure-Sockets-Layer- (SSL-) Verschlüsselung für die Kommunikation.
FileMaker Server bietet ein von FileMaker, Inc. signiertes Standard-SSL-Zertifikat an, das den Servernamen nicht prüft. Das Standardzertifikat von FileMaker dient nur für Testzwecke. Ein eigenes SSL-Zertifikat wird für die Produktion benötigt. Siehe FileMaker Server Installation und Konfiguration.
Die Programmiersprache bzw. Technologie, die Sie verwenden, um das FileMaker Data API aufzurufen, muss Transport Layer Security (TLS) v1.2 unterstützen, um mit dem Web-Server zu kommunizieren.
Testen einer FileMaker Data API-Lösung
Bevor Sie Ihre FileMaker Data API-Lösung in einer produktiven Umgebung einsetzen, stellen Sie sicher, dass sie wie erwartet funktioniert.
- Testen Sie Funktionen wie Suchen, Hinzufügen und Löschen von Datensätzen mit unterschiedlichen Konten und Berechtigungen.
- Stellen Sie sicher, dass Berechtigungen wie erwartet arbeiten, indem Sie mit unterschiedlichen Konten testen. Vergewissern Sie sich, dass nicht autorisierte Benutzer nicht auf Ihre Daten zugreifen bzw. sie nicht ändern können.
- Testen Sie, ob sich Ihre Lösung gleich verhält, wenn sie von unterschiedlichen Betriebssystemen aufgerufen wird.
Überwachen von FileMaker Data API-Lösungen
Der Server-Administrator kann Admin Console verwenden, um die FileMaker Data API Engine zu starten und zu stoppen, FileMaker Data API-Clients zu überwachen, die Verwendung von FileMaker Data API-Aufrufen zu überwachen und die FileMaker Data API-Protokolldatei herunterzuladen.
Für | Verwenden Sie |
---|---|
Starten oder stoppen der FileMaker Data API Engine |
Das Admin Console-Register Konnektoren > FileMaker Data API. Siehe „Starten und Stoppen von FileMaker Server-Komponenten“ in der FileMaker Server Hilfe und der FileMaker Cloud-Produktdokumentation unter Produktdokumentation. Für FileMaker Server können Sie auch einen CLI-Befehl verwenden. Siehe CLI-Hilfe. |
Überwachen von FileMaker Data API-Clients |
Die Clients-Liste auf der Admin Console-Seite Datenbanken. Diese Seite zeigt die Details zu den Clients und Datenbanken, auf die zugegriffen wird. Von dieser Seite aus trennen Sie FileMaker Data API-Clients, können ihnen aber keine Meldungen senden. Siehe „Verwalten von Clients“ in der FileMaker Server Hilfe und die FileMaker Cloud-Produktdokumentation unter Produktdokumentation. |
Überwachen der Verwendung von FileMaker Data API-Aufrufen |
Das Admin Console-Register Konnektoren > FileMaker Data API. Dieses Register zeigt das FileMaker Data API-Jahreslimit, das durch Ihre Lizenz festgelegt ist, die Datenmenge, die seit dem letzten jährlichen Rückstelldatum übertragen wurde und das jährliche Rückstelldatum für Ihre Lizenz an.
|
Anzeigen des FileMaker Data API-Protokolls |
Während FileMaker Data API-Clients mit einer Datenbank verbunden sind, werden Statistikdaten über die Clients im Protokoll fmdapi.log aufgezeichnet. Siehe „FileMaker Data API-Protokoll“ in der FileMaker Server Hilfe und die FileMaker Cloud-Produktdokumentation unter Produktdokumentation. |
FileMaker Data API-Integration mit Tableau
Über die Integration mit Tableau
Verwenden Sie einen Web Data Connector, um eine Verbindung zwischen einer bereitgestellten FileMaker-Datenbank und Tableau zu definieren. Der Web Data Connector ist eine Beispielimplementierung, die REST API-Aufrufe in JSON-Format akzeptiert. Die Verbindung verwendet FileMaker Data API, um Daten von einer bereitgestellten FileMaker-Datenbank in Tableau zu importieren.
Verwenden Sie FileMaker Server bzw. ein FileMaker Cloud-Produkt, um die FileMaker-Datenbank bereitzustellen. Diese Hosts bieten eine Integration mit den folgenden Tableau-Produkten:
Tableau Desktop, mindestens Version 10, für Windows oder macOS. Verwenden Sie den FileMaker Web Data Connector for Tableau Desktop, um eine Verbindung zu Tableau Desktop zu definieren.
Tableau Server, installiert vor Ort oder Kunden-gehostet. Hosten Sie den FileMaker Web Data Connector for Tableau Server auf dem Tableau Server.
Tableau Cloud. Führen Sie eine lokale Tableau Server-Instanz aus, um Daten mittels Proxy von der Tableau Cloud vorzuhalten. Hosten Sie den FileMaker Web Data Connector for Tableau Server auf dem Tableau Server.
Tableau Online. Erfordert die Verwendung von Tableau Bridge.
Anforderungen für den Web Data Connector
Der FileMaker Web Data Connector for Tableau erfordert:
- Eine passwortgeschützte FileMaker Pro Advanced-Datenbank mit den zu importierenden Daten. Die Datenbank muss auf FileMaker Server oder einem FileMaker Cloud-Host bereitgestellt werden. FileMaker Server und FileMaker Cloud for AWS unterstützen die FileMaker-Dateiauthentifizierung und die OAuth-Authentifizierung. FileMaker Cloud erfordert FileMaker-ID Authentifizierung.
-
Einen gültigen REST API-Endpunkt.
Für FileMaker Server ist der Endpunkt ein HTML-Verbindungspunkt, der für Webdienste nötige Informationen bereitstellt. Der Endpunkt hat folgendes Format:
https://<hostname>/fmi/data/version/tableau/fm_connector.html
Dabei isthostname
der vollständig qualifizierte Hostname Ihres FileMaker Servers.Beispiel:
https://meinserver.firma.com/fmi/data/v1/tableau/fm_connector.html
Ein gültiges eigenes SSL-Zertifikat auf dem Host. Der FileMaker Web Data Connector for Tableau gestattet keinen Import von Daten ohne gültiges eigenes SSL-Zertifikat.
Hinweis:Wenn Ihr Host ein Subject-Alternative-Name- (SAN-) Zertifikat verwendet, muss der Hostname mit dem Common Name im SAN-Zertifikat übereinstimmen.
Vorbereiten des Datenimports in Tableau
Folgen Sie der Anleitung unter Vorbereiten von Datenbanken für den FileMaker Data API-Zugriff, um das Layout für den Import zu definieren und die Datenbank für FileMaker Data API-Zugriff zu aktivieren.
Hinweis:Um Daten in Tableau zu importieren, muss die Tabelle mindestens einen Datensatz mit Datensatzdaten enthalten.
Die folgenden FileMaker-Feldtypen werden als Tableau-Datentypen importiert.
FileMaker-Feldtyp | Tableau-Datentyp |
---|---|
Text | string |
Datum | date |
Zeit | string |
Zeitstempel | datetime |
Zahl | float |
Die folgenden FileMaker-Feldtypen werden beim Import in Tableau nicht unterstützt:
- Containerfelder
- Statistikfelder. Sie können ein Statistikfeld in Tableau basierend auf den Daten erstellen, die Sie aus FileMaker importieren.
- Formelfelder. Sie können ein Formelfeld in Tableau basierend auf den Daten erstellen, die Sie aus FileMaker importieren.
- Diagrammdaten
- Daten aus FileMaker Pro Advanced-Ausschnitten. Um Daten aus Bezugsdatensätzen zu importieren, erstellen Sie ein FileMaker Pro Advanced-Layout basierend auf der Bezugstabelle oder importieren Sie Daten aus separaten FileMaker Pro Advanced-Tabellen in Tableau und verknüpfen Sie die Tabellen dann in Tableau.
- Feldwiederholungen, bei denen die Anzeige von Wiederholfeldern für Wiederholungen anzeigen mehrere Werte umfasst. Eine einzelne Wiederholung wird unterstützt.
- Nicht numerische Werte in Zahlenfeldern. Wenn Tableau nicht numerische Werte in Zahlenfeldern erkennt, werden die Daten nicht importiert.
Verwenden Sie keine reservierten Wörter als Feldnamen in FileMaker Pro Advanced.
Einrichten der Datenverbindung in Tableau
Folgen Sie den Anweisungen in der Online-Hilfe Ihres Tableau-Produkts, die die Verwendung von Webdaten-Connectoren beschreibt.
So richten Sie zum Beispiel die Datenverbindung mit FileMaker Server Web Data Connector for Tableau Desktop ein:
- Wählen Sie in Tableau Desktop unter Verbinden (links am Bildschirm) Mehr > Webdaten-Connector.
- Geben Sie die URL für Ihren FileMaker Server-Endpunkt ein:
https://<hostname>/fmi/data/v1/tableau/fm_connector.html
Dabei ist<hostname>
der vollständig qualifizierte Hostname Ihres FileMaker Servers. -
Im Dialogfeld „Daten aus FileMaker-Datei importieren“:
-
Melden Sie sich an der FileMaker Pro Advanced-Datenbank an, indem Sie die folgenden Informationen eingeben oder einen OAuth-Identitätsdienstleister verwenden.
- Quelle Datenbankname: der Name der FileMaker Pro Advanced-Datenbank
- Quelle Layoutname: der Name des FileMaker Pro Advanced-Layouts
- Kontoname: der Name des FileMaker Pro Advanced-Kontos mit dem Zugriffsrecht „fmrest“
- Passwort: das Passwort für das FileMaker Pro Advanced-Konto
- Wählen Sie Inkrementelle Aktualisierung aktivieren, um die inkrementelle Aktualisierung zu aktivieren.
-
- Klicken Sie auf FileMaker-Daten importieren.
Tableau importiert die Daten. Die Verarbeitungszeit hängt von der Anzahl der importieren Datensätze, der Server-Auslastung und dem Netzwerkdurchsatz ab. Tableau ordnet die FileMaker Pro Advanced-Feldnamen und Daten den Dimensionen und Kennzahlen zu. String-Daten werden in der Regel Dimensionen zugeordnet, wohingegen numerische Daten in der Regel Kennzahlen zugeordnet werden. Die Zuordnung erfolgt automatisch während des Imports, Sie können sie aber anpassen.
Hinweise
-
Wenn Sie Quelle Layoutname angeben, stellen Sie sicher, dass der Layoutname eindeutig ist. Wenn Ihre Datenbank zwei Layouts mit dem gleichen Namen enthält, kann die Tableau-Datenverbindung nicht zwischen ihnen unterscheiden. Tableau zeigt nur einen Namen an und es kann ggf. nicht das Layout sein, das Sie meinten.
- Wenn Sie die Datenverbindung in Tableau einrichten, wählen Sie nicht die Option, um den Benutzer aufzufordern, sich zu authentifizieren.
-
Verwenden Sie Inkrementelle Aktualisierung aktivieren, um nur die neuen Datensätze zu importieren.
- Nach dem Import von FileMaker-Daten mit inkrementeller Aktualisierung wählen Sie das Register Arbeitsblatt in Tableau, um zu dem Arbeitsblatt zu wechseln.
- Wählen Sie Daten FM: datenbankname / layoutname > Extrahieren > Aktualisieren (Inkrementell).
- Wählen Sie das Register Datenquelle.
- Klicken Sie auf Jetzt aktualisieren, um die neuen Datensätze anzuzeigen.
- Das Aktivieren der inkrementellen Aktualisierung erzeugt keine anhaltende Live-Verbindung zwischen Tableau und der bereitgestellten FileMaker-Datenbank. Sie müssen die inkrementelle Aktualisierung manuell ausführen.
- Die inkrementelle Aktualisierung importiert nur die neuen Datensätze. FileMaker Pro Advanced-Datensätze, die geändert oder gelöscht wurden, werden nicht aktualisiert. Um geänderte Daten abzurufen oder gelöschte Datensätze zu entfernen, müssen Sie in Tableau eine neue Arbeitsmappe erstellen und die Daten neu importieren.
- Die inkrementelle Aktualisierung erstellt ein Feld mit dem Namen -recordId. Wenn Sie Änderungen an diesem Feld vornehmen, können Sie eine inkrementelle Aktualisierung eventuell nicht durchführen.
- In Tableau können Sie Schema und Daten ändern, die importiert wurden. Wenn Sie aber das Schema oder Daten in Tableau ändern, werden diese Änderungen nicht zurück in die FileMaker Pro Advanced-Datei übertragen.
- Wenn Sie das Schema in der FileMaker Pro Advanced-Datei ändern, müssen Sie in Tableau eine neue Arbeitsmappe erstellen und die Daten neu importieren.
- Wenn Sie die Tableau-Arbeitsmappe schließen und erneut öffnen, funktioniert die inkrementelle Aktualisierung nicht mehr.
- Nachdem die Datenverbindung zu Tableau hergestellt wurde, speichert der FileMaker Web Data Connector Benutzerkonto und Passwort zwischen, bis die Arbeitsmappe geschlossen wird. Beachten Sie dabei Folgendes:
- Wenn die FileMaker-Sitzung abläuft, während Sie mit Tableau verbunden sind, versucht der FileMaker Web Data Connector, den Benutzer wieder mit der bereitgestellten Datenbank zu verbinden.
- Wenn die Tableau-Verbindung abläuft, versucht der FileMaker Web Data Connector, die Verbindung zu der bereitgestellten Datenbank so lange wiederherzustellen, wie die Tableau-Arbeitsmappe geöffnet ist.
- Wenn der Tableau-Refresh-Token abläuft, müssen Sie die Datenquelle in Tableau Desktop wieder veröffentlichen.
- Wenn die Arbeitsmappe geschlossen und wieder geöffnet wird, müssen Sie Ihren Kontonamen und Ihr Passwort erneut während des anfänglichen Datenimports eingeben.
- Die Seite „Tableau-Datenquelle“ zeigt bis zu 1.000.000 (eine Million) Zeilen an, selbst wenn mehr Datensätze importiert werden.
- Die Verwendung von Sonderzeichen in Datenbank-, Tabellen- oder Layoutnamen hindert Tableau daran, eine Datenverbindung herzustellen.