problemy z wywołaniem interfejsu API Quickbase

Oct 24 2020

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

1 NathanHawe Oct 24 2020 at 19:33

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.