problemi con la chiamata API Quickbase

Oct 24 2020

Utilizzo della documentazione API JSON Quickbase di seguito. API Quickbase

Sto cercando di aggiornare i record con quickbase tramite recordId come di seguito e funziona correttamente.

{
  "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"
      }

    }
  ]
  
}

Il mio problema: voglio aggiornare dove email e userid sono uguali a un certo valore.

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

è possibile con quickbase. c'è comunque da ottenere quello basato sul codice sopra assumendo che il campo email sia 7 e il campo userid sia 8 o qualsiasi altra cosa.

Grazie

Risposte

1 NathanHawe Oct 24 2020 at 19:33

Il risultato finale è possibile ma non tramite una singola chiamata API. La chiamata API di inserimento / aggiornamento dei record per Quick Base aggiorna i record solo quando il campo chiave è incluso nel payload del record (il campo chiave è l'ID del record per impostazione predefinita, ma può essere modificato in un altro campo nella tabella). Se non conosci già il valore del campo chiave, dovrai prima interrogare i record corrispondenti, quindi utilizzare il campo ID / chiave del record restituito per eseguire l'aggiornamento.

Ad esempio, puoi eseguire una query per i record in cui l'email è "[email protected]" e l'ID utente è 70:

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}"
}

È quindi possibile utilizzare gli ID del set di record restituito per eseguire l'aggiornamento. Il modo in cui leggi la risposta e invia la richiesta di upsert dipenderà dalla lingua che stai utilizzando.