Probleme mit dem Quickbase-API-Aufruf

Oct 24 2020

Verwenden der folgenden JSON Quickbase API-Dokumentation. Quickbase-API

Ich versuche, Datensätze mit Quickbase über die unten stehende recordId zu aktualisieren, und es funktioniert einwandfrei.

{
  "to": "my-table-id-goes-here",
  "data": [
    {


      "6": {
        "value": "nancy more is the value to be updated"
      },

"3": {
        "value": "recordId_to_be_used_to_make_updates"
      }

    }
  ]
  
}

Mein Problem: Ich möchte aktualisieren, wo E-Mail und Benutzer-ID einem bestimmten Wert entsprechen.

Eg. in normal SQL Queries something like  "update mytable_name set name ='nancy more' where email='[email protected]' and userid=70";

ist es mit quickbase möglich. Gibt es sowieso eine Möglichkeit, dies basierend auf dem obigen Code zu erreichen, vorausgesetzt, das E-Mail-Feld ist 7 und das Benutzer-ID-Feld ist 8 oder was auch immer.

Vielen Dank

Antworten

1 NathanHawe Oct 24 2020 at 19:33

Das Endergebnis ist möglich, jedoch nicht über einen einzelnen API-Aufruf. Der API-Aufruf zum Einfügen / Aktualisieren von Datensätzen für Quick Base aktualisiert Datensätze nur, wenn das Schlüsselfeld in der Datensatznutzlast enthalten ist (das Schlüsselfeld ist standardmäßig die Datensatz-ID, kann jedoch in ein anderes Feld in der Tabelle geändert werden). Wenn Sie den Wert des Schlüsselfelds noch nicht kennen, müssen Sie zuerst die übereinstimmenden Datensätze abfragen und dann die zurückgegebene Datensatz-ID / das zurückgegebene Schlüsselfeld verwenden, um diese Aktualisierung durchzuführen.

Sie können beispielsweise nach Datensätzen fragen, bei denen die E-Mail-Adresse "[email protected]" und die Benutzer-ID 70 lautet:

POST https://api.quickbase.com/v1/records/query
QB-Realm-Hostname: host
Authorization: QB-USER-TOKEN userToken
Content-Type: application/json

{
    "from": "tableId",
    "where": "{7.EX.'[email protected]'}AND{8.EX.70}"
}

Sie können dann die IDs des zurückgegebenen Datensatzes verwenden, um Ihre Aktualisierung durchzuführen. Wie Sie die Antwort lesen und die Upsert-Anfrage stellen, hängt von der Sprache ab, die Sie verwenden.