curl
RESTful
kintone

cURLでkintone REST APIを叩く

kintone REST API

「あっ!」と言う間にシステム(データベース、ワークフロー、メールの代わり)が作れるkintoneにはAPIがあるので、cURLコマンドで操作してみます。 どのようなAPIがあるかはkintone REST API Document へアクセスしてみてください!!
スクリーンショット 2017-08-22 15.21.59.png

kintoneアプリを作ってみる

フィールド

フォームに配置するフィールド種類とフィールドコード。
このフィールドコードをキーに処理していきます。

フィールド種類 フィールドコード
文字列(一行) Title
数字 Number
日付 Date
添付ファイル File

APIトークン

アプリの設定画面から、APIトークンを生成しておきましょう。cURLコマンドでAPIを操作するときの認証で必要です。APIトークンの設定画面で、レコード閲覧、レコード追加、レコード編集、レコード削除の権限にチェックしましょう。

cURL コマンド

  • "app" の数字は、アプリID
  • レコードをPUTする際の"id"は、レコードID
  • レコードのコメントをPOSTする際の"record"は、レコードID

レコードの取得(1件)

GET.Record.sh
curl -X GET 'https://{subdomain}.cybozu.com/k/v1/record.json?app=139&id=1' \
  -H 'X-Cybozu-API-Token: {APIToken}'

レコードの取得(一括)

  • 一度に取得できるレコードは500件まで
  • クエリー、取得したいフィールド指定も可能

URLパラメータ指定

GET.Records.sh
curl -X GET 'https://{subdomain}.cybozu.com/k/v1/records.json?app=139' \
  -H 'X-Cybozu-API-Token: {APIToken}'

JSON指定

GET.Records.sh
curl -X GET 'https://{subdomain}.cybozu.com/k/v1/records.json?app=139' \
  -H 'X-Cybozu-API-Token: {APIToken}' \
  -H 'Content-Type: application/json' \
  -d '{"app": 139,"query": "Number > 50"}'

レコードの登録(1件)

POST.Record.sh
curl -X POST 'https://{subdomain}.cybozu.com/k/v1/record.json' \
  -H 'X-Cybozu-API-Token: {APIToken}' \
  -H 'Content-Type: application/json' \
  -d '{"app": 139,"record": {"Title":{"value":"Apple"},"Number":{"value":10},"Date":{"value":"2017-10-01"}}}'

レコードの更新(1件)

PUT.Record.sh
curl -X PUT 'https://{subdomain}.cybozu.com/k/v1/record.json' \
  -H 'X-Cybozu-API-Token: {APIToken}' \
  -H 'Content-Type: application/json' \
  -d '{"app": 139, "id":60, "record": {"Number":{"value":10}}}'

レコードの削除(複数件)

  • 一度に処理できるのは100件まで
DELETE.Record.sh
curl -X DELETE 'https://{subdomain}.cybozu.com/k/v1/records.json' \
  -H 'X-Cybozu-API-Token: {APIToken}' \
  -H 'Content-Type: application/json' \
  -d '{"app": 139,"ids": [57,59]}'

レコードのファイル取得

GET.File.sh
curl -X GET 'https://{subdomain}.cybozu.com/k/v1/file.json?fileKey={FileKey}' \
  -H 'X-Cybozu-API-Token: {APIToken}' \
  -o ./orange.jpg

レコードにファイルとデータを登録(1件)

POST.File.sh
curl -X POST 'https://{subdomain}.cybozu.com/k/v1/file.json' \
  -H 'X-Cybozu-API-Token: {APIToken}' \
  -F 'file=@orange.jpg'

Response sample

{"fileKey":"cd2580d5-c428-4888-aa1a-8219b3521685"}

fileKeyの値をJSON文字列に指定してPOST

POST.File.sh
curl -X POST 'https://{subdomain}.cybozu.com/k/v1/record.json' \
  -H 'X-Cybozu-API-Token: {APIToken}' \
  -H 'Content-Type: application/json' \
  -d '{"app": 139,"record": {"File":{"value":[{"fileKey":"{fileKey}"}]},"Title":{"value":"Apple"},"Number":{"value":10},"Date":{"value":"2017-10-01"}}}'

レコードのコメント取得(一括)

  • 一度に取得できるコメントは 10件まで
GET.Record.Comment.sh
curl -X GET 'https://{subdomain}.cybozu.com/k/v1/record/comments.json?app=139&record=1' \
  -H 'X-Cybozu-API-Token: {APIToken}'

レコードのコメント投稿(1件)

POST.Record.Comment.sh
curl -X POST 'https://{subdomain}.cybozu.com/k/v1/record/comment.json' \
  -H 'X-Cybozu-API-Token: {APIToken}' \
  -H 'Content-Type: application/json' \
  -d '{"app": 139,"record": 1,"comment": {"text":"Test OK!!"}}'