LoginSignup
11
9

More than 5 years have passed since last update.

cURLでkintone REST APIを叩く

Last updated at Posted at 2017-08-23

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!!"}}'
11
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
9