проблемы с вызовом Quickbase API
Использование 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 или что-то еще.
благодаря
Ответы
Конечный результат возможен, но не с помощью одного вызова 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, будет зависеть от языка, который вы используете.