проблемы с вызовом Quickbase API

Oct 24 2020

Использование JSON Quickbase API. Документация ниже. Quickbase API

Я пытаюсь обновить записи с помощью quickbase через recordId, как показано ниже, и все работает нормально.

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

    }
  ]
  
}

Моя проблема: я хочу обновить, где адрес электронной почты и идентификатор пользователя равны определенному значению.

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

возможно ли это с быстрой базой. есть ли способ добиться этого на основе приведенного выше кода, предполагая, что поле электронной почты равно 7, а поле идентификатора пользователя равно 8 или что-то еще.

благодаря

Ответы

1 NathanHawe Oct 24 2020 at 19:33

Конечный результат возможен, но не с помощью одного вызова API. Вызов API вставки / обновления записей для Quick Base обновляет записи только тогда, когда ключевое поле включено в полезную нагрузку записи (ключевое поле - это идентификатор записи по умолчанию, но его можно изменить на другое поле в таблице). Если вы еще не знаете значение ключевого поля, вам нужно сначала запросить совпадающие записи, а затем использовать возвращенное поле идентификатора записи / ключа для выполнения этого обновления.

Например, вы можете запросить записи, в которых адрес электронной почты - «[email protected]», а идентификатор пользователя - 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}"
}

Затем вы можете использовать идентификаторы возвращенного набора записей для выполнения обновления. То, как вы собираетесь читать ответ и делать запрос upsert, будет зависеть от языка, который вы используете.