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を使用して、更新を実行できます。応答を読んでアップサートリクエストを作成する方法は、使用している言語によって異なります。