problemi con la chiamata API Quickbase
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
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.