Airtable Web API – Verwendung von filterByFormula oder Sortierparametern
  • 26 Jul 2023
  • 4 Minuten zu lesen
  • Dunkel
    Hell
  • pdf

Airtable Web API – Verwendung von filterByFormula oder Sortierparametern

  • Dunkel
    Hell
  • pdf

Artikel-Zusammenfassung

Erfahren Sie, wie Sie die Ergebnisse einer API-Antwort filtern oder sortieren können.

Einführung

Abo-VerfügbarkeitAlle Abo-Typen
Berechtigungen

Token-basierter Zugriff – Um API-Anfragen stellen zu können, müssen Sie sich mit einer der hier beschriebenen Methoden authentifizieren.

Filtern von Datensätzen in API-Anfragen

Es gibt zwei verschiedene Möglichkeiten, Datensätze in API-Anfragen zu filtern:

  1. Eine Möglichkeit, Datensätze zu filtern, besteht darin, einen Parameter Ansicht in einer API-Anfrage zu übergeben, die den Bereich für Listendatensätze enthält und die nur die Datensätze ausgibt, wie sie in einer bestimmten Tabellenansicht erscheinen. Der obige Link enthält weitere Einzelheiten zur Übergabe des Parameters Ansicht in einer Anfrage.
  2. Eine alternative Möglichkeit zum Filtern von Datensätzen in einem Aufruf, der einen Bereich für Listendatensätze enthält, ist die Verwendung des ParametersfilterByFormula, auf den wir weiter unten noch näher eingehen werden.

Beim Filtern einer API-Antwort mit dem Parameter filterByFormula muss eine gültige Formel verwendet werden, die jeden Datensatz auswertet. Diese Formel muss in die Tabelle der Base aufgenommen werden, in der der API-Aufruf angefordert wird. 

Um dies zu veranschaulichen: Nehmen wir an, Sie haben eine Tabelle mit Eiscreme-Sorten:

Wenn Sie einen Bereich für Listendatensätze in eine API-Anfrage an diese Tabelle ohne Parameter aufnehmen, werden alle Geschmacksrichtungen ausgegeben. Nehmen wir nun an, dass wir mit dem ParameterfilterByFormula nur Geschmacksrichtungen mit 5-Sterne-Bewertungen ausgeben möchten:

Schritt 1

Der erste Schritt besteht darin, in der Tabelle mit den Geschmacksrichtungen ein Formelfeld zu erstellen, das auswerten kann, ob die Geschmacksrichtung im Feld „Bewertung“ eine 5-Sterne-Bewertung hat. In diesem Beispiel könnte eine einfache Formel verwendet werden (Bewertung = 5), die eine Boolesche Wahr/Falsch-Ausgabe vornimmt. Ihr tatsächlicher Anwendungsfall kann jedoch komplexer sein.

Schritt 2

Wie Sie unten sehen können, funktioniert die eingegebene Formel richtig – nur „Cookies & Cream“ und „Cookie Dough“ haben den Wert „1“, weil sie die einzigen Geschmacksrichtungen sind, die mit 5 Sternen bewertet wurden. Wir können nun sicher sein, dass diese Formel, wenn wir sie als unseren Parameter filterByFormula verwenden, mit der Zeit die entsprechenden Werte liefert.

Schritt 3

Als Nächstes müssen Sie die Formel zu dem Parameter filterByFormula in Ihrer Anfrage hinzufügen.

Hinweis
Wenn Sie nicht unseren offiziellen Javascript-Client, Airtable.js, verwenden, muss die Formel zuerst codiert werden, bevor sie als Wert übergeben wird. Sie können dieses Tool verwenden, um entweder die Formel oder die URL zu codieren, bevor Sie sie in einer API-Anfrage verwenden.
Schritt 4

Sie sollten nun eine codierte URL erhalten, die in etwa wie folgt aussieht:
https://api.airtable.com/v0/{your_app_id}/Flavors?filterByFormula=Rating%3D5

Schritt 5

Sie können die Anfrage nun in einem Tool wie Postman testen. Im unten gezeigten Test wurden nur „Cookies & Cream“ und „Cookie Dough“ ausgegeben:

Filtern von Abhängigkeiten

  • Wenn die Antwort nicht nach den erwarteten Datensätzen filtert, empfehlen wir, die Formel in der Airtable Base zuerst zu überprüfen, um sicherzustellen, dass sie die erwarteten Werte im Formelfeld der Datensätze ausgibt, von denen Sie erwarten, dass sie gefiltert werden. 
  • Alle Datensätze, die als 0, false, NaN, [] oder #Error! in der Formel erscheinen, werden in der Antwort nicht berücksichtigt.
  • Wenn der Parameter filterByFormula mit dem Parameter Ansicht kombiniert wird, werden nur Datensätze in dieser Ansicht ausgegeben, die die Formel erfüllen.

Sortieren von Datensätzen in API-Anfragen

Es gibt zwei verschiedene Möglichkeiten, Datensätze in API-Anfragen zu sortieren:

  1. Eine Möglichkeit, Datensätze zu sortieren, besteht darin, einen Parameter Ansicht in einer API-Anfrage zu übergeben, die den Bereich für Listendatensätze enthält und die die Datensätze in der API-Antwort in der Reihenfolge ausgibt, in der sie in einer bestimmten Tabellenansicht erscheinen. Der obige Link enthält weitere Einzelheiten zur Übergabe des Parameters Ansicht in einer Anfrage.
  2. Eine zweite Möglichkeit zum Filtern von Datensätzen in einer Anfrage für Listendatensätze besteht darin, den Parameter Sortieren zu verwenden. Im Folgenden werden die allgemeinen Schritte beschrieben, die hierfür erforderlich sind.

Anhand des oben genannten Beispiels einer Tabelle mit Eiscreme-Sorten ist es möglich, dass Sie die Geschmacksrichtungen in der Reihenfolge der höchsten bis zur niedrigsten Bewertung ausgeben möchten:

Schritt 1

Zunächst müssen Sie eine codierte URL erstellen, die Sie in Ihrer API-Anfrage verwenden. Ähnlich wie filterByFormula oben können Sie dieses Tool verwenden, um eine URL mit einer Sortierung nach dem Feld „Bewertung“ mit der Richtung „absteigend“ zu codieren. Das sieht dann etwa so aus:

https://api.airtable.com/v0/{your_app_id}/Flavors?sort%5B0%5D%5Bfield%5D=Rating&sort%5B0%5D%5Bdirection%5D=desc

Hinweis
Am Ende der Formel könnte anstelle von „absteigend“ der Wert „aufsteigend“ verwendet werden, um die Ergebnisse in aufsteigender Reihenfolge zu sortieren.  
Schritt 2

Sie müssen dann die codierte URL als Objekt in den Parameter Sortieren Ihrer API-Anfrage einfügen.

Schritt 3

Sie können die Anfrage nun mit einem Tool wie Postman testen, um zu sehen, ob der Parameter funktioniert. Die ausgegebenen Datensätze sind nach der höchsten bis zur niedrigsten Bewertung geordnet:

Hinweis
In Kombination mit einem Parameter „Ansicht“ setzt der Parameter „Sortieren“ die Sortierung der im Parameter „Ansicht“ angegebenen Ansicht außer Kraft. Sind weder der Parameter „Sortieren“ noch der Parameter „Ansicht“ enthalten, erscheinen die Datensätze in beliebiger Reihenfolge.


URL-Codierung

Falls Sie nicht unseren offiziellen Javascript-Client, Airtable.js, verwenden, müssen Sie Ihre Parameterwerte wahrscheinlich URL-codieren, um eine gültige URL zu erhalten. Hierfür können Sie unseren URL-Encoder verwenden. Geben Sie dazu Ihre Formel und andere Parameterwerte ein und kopieren Sie die sich daraus ergebende URL:

360094731073Image2020-09-29at123716pm.png


FAQs

Kann ich in meinem API-Aufruf filterByFormula Feld-IDs verwenden?

Nein. Sie können nur Feldnamen verwenden. Wir empfehlen die Verwendung von Feldbeschreibungen, um darauf hinzuweisen, welche Auswirkungen eine Änderung der in API-Aufrufen verwendeten Feldnamen hat.

Warum filtert mein filterByFormula nicht richtig?

Möglicherweise handelt es sich nicht um eine gültige Formel. Wir empfehlen, die Formel zu überprüfen, indem Sie sie einem Feld im Airtable Raster hinzufügen. So können Sie feststellen, welche Werte die Formel voraussichtlich filtern wird.


War dieser Artikel hilfreich?

What's Next