QuickbaseAPI呼び出しに関する問題

Oct 24 2020

以下のJSONQuickbaseAPIドキュメントの使用。Quickbase 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が特定の値に等しい場所を更新したい。

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

クイックベースで可能ですか。電子メールフィールドが7で、ユーザーIDフィールドが8などであると仮定して、上記のコードに基づいてそれを達成する方法はありますか。

ありがとう

回答

1 NathanHawe Oct 24 2020 at 19:33

最終結果は可能ですが、単一のAPI呼び出しでは不可能です。Quick Baseのレコードの挿入/更新API呼び出しは、キーフィールドがレコードペイロードに含まれている場合にのみレコードを更新します(キーフィールドはデフォルトでレコードIDですが、テーブル内の別のフィールドに変更できます)。キーフィールドの値がまだわからない場合は、最初に一致するレコードを照会してから、返されたレコードID /キーフィールドを使用してその更新を実行する必要があります。

たとえば、メールが「[email protected]」でユーザーIDが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}"
}

次に、返されたレコードのセットのIDを使用して、更新を実行できます。応答を読んでアップサートリクエストを作成する方法は、使用している言語によって異なります。