FileMaker 16 Guide för Data API
Om FileMaker Data API
Översikt
FileMaker® Data API är ett API (Application Programming Interface) som gör att webbtjänster kan komma åt data i värdbaserade lösningar. Eftersom detta API använder REST-arkitektur (Representational State Transfer) är FileMaker Data API ett REST API.
Din webbtjänst eller app anropar FileMaker Data API för att få en autentiseringstoken för åtkomst till en värdbaserad lösning. Därefter används denna token i efterföljande anrop för att skapa poster, uppdatera poster, radera poster och utföra sökningar.
FileMaker Data API returnerar data i JSON (JavaScript Object Notation), ett textformat som vanligtvis används med REST API:er eftersom det inte är beroende av specifika programmeringsspråkformat.
I den här handboken förutsätts det att du har erfarenhet av följande:
- Du har använt FileMaker Pro för att skapa databaser. Du bör förstå grunderna i databasdesign i FileMaker Pro och känna till begreppen fält, relationer, layouter, portaler och containrar. Se FileMaker Pro Hjälp.
- Du har använt FileMaker Server som värd för lösningar. Du bör förstå hur du driftsätter FileMaker Server, hur du aktiverar åtkomst till värdbaserade lösningar och hur du övervakar värdbaserade lösningar med hjälp av FileMaker Server Admin Console. Se FileMaker Server Hjälp.
- använda REST-API:er i program på serversidan eller webbtjänster som anropar POST-, GET-, PUT- och DELETE-metoder med data i JSON-format. Du kan använda vilka programmeringsspråk eller -verktyg du vill.
Följ dessa steg för att använda FileMaker Data API:
- Förbered databasen för FileMaker Data API-åtkomst med hjälp av FileMaker Pro. Du kan skapa en databas eller förbereda en befintlig databas. Se Förbered databasen för FileMaker Data API-åtkomst.
- Skriv kod som anropar FileMaker Data API-metoder för att söka, skapa, redigera och radera poster i en värdbaserad lösning. Se Skriv FileMaker Data API-anrop.
- Använd FileMaker Server som värd för lösningen med FileMaker Data API-åtkomst aktiverat. Se Vara värd för en FileMaker Data API-lösning.
- Testa att FileMaker Data API-åtkomst fungerar som den ska. Se Testa en FileMaker Data API-lösning.
- Övervaka din värdbaserade lösning med hjälp av Admin Console. Se Övervaka FileMaker Data API-lösningar.
Så här bearbetas ett FileMaker Data API-anrop.
REST API-klient
1
6
Webbserver
2
5
FileMaker Data API
-motor
3
4
Databasserver
-
En REST API-klient skickar ett FileMaker Data API-anrop (HTTPS-begäran) till FileMaker Server-webbservern över HTTPS-porten. FileMaker Pro behöver inte installeras eller köras.
HTTPS-porten är 443 som standard, men serveradministratören kan ange en annan port när FileMaker Server är installerat.
- Webbservern vidarebefordrar förfrågan genom FileMakers webbservermodul till FileMaker Data API-motorn.
- FileMaker Data API-motorn konverterar HTTPS-förfrågan (URL och JSON-data) till ett format som databasserverkomponenten kan förstå och begär data från lösningen som databasservern är värd för.
- Databasservern skickar efterfrågade FileMaker-data tillbaka till FileMaker Data API-motorn.
- FileMaker Data API-motorn konverterar FileMaker-data till ett HTTPS-svar (URL med JSON-data) för att svara på anropet och skickar tillbaka data till webbservern.
- Webbservern skickar HTTPS-svaret till den REST API-klient som gjort förfrågan.
FileMaker Data API-motorn kräver att portarna 3000 och 8989 är tillgängliga.
Databasservern kräver att porten 5003 är tillgänglig.
Webbpubliceringsalternativ
Om du inte har vana av att använda REST API:er kan du även använda följande alternativ för att publicera dina FileMaker-data på internet.
FileMaker WebDirect™: Webbanvändare ansluter till din lösning på FileMaker Server för att visa, redigera, sortera eller söka efter poster om du ger dem åtkomstbehörighet. De behöver inte installera ytterligare programvara, bara kompatibel webbläsarprogramvara och åtkomst till internet eller ett intranät. Användargränssnittet liknar FileMaker Pro-programmet.Webbsidorna och formulär som webbanvändaren samverkar med är beroende av de layouter och vyer som definierats i FileMaker Pro-databasen.
Se Guide för FileMaker WebDirect.
Statisk publicering: Om du ändrar dina data väldigt sällan eller om du inte vill att användarna ska ha en direktanslutning till din databas kan du använda dig av statisk publicering. Vid statisk publicering exporterar du FileMaker Pro-data och skapar en webbsida som du kan anpassa ytterligare med HTML.Webbsidan ändras inte när informationen i din databas ändras och användarna öppnar inte din databas.
Se Publicera data på statiska webbsidor i FileMaker Pro Hjälp.
Anpassad webbpublicering: Du kan integrera en FileMaker-databas med en anpassad webbplats genom att använda teknikerna för anpassad webbpublicering.
Förbered databaser för FileMaker Data API-åtkomst.
Avgör vilka data som ska öppnas
Du kan skapa en FileMaker Pro-databas att använda med FileMaker Data API eller använda en befintlig databas. Om du skapar en databas kan du designa de layouter och fält som din FileMaker Data API-lösning kräver. Om du använder en befintlig databas kan det vara bra att skapa en layout specifikt för din FileMaker Data API-lösning.
FileMaker Data API-anrop som kommer åt postdata kräver att du anger en layout. FileMaker Data API använder den standardvy som är definierad för den layout som du anger. Ange en layout som definierar Formulärvy som standardvy för layouten. Om du använder en layout som definierar Tabellvy som standardvy kan FileMaker Data API inte hämta data från relaterade poster.
Skydda dina värdbaserade lösningar
FileMaker Data API kräver din REST API-kod för att logga in i en lösning med hjälp av ett lösenordsskyddat konto. Tilldela lösenord till databaskonton som används för REST API-åtkomst eller använd en OAuth-tjänstleverantör för dessa konton.
Obs!När du definierar kontonamn och lösenord för FileMaker Data API-lösningar använder du utskrivbara ASCII-tecken, till exempel, a-z, A-Z och 0-9. För att göra kontonamn och lösenord säkrare inkluderar du skiljetecken, t.ex. ”!” och ”%”, men inkludera inte kolon. Se FileMaker Pro Hjälp.
Aktivera FileMaker Data API-åtkomst
Du måste aktivera den utökade behörigheten Åtkomst via FileMaker Data API i varje databas som du vill komma åt med FileMaker Data API. Om du inte aktiverar den utökade behörigheten FileMaker Data API i databasen kommer inte REST API-program att kunna använda FileMaker Data API för att komma åt databasen även om FileMaker är värd för den.
Aktivera FileMaker Data API-åtkomst för en databas:
- Starta FileMaker Pro och öppna databasen med hjälp av ett konto som har behörighetsuppsättningen Full åtkomst. Du kan också öppna databasen med hjälp av ett konto som har inställningen Hantera utökad behörighet i behörighetsuppsättningen.
- I dialogrutan Hantera säkerhet på fliken Utökade behörigheter väljer du den utökade behörigheten fmrest för att aktivera den.
- Tilldela de behörighetsuppsättningar som innehåller den utökade behörigheten fmrest till ett eller flera konton.
Obs!Aktivera den utökade behörigheten fmrest endast i behörighetsuppsättningarna för de konton som du vill ska ha åtkomst till din värdbaserade lösning.
Se Skapa och redigera behörighetsuppsättningar i FileMaker Pro Hjälp.
Skriv FileMaker Data API-anrop
FileMaker Data API-funktioner
FileMaker Data API erbjuder ett REST API för att komma åt data i värdbaserade lösningar. FileMaker Data API gör att koden kan göra följande:
- logga in och ut från en värdbaserad lösning. Se Anrop som ansluter till eller kopplar från en databas.
- skapa, redigera, radera eller hämta en post, eller hämta ett intervall av poster. Se Anrop som fungerar med poster.
- utföra sökningar. Se Anrop som utför sökningar.
- ställa in globala fältvärden. Se Anrop som ställer in globala fältvärden.
FileMaker Data API stöder inte följande:
- överföra data till containerfält
- komma åt data i externa ODBC-datakällor
- plugin-program för FileMaker
- köra FileMaker-script
- aktivera scripttriggers
FileMaker Data API returnerar fältdata som de lagras i databasen, inte som de visas i FileMaker Pro.
Referensinformation för FileMaker Data API
När du installerade FileMaker Server installerade du referensfilerna för FileMaker Data API. Denna referens innehåller detaljerad information om alla anrop som stöds av FileMaker Data API.
- Visa referensen i ett webbläsarfönster på huvuddatorn genom att ange webbadressen
https://lokalvärd/fmi/rest/apidoc/
- Visa referensen i ett webbläsarfönster på en fjärrdator genom att ange webbadressen
https://
värd
/fmi/rest/apidoc/
därvärd
är IP-adressen eller värdnamnet för den huvuddator som kör FileMaker Server. På en Windows-server finns referensfilerna i mappen
[enhet]
:\Program Files\FileMaker\FileMaker Server\Documentation\Data API Documentation
där[enhet]
är den enhet där din FileMaker Server-driftsättning finns.Om du installerar med hjälp av en plats som inte är standard i Windows ersätter installationsplatsen början av den installationsväg som är standard
[installationsplats]
:\Documentation\Data API Documentation- På en macOS-server finns referensfilerna i mappen
/Library/FileMaker Server/Documentation/Data API Documentation
Kommentar om dataformat
- Alla datavärden måste använda URL-kodning, även kallat procentkodning, vilket är normalt för HTTP-förfrågningar. Om du till exempel anger ett layoutnamn som innehåller ett snedstreck måste du ange det tecknet som det kodade värdet: "%2F"
- De fält och portaler som du anger måste finnas i den layout som du anger.
- För att ange relaterade fält måste du använde syntax
tabellnamn::relaterat-fält
- För att använda fältrepetition 2 och större måste du använda syntax
tabellnamn::relaterat-fält(repetition-antal)
- När du redigerar poster måste du använda post-ID-syntax
tabellnamn::relaterat-fält(repetition-antal).post-id
- För containerfältdata returnerar FileMaker Data API en URL med sökvägsreferensen till containerdataobjektet.
Komponenter för REST API-anrop
FileMaker Data API-anropet består av följande komponenter.
Komponent | Beskrivning |
---|---|
En HTTP-metod (även kallat ett HTTP-verb) |
FileMaker Data API använder följande HTTP-metoder:
|
En HTTP-rubrik |
FileMaker Data API använder följande HTTP-rubriker:
|
En anrops-URL | URL:er för FileMaker Data API börjar med följande: /fmi/rest/api/ |
Parameterdata i JSON-format | Behövs inte med Logga ut från en lösning, Radera en post, Hämta en enskild post eller Hämta ett intervall av poster |
Anrop som ansluter till eller kopplar från en databas
FileMaker Data API använder en åtkomst-token för att definiera en anslutning till en databas. Denna åtkomst-token måste användas i rubriken för alla efterföljande anrop till den värdbaserade lösningen. Åtkomst-token är giltig till dess att du loggar ut från en lösning eller i 15 minuter efter det senaste anrop som angav token. (Medan en token är giltig återställer varje anrop som anger token sessionsräknaren till noll.)
Logga in i en lösning
Logga in i en värdbaserad lösning genom att använda en HTTP POST-metod med den auth
URL som anger namnet på en värdbaserad lösning.
Om kontonamnet och lösenordet har autentiserats får koden en åtkomst-token som definierar din anslutning till lösningen.
HTTP-metod | POST |
---|---|
URL | /fmi/rest/api/auth/lösning lösning – namnet på den värdbaserade databasen |
HTTP-rubrik | Content/Type: application/json |
Parametrar | Kontonamn och lösenord för att logga in i den värdbaserade lösningen och den layout som det ska växlas till efter inloggning, i JSON-format. Till exempel: {
"user":"admin",
"password":"admin",
"layout":"Tasks"
} |
Svar | Åtkomst-token, den aktuella layouten och en felkod på 0. Till exempel: {
"errorCode": "0",
"layout": "Tasks",
"token": "fdde29fa175eb1cc8347512ca327b191619fc32ed65efaab26d8"
}
Se Felsvar. |
Logga in i en lösning med hjälp av en OAuth-identitetsleverantör
Logga in i en värdbaserad lösning genom att använda en HTTP POST-metod med den auth
URL som anger namnet på en värdbaserad lösning.
Om kontonamnet och lösenordet har autentiserats får koden en åtkomst-token som definierar din anslutning till lösningen.
HTTP-metod | POST |
---|---|
URL | /fmi/rest/api/auth/lösning lösning – namnet på den värdbaserade databasen |
HTTP-rubrik | Content/Type: application/json X-FM-Data-Login-Type: oauth |
Parametrar | ID för OAuth-begäran, vilket innehåller anrops-URL för autentisering, den OAuth-identifierare som returneras av OAuth-identitetsleverantören och den layout som det ska växlas efter inloggning. Alla data måste vara i JSON-format. Till exempel: {
"oAuthRequestId":"E65B98CC17429CO643A31119F",
"oAuthIdentifier":"B164A4629A776E5177445DR223",
”layout”:”kontakter"
} |
Svar | Åtkomst-token, den aktuella layouten och en felkod på 0. Till exempel: {
"errorCode": "0",
"layout": ”Kontakter",
"token": "fdde35fa175eb1cc8621782fd327b191619fc32ed65efaab26d8"
}
Se Felsvar. |
Hämta OAuth-parametrar i JSON-format:
-
Hämta listan över OAuth-leverantörer som stöds genom att använda en HTTP GET-metod med denna URL:
https://värd/fmws/oauthproviderinfo
där [värd] är IP-adressen eller domännamnet på huvuddatorn i din FileMaker Server-driftsättning. Listan returneras i JSON-format.
- Välj en OAuth-leverantör som stöds och hämta ett spårnings-ID för din lösning.
-
Använd en HTTP GET-metod med denna URL:
http://värd/oauth/getoauthurl?trackingID=spårnings-ID&provider=OAuth-leverantör&address=127.0.0.1&X-FMS-OAuth-AuthType=2
där värd är IP-adressen eller domännamnet för huvuddatorn i din FileMaker Server-driftsättning, spårnings-ID är utvecklargenererat spårnings-ID för din lösning och OAuth-leverantör är namnet på din valda OAuth-leverantör.
HTTP-rubriken för denna begäran måste innehålla följande:
- X-FMS-Application-Type: 9
- X-FMS-Application-Version: 15
- X-FMS-Return-URL: http://127.0.0.1/
- Läs svarsrubriken för X-FMS-Request-ID-data. Denna svarsrubrik innehåller det ID för OAuth-förfrågan som du använder för att logga in.
- Läs svarsrubriken för X-FMS-Return-URL-data. Anropa den URL som returneras i denna parameter för att tillåta användaren att autentisera med OAuth-leverantören.
- ”Identifieraren” som returneras av Oauth-leverantören är den parameter för OAuth-identifierare som du använder för att logga in.
Se Skapa konton som autentiserar via en OAuth-identitetsleverantör i FileMaker Pro Hjälp.
Logga ut från en lösning
När din kod har kommit åt den värdbaserade lösningen använder du en HTTP DELETE-metod med auth
URL:en och anger namnet på en värdbaserad lösning.
Sessionstoken skickas till begäranrubriken.
Om koden inte loggar ut från den värdbaserade lösningen blir din åtkomst-token ogiltig när tidsgränsen för FileMaker Data API-sessionen uppnås 15 minuter efter det senaste anrop som angav token.
HTTP-metod | DELETE |
---|---|
URL | /fmi/rest/api/auth/lösning lösning – namnet på den värdbaserade databasen |
HTTP-rubrik | FM-Data-token, vilken anger den åtkomst-token som returneras till det anrop som loggade in i lösningen |
Parametrar | Ingen |
Svar | En felkod på 0. Till exempel: {
"errorCode": "0"
}
Se Felsvar. |
Anrop som fungerar med poster
Skapa en post
Skapa en post med hjälp av en HTTP POST-metod med record
URL:en och ange lösningsnamnet och layouten.
HTTP-metod | POST |
---|---|
URL | /fmi/rest/api/record/lösning/layout lösning – namnet på den värdbaserade databasen |
HTTP-rubrik | Content/Type: application/json FM-Data-token, vilken anger den åtkomst-token som returneras till det anrop som loggade in i lösningen |
Parametrar | Postdata i JSON-format som innehåller fält- och värdepar som anger värden för fält som finns i mållayouten. Till exempel: {"data":
{
”fält_1": ”värde_1",
”fält_2": ”värde_2",
”repetitionsfält(1)" : ”fältvärde",
”Order::OrderDatum.0":"12/22/2015"
}
}
Obs!Skapa en tom post med standardvärden för varje fält genom att ange ett tomt dataobjekt i JSON-format som parameter. Till exempel: {"data":
{
}
} |
Svar | En felkod på 0 och post-ID för den post som skapats. Till exempel: {
"errorCode": "0",
"recordId": "25"
}
Se Felsvar. |
Kommentar
- När du skapar poster med hjälp av FileMaker Data API förstärks fältvalidering. Om data inte godkänns i fältvalideringen får du ett felmeddelande och posten skapas inte.
-
Om du vill skapa en relaterad post utesluter du postens ID eller använder värdet 0 (noll) som post-ID för den relaterade posten följt av det nya fältvärdet.
Använd till exempel något av följande för att skapa en relaterad post:
”Order::OrderDatum" : "12/22/2017" ”Order::OrderDatum.0" : "12/22/2017"
Bara en relaterad post kan skapas per skapa postanrop.
Redigera en post
Redigera en post med hjälp av en HTTP POST-metod med record
URL:en och ange lösningsnamnet, layouten och postens ID.
HTTP-metod | PUT |
---|---|
URL | /fmi/rest/api/record/lösning/layout/postid lösning – namnet på den värdbaserade databasen |
HTTP-rubrik | Content/Type: application/json FM-Data-token, vilken anger den åtkomst-token som returneras till det anrop som loggade in i lösningen |
Parametrar | Postdata i JSON-format som innehåller fält- och värdepar som du vill uppdatera. Dessa data kan ange relaterade poster eller portaler som finns i layouten. Endast de fält du anger uppdateras, andra fält i posten ändras inte. Om "{}" tillhandahålls som datavärde uppdateras inte målposten. Valfri parameter: Ändrings-ID. Genom att ange ett ändrings-ID kan du vara säker på att du redigerar den aktuella versionen av en post. Om värdet för ändrings-ID inte stämmer med det aktuella värdet för ändrings-ID i databasen ändras inte posten. Till exempel: {"data":
{
”efternamn": "Bob",
”efternamn": "Smith",
”utrustning(2)" : "PC",
”Order::OrderDatum.2":"12/20/2017",
”Order::OrderDatum.0":"12/22/2017", // skapa en relaterad ”Order”-post med 0 som recordId
”deleteRelated": "Order.3" // radera en relaterad ”Order”-post med strängen ”deleteRelated"
},
modId: "3"
} |
Svar | En felkod på 0 och post-ID för den post som redigerats. Till exempel: {
"errorCode": "0",
"recordId": "53"
}
Se Felsvar. |
Kommentar
- När du redigerar poster med hjälp av FileMaker Data API förstärks fältvalidering. Om data inte godkänns i fältvalideringen får du ett felmeddelande och posten uppdateras inte.
-
Om du vill skapa en relaterad post utesluter du postens ID eller använder värdet 0 (noll) som post-ID för den relaterade posten följt av det nya fältvärdet.
Använd till exempel något av följande för att skapa en relaterad post:
”Order::OrderDatum" : "12/22/2017" ”Order::OrderDatum.0" : "12/22/2017"
Bara en relaterad post kan skapas per skapa postanrop. -
Radera en relaterad post genom att använda strängen ”deleteRelated” följt av den relaterade posten som ska raderas.
Till exempel:
"deleteRelated" : "Order.3"
Bara en relaterad post kan raderas per redigera postanrop.
Radera en post
Radera en post med hjälp av en HTTP DELETE-metod med record
URL:en och ange lösningsnamnet, layouten och postens ID.
HTTP-metod | DELETE |
---|---|
URL | /fmi/rest/api/record/lösning/layout/recordid lösning – namnet på den värdbaserade databasen |
HTTP-rubrik | FM-Data-token, vilken anger den åtkomst-token som returneras till det anrop som loggade in i lösningen |
Parametrar | Ingen |
Svar | En felkod på 0. Till exempel: {
"errorCode": "0"
}
Se Felsvar. |
Hämta en enskild post
Hämta en post med hjälp av en HTTP GET-metod med record
URL:en och ange lösningsnamnet, layouten och postens ID.
Du kan även ange portalinformation för att begränsa hur många relaterade poster som returneras.
HTTP-metod | GET |
---|---|
URL | Format 1:
/fmi/rest/api/record/lösning/layout/recordid lösning – namnet på den värdbaserade databasen För portalnyckelordet: Portaldelen av URL:en är valfri. Om layouten innehåller portaler anger du portalnamnen för bättre prestanda. Om portaldelen utesluts returnerar anropet alla relaterade poster i alla portaler i layouten. |
HTTP-rubrik | FM-Data-token, vilken anger den åtkomst-token som returneras till det anrop som loggade in i lösningen |
Parametrar | Ingen |
Svar | En felkod på 0 och postdata i JSON-format. Till exempel: {
"errorCode": "0",
"record": "{...}"
}
Se Felsvar. |
Kommentar
- För att begränsa hur många relaterade poster som returneras stöder FileMaker Data API tillvalet Tillåt vertikal rullning i dialogrutan Portalkonfiguration. Om detta tillval väljs returnerar FileMaker Data API de första 50 raderna från portalen. Om detta tillval inte väljs returnerar FileMaker Data API så många rader som angetts för tillvalet Antal rader.
- Rulla igenom portalraderna genom att använda syntax
offset.<portalnamn>
ochrange.<portalnamn>
, där<portalnamn>
är det värde som angetts för portalen i Granskare i FileMaker Pro. Om du utesluter offset- (förskjutning) och range-värden (intervall) för portalrader är standarden för förskjutning 1 och standard för intervall är 50.
Hämta ett intervall av poster
Hämta ett intervall av poster med hjälp av en HTTP GET-metod med record
URL:en och ange lösningsnamnet, layouten och ytterligare information för att ange en startpost och antalet poster.
Alternativt kan du ange sorteringsordningen för posterna.
Du kan även ange portalinformation för att begränsa hur många relaterade poster som returneras.
HTTP-metod | GET |
---|---|
URL | Format 1:
/fmi/rest/api/record/lösning/layout?offset=startpost&range=antal-poster lösning – namnet på den värdbaserade databasen För sorteringsspecifikationen måste informationen anges i JSON-format. fältnamn är namnet på ett fält som ska användas som bas för att sortera posterna. Du kan ange flera fältnamn. För sorteringsordningen anger du nyckelordet ”ascend" eller ”descend", eller ange värdelistans namn för värdelista-namn. För portalnyckelordet: Portaldelen av URL:en är valfri. Om layouten innehåller portaler kan det vara bra att ange portalnamnen för bättre prestanda. Om portaldelen utesluts returnerar anropet alla relaterade poster i portalerna i layouten. |
HTTP-rubrik | FM-Data-token, vilken anger den åtkomst-token som returneras till det anrop som loggade in i lösningen |
Parametrar | Ingen |
Svar | En felkod på 0 och data för intervallet av poster i JSON-format. Till exempel: {
"errorCode": "0",
"records": "[...]"
}
Se Felsvar. |
Kommentar
- Om du utesluter förskjutning och intervallvärden är standarden för förskjutning 1 och standard för intervall är 100.
offset=1&range=100
- Om du utesluter värden för sorteringsordningen är standard
&sort=[{ ”fieldName": ”postId", ”sortOrder": ”ascend" }]
- För att begränsa hur många relaterade poster som returneras stöder FileMaker Data API tillvalet Tillåt vertikal rullning i dialogrutan Portalkonfiguration. Om detta tillval väljs returnerar FileMaker Data API de första 50 raderna från portalen. Om detta tillval inte väljs returnerar FileMaker Data API så många rader som angetts för tillvalet Antal rader.
- Rulla igenom portalraderna genom att använda syntax
offset.<portalnamn>
ochrange.<portalnamn>
, där<portalnamn>
är det värde som angetts för portalen i Granskare i FileMaker Pro. Om du utesluter förskjutning och intervallvärden för portalrader är standarden för förskjutning 1 och standard för intervall är 50.
Anrop som utför sökningar
Utför en sökning med hjälp av en HTTP POST-metod med find
URL:en och ange lösningsnamnet, layouten och ytterligare information för att ange sökfälten och -kriterierna, sorteringsordning, startpost och antal poster.
Du kan även ange portalinformation för att hitta relaterade poster.
HTTP-metod | POST |
---|---|
URL | /fmi/rest/api/find/lösning/layout lösning – namnet på den värdbaserade databasen |
HTTP-rubrik | FM-Data-token, vilken anger den åtkomst-token som returneras till det anrop som loggade in i lösningen |
Parametrar | En sökning i JSON-format som anger fälten och sökkriterierna. Valfria parametrar som anger uteslutningsförfrågningar, sorteringsordning, startpost (offset), antal poster (range) och portaler för att begränsa antalet relaterade poster som returneras. Till exempel: {
"query":[
{"Group": ”Kirurg", ”Arbetslän" : "Uppsala"},
{"Group": ”=Kirurg", ”Arbetsort" : "Enköping", "omit" : "true"}],
"sort":[
{"fieldName": ”Arbetslän”,”sortOrder": "ascend"},
{"fieldName": ”Förnamn", ”sortOrder": "ascend"} ]
}
Exempel med förskjutning (offset), intervall (range) och portaler: {
"query":[
{"Group": ”=Kirurg", ”Arbetslän" : "Uppsala"},
{”Group": ”Kirurg", ”Arbetsort" : "Enköping", ”omit" : "true"}],
"portal": ["Portal1","Portal2"],
”range": "10",
"offset": "1",
"offset.Portal1": "1",
"range.Portal1": "5"
} |
Svar | En felkod på 0 och JSON-representationen för de hittade posterna. Till exempel: {
"errorCode": "0",
"data": [post1, post2, ...]
}
Se Felsvar. |
Kommentar
- I en lösning som har många relaterade poster kan sökning och sortering av portalposter vara tidskrävande. För att begränsa antalet poster och rader som visas i en relaterad uppsättning anger du parametrar för förskjutning och intervall.
- Du kan inte ange globala fält som sökkriterier. Om du anger ett globalt fält med en sökning får du ett felmeddelande. Ange istället det globala fältvärdet före sökningen. Se Anrop som ställer in globala fältvärden.
Anrop som ställer in globala fältvärden
Ange värden för globala fält med hjälp av en HTTP PUT-metod med global
URL:en och ange lösningsnamnet och layouten.
HTTP-metod | PUT |
---|---|
URL | /fmi/rest/api/global/lösning/layout/ lösning – namnet på den värdbaserade databasen |
HTTP-rubrik | FM-Data-token, vilken anger den åtkomst-token som returneras till det anrop som loggade in i lösningen |
Parametrar | Ett JSON-objekt med fält- och värdepar som anger de globala fälten som ska ställas in. Till exempel: { "globalFields":
{
”gFöretag":"FileMaker",
”gKod":"95054"
}
} |
Svar | En felkod på 0. Till exempel: {
"errorCode": "0"
}
Se Felsvar. |
Felsvar
När ett fel inträffar returnerar FileMaker Data API vanligtvis en statuskod på HTTP 400-nivå med ytterligare information i ett JSON-objekt.
HTTP-statuskod | HTTP-kategori | JSON-felformat | Beskrivning |
---|---|---|---|
400 | Dålig förfrågan | {
”errorMessage": ”feldetalj"
} |
Inträffar när servern inte kan bearbeta förfrågan på grund av ett klientfel. |
401 | Obehörig | {
”errorMessage": "Obehörig"
} |
Inträffar när klienten inte är behörig att komma åt API. Om det här felet inträffar när du försöker logga in i en värdbaserad lösning finns det ett problem med den angivna användarkontot eller lösenordet. Om felet inträffar med andra anrop har åtkomst-token inte angetts eller så är den ogiltig. |
404 | Hittades inte | {
”errorMessage": ”Hittades inte"
} |
Inträffar om anropet använder en URL med ett ogiltigt URL-schema. Kontrollera angiven URL för syntaxfel. |
415 | Medietyp som inte stöds | {
”errorMessage": "Medietyp som inte stöds"
} |
Inträffar om rubriken "Innehåll/Typ: application/json" inte har angetts eller om en annan innehållstyp har angetts istället för typen "application/json". |
477 | FileMaker-servicefel | {
”errorMessage": "FileMaker-felmeddelande",
”errorCode": "FileMaker-felkod"
} |
Innehåller felmeddelanden och -koder i FileMaker. Se FileMaker-felkoder i FileMaker Pro Hjälp. |
Kommentar
- Om FileMaker Data API-motorn inte körs eller inte kan nås kan statuskoden 0 (noll) returneras utan ett felmeddelande.
- Mer information om ytterligare HTTP-statuskoder finns på www.w3.org.
Vara värd för, testa och övervaka FileMaker Data API-lösningar
Vara värd för en FileMaker Data API-lösning
- Genomför alla steg i Förbered databaser för FileMaker Data API-åtkomst.
- Kontrollera att FileMaker Data API-åtkomst har aktiverats och konfigurerats på rätt sätt i FileMaker Server Admin Console. Se FileMaker Server Hjälp.
- Kontrollera att webbservern, Web Publishing Engine och FileMaker Data API-motorn körs.
-
Använd kryptering för kommunikation.
FileMaker Data API kräver att dina REST API-program använder en HTTPS-anslutning. HTTPS-anslutningar använder SSL-kryptering (Secure Sockets Layer) för kommunikation.
FileMaker Server tillhandahåller ett SSL-standardcertifikat som signerats av FileMaker, Inc. men som inte kontrollerar servernamnet. FileMakers standardcertifikat är endast avsett att användas för intern testning. Ett anpassat SSL-certifikat krävs för publicering. Se Installations- och konfigurationsguiden för FileMaker Server.
Det tekniska språk du använder för att anropa FileMaker Data API måste ha stöd för Transport Layer Security (TLS) v1.2 för att kommunicera med webbservern.
Testa en FileMaker Data API-lösning
Innan du sätter FileMaker Data API-lösningen i produktion bör du kontrollera att den fungerar som förväntat.
- Testa funktioner som att söka, lägga till och radera poster med olika konton och behörighetsuppsättningar.
- Kontrollera att behörighetsinställningarna fungerar som väntat genom att testa med olika konton. Kontrollera att inga obehöriga användare kan komma åt och ändra dina data.
- Testa att din lösning beter sig på samma sätt när den anropas från olika operativsystem.
Övervaka FileMaker Data API-lösningar
Serveradministratörer kan använda Admin Console för att starta eller avsluta FileMaker Data API-motorn, ändra inställningar för FileMaker Data API, övervaka FileMaker Data API-klienter, spåra användning av FileMaker Data API-anrop och visa FileMaker Data API-loggfilen.
För att | Använd |
---|---|
Starta eller avsluta FileMaker Data API-motorn | Admin Consoles fönster Status eller ett CLI-kommando. Se Starta eller avbryta FileMaker Server-komponenter och Använda kommandoradsgränssnittet i FileMaker Server Hjälp. |
Ändra inställningar för FileMaker Data API | Admin Consoles flik Webbpublicering > FileMaker Data API. På den här fliken kan du aktivera användningen av FileMaker Data API, aktivera loggning för FileMaker Data API-anrop, ange maxstorlek för FileMaker Data API-loggfilen och ange loggningsnivå för meddelanden som skrivs i loggfilen. Se FileMaker Data API-inställningar i FileMaker Server Hjälp. |
Övervaka FileMaker Data API-klienter | Admin Consoles flik Aktivitet > Klienter. På den här fliken finns information om klienten och om de lösningar som öppnas. Se Administrera klienter i FileMaker Server Hjälp. Från den här fliken kan du koppla från FileMaker Data API-klienter men du kan inte skicka meddelanden till dem. Medan FileMaker Data API-klienter är anslutna till en lösning visas statistiska data om klienterna på Admin Consoles flik Statistik > Klienter. Se Visa klientstatistik i FileMaker Server Hjälp. |
Spåra användningen av FileMaker Data API-anrop | Admin Consoles flik Webbpublicering > FileMaker Data API. På den här fliken visas hur många FileMaker Data API-anrop som tillåts av din FileMaker Server-licens, hur många anrop som har använts under den aktuella månaden samt hur många anrop som användes under den föregående månaden. Om du närmar dig gränsen för antal anrop kan du även köpa fler på den här fliken. Se FileMaker Data API-inställningar i FileMaker Server Hjälp. |
Visa FileMaker Data API-loggen | Admin Consoles flik Loggvisare. FileMaker Data API-komponenterna genererar logginformation som är kopplad till klienter med åtkomst till värdbaserade lösningar via FileMaker Data API. Se FileMaker Data API-logg i FileMaker Server Hjälp. |
FileMaker Data API-integrering med Tableau
Om information med Tableau
FileMaker Server innehåller Tableau Web Data Connector, en exempelimplementering som accepterar REST API-anrop i JSON format. Använd Tableau Web Data Connector för att definiera en anslutning mellan FileMaker Server och Tableau Desktop. Anslutningen använder FileMaker Data API för att importera data från värdbaserade FileMaker-lösningar till Tableau Desktop.
Krav för Tableau Web Data Connector
- Tableau Desktop, lägsta version 9.1, för Windows eller Mac.
- En lösenordsskyddad FileMaker Pro-databas som innehåller de data som ska importeras. Databasen måste finnas på en FileMaker Server-värd.
-
En giltig REST API-slutpunkt. För FileMaker Server är slutpunkten en HTML-anslutningspunkt som tillhandahåller information som krävs för webbtjänster. Slutpunkten har formatet
https://<värdnamn>/fmi/rest/tableau/fm_connector.html
därvärdnamn
är det fullständiga värdnamnet för din FileMaker Server.Till exempel:
https://minserver.mittföretag.com/fmi/rest/tableau/fm_connector.html
- Ett giltigt eget SSL-certifikat på FileMaker Server. Tableau Web Data Connector tillåter inte att du importerar data från FileMaker Server utan ett giltigt eget SSL-certifikat.
Förbered för att importera data till Tableau
Följ stegen i Förbered databaser för FileMaker Data API-åtkomst när du ska definiera layouten för att importera och för att aktivera databasen för FileMaker Data API-åtkomst.
Obs!När du ska importera data till Tableau måste tabellen ha minst en post med postdata.
Följande FileMaker-fälttyper importeras som Tableau-datatyper.
FileMaker-fälttyp | Tableau-datatyp |
---|---|
text | sträng |
datum | datum |
tid | sträng |
tidstämpel | datetime |
nummer | float |
Följande FileMaker-fälttyper stöds inte vid import till Tableau.
- containerfält
- statistikfält. Du kan skapa ett statistikfält i Tableau baserat på data som du importerar från FileMaker.
- beräkningsfält. Du kan skapa ett beräkningsfält i Tableau baserat på data som du importerar från FileMaker.
- data i diagram
- data från FileMaker Pro-portaler. Importera data från relaterade poster genom att skapa en FileMaker Pro-layout baserat på den relaterade tabellen, eller importera data från separata FileMaker Pro-tabeller till Tableau och anslut sedan tabellerna i Tableau.
- fältrepetitioner där det som visas för repeterade fält för Visa repetitioner innehåller flera värden. En enskild repetition stöds.
- icke-numeriska värden i nummerfält. Om Tableau hittar icke-numeriska värden i nummerfält importeras inte data.
Använd inte reserverade ord som fältnamn i FileMaker Pro.
Ställ in dataanslutningen i Tableau Desktop
- I Tableau Desktop, under Connect (Anslut) (på vänster sida av skärmen) väljer du More (Mer) > Web Data Connector.
- Ange URL:en för din FileMaker Server-slutpunkt
https://<värdnamn>/fmi/rest/tableau/fm_connector.html
där<värdnamn>
är det fullständiga värdnamnet för din FileMaker Server. -
I dialogrutan Importera data från FileMaker-fil:
-
Logga in i FileMaker Pro-lösningen genom att ange följande information eller genom att använda en OAuth-identitetsleverantör.
- Namn på källdatabas: namnet på FileMaker Pro-lösningen
- Namn på källayout: namnet på FileMaker Pro-layouten
- Kontonamn: namnet på det FileMaker Pro-konto som har behörigheten fmrest
- Lösenord: lösenordet för FileMaker Pro-kontot
- Välj Aktivera stegvis uppdatering för att aktivera stegvis uppdatering.
-
- Klicka på Importera FileMaker-data.
Tableau importerar data. Bearbetningstiden beror på hur många poster som importeras, serverbelastningen och nätverksgenomflödet. Tableau mappar FileMaker Pro-fältnamn och -data till storlekar och mått. Strängdata mappas vanligtvis till storlekar medan numeriska data oftast mappas till mått. Mappningen sker automatiskt under import men du kan anpassa det.
Kommentar
-
När du anger Namn på källayout ska du se till att layoutnamnet är unikt. Om din databas har två layouter med samma namn kan Tableau-dataanslutningen inte skilja dem åt. Tableau visar bara ett namn och det kanske inte är den layout du vill ha.
-
Använd Aktivera stegvis uppdatering för att bara importera de nya posterna.
- Efter att import av FileMaker-data med stegvis uppdatering har aktiverats väljer du fliken Sheet (Ark) i Tableau för att gå till arbetsbladet.
- Välj Data > FM: lösningsnamn / layoutnamn > Extrahera > Uppdatera (stegvist).
- Välj fliken Datakälla.
- Klicka på Uppdatera nu för att visa de nya posterna.
- Att aktivera stegvis uppdatering skapar inte en pågående anslutning mellan Tableau och den värdbaserade FileMaker-databasen. Du måste köra stegvis uppdatering manuellt.
- Med stegvis uppdatering importeras bara de nya posterna. FileMaker Pro-poster som har ändrats eller raderats uppdateras inte. Om du vill ändra data eller ta bort raderade poster måste du skapa en ny arbetsbok i Tableau och importera dina data igen.
- Med stegvis uppdatering skapas ett fält vid namn postID. Om du gör ändringar i det här fältet kanske du inte kan utföra en stegvis uppdatering.
- I Tableau kan du ändra det schema och de data som har importerats. Men om du ändrar schema eller data i Tableau skickas inte dessa ändringar tillbaka till FileMaker Pro-filen.
- Om du ändrar schemat i FileMaker Pro-filen måste du skapa en ny arbetsbok i Tableau och importera dina data igen.
- Tableau Desktop-databasen kan vara värdbaserad på Tableau Server för Windows.
- Om du stänger Tableau-arbetsboken och öppnar den igen fungerar inte stegvis import längre.
- Efter att dataanslutningen etableras till Tableau cachelagrar FileMaker Web Data Connector användarkontot och lösenordet till dess att arbetsboken stängs, med följande omständigheter:
- Om FileMaker-sessionen når sin tidsgräns medan du är ansluten till Tableau försöker FileMaker Web Data Connector att återansluta användaren till FileMaker Server.
- Om Tableau-anslutningen förfaller försöker FileMaker Web Data Connector att återansluta till FileMaker Server så länge som Tableau-arbetsboken är öppen.
- Om arbetsboken stängs och öppnas på nytt måste du ange kontots namn och lösenord igen under den inledande dataimporten.
- Tableaus sida för datakälla visar upp till 1 000 000 (en miljon) rader, även om fler poster importeras.