CURLでkintoneのレコード追加/取得をしてみる


はじめに

こちらの記事はCURLで基本的なkintone REST APIを叩く方法を紹介します。
事前知識として、kintoneアプリの作り方、フィールドコードの編集方法、APIトークンの生成方法、アプリIDの確認方法、レコードIDの確認方法、CURLの叩き方を知ってる必要があります。

事前準備

文字列(1行)、数値、ドロップダウンで構成された下記のようなアプリを用意します。
フィールドコードはフィールド名と同じにしました。この例では、アプリIDは111が設定されているとします。

CURLを叩く前にレコードデータを適用に追加します。

CURLで叩いてみる

レコード登録

NameにAndrew, Ageに77, SkillにPython を含めたデータを登録する例:

post
curl -X POST 'https://{subdomain}.cybozu.com/k/v1/record.json' \
 -H 'X-Cybozu-API-Token: {API_TOKEN}' \
 -H 'Content-Type: application/json' \
 -d '{"app": 111,"record": {"Name":{"value":"Andrew"},"Age":{"value":77},"Skill":{"value":"Python"}}}'

APIの情報はこちら: レコードの登録

レコード取得(1件)

レコードIDが3のレコード情報を取得する例:

getrecord
curl -G 'https://{subdomain}.cybozu.com/k/v1/record.json?app=111&id=3' \
 -H 'X-Cybozu-API-Token: {API_TOKEN}'

APIの情報はこちら: レコードの取得(1件)

レコード取得(クエリを指定して複数件取得)

SkillにRubyが設定されているレコードを複数取得し、かつレスポンスに含むフィールド情報をNameとAgeだけにする例:

getrecords
curl -G 'https://{subdomain}.cybozu.com/k/v1/records.json' \
 -H 'X-Cybozu-API-Token: {API_TOKEN}' \
 --data-urlencode 'app=111' \
 --data-urlencode 'fields[0]=Name' \
 --data-urlencode 'fields[1]=Age' \
 --data-urlencode 'query=Skill in ("Ruby")'

APIの情報はこちら: レコードの一括取得(クエリで条件を指定)

最後に

複数レコードの取得のクエリに指定方法はトリッキーかもしれませんが、上記の例を参考にし、必要なクエリを投げてみましょう!
うまくリクエストが通らない場合、CURLのオプションに --verbose を追加し、リクエスト内容を確認しながらデバッグしてみましょう。