0

我正在使用下面的 JSON Quickbase API 文档:

快速基础 API

我正在尝试通过如下所示的 recordId 使用 Quickbase 更新记录,并且工作正常:

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

    }
  ]
  
}

我的问题:我想更新电子邮件用户 ID等于某个值的位置。

例如。在普通的 SQL 查询中,类似"update mytable_name set name ='nancy more' where email='nancy@gmail.com' and userid=70".

Quickbase可以吗?有没有办法根据上面的代码实现这一点,假设电子邮件字段为 7用户 ID 字段为 8或其他?

4

1 回答 1

1

最终结果是可能的,但不是通过单个 API 调用。Quick Base 的插入/更新记录 API 调用仅在关键字段包含在记录负载中时更新记录(关键字段默认为记录 ID,但可以更改为表中的另一个字段)。如果您还不知道键字段的值,则需要先查询匹配的记录,然后使用返回的记录 ID/键字段来执行更新。

例如,您可以查询 email 为“nancy@gmail.com”且 userid 为 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.'nancy@gmail.com'}AND{8.EX.70}"
}

然后,您可以使用返回的记录集的 id 来执行更新。您如何阅读响应并提出 upsert 请求将取决于您使用的语言。

于 2020-10-24T19:33:58.380 回答