problemy z wywołaniem interfejsu API Quickbase
Korzystanie z dokumentacji JSON Quickbase API poniżej. Quickbase API
Próbuję zaktualizować rekordy za pomocą quickbase przez recordId zgodnie z poniższym i działa poprawnie.
{
"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"
}
}
]
}
Mój problem: chcę zaktualizować, gdzie adres e - mail i identyfikator użytkownika mają określoną wartość.
Eg. in normal SQL Queries something like "update mytable_name set name ='nancy more' where email='[email protected]' and userid=70";
czy jest to możliwe dzięki quickbase. czy w ogóle można to osiągnąć na podstawie powyższego kodu, zakładając, że pole e-mail to 7, a pole identyfikatora użytkownika to 8 lub cokolwiek innego.
Dzięki
Odpowiedzi
Wynik końcowy jest możliwy, ale nie przez pojedyncze wywołanie interfejsu API. Wywołanie API wstawiania / aktualizowania rekordów dla Quick Base aktualizuje rekordy tylko wtedy, gdy pole klucza jest zawarte w ładunku rekordu (pole klucza jest domyślnie identyfikatorem rekordu, ale można je zmienić na inne pole w tabeli). Jeśli nie znasz jeszcze wartości pola klucza, musisz najpierw zapytać o pasujące rekordy, a następnie użyć zwróconego identyfikatora rekordu / pola klucza, aby przeprowadzić tę aktualizację.
Na przykład możesz wysłać zapytanie o rekordy, w których adres e-mail to „[email protected]”, a identyfikator użytkownika to 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}"
}
Następnie możesz użyć identyfikatorów zwróconego zestawu rekordów, aby przeprowadzić aktualizację. Sposób przeczytania odpowiedzi i wysłania żądania upsert będzie zależeć od używanego języka.