kintone REST API
「あっ!」と言う間にシステム(データベース、ワークフロー、メールの代わり)が作れるkintoneにはAPIがあるので、cURLコマンドで操作してみます。 どのようなAPIがあるかはkintone REST API Document へアクセスしてみてください!!
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!!"}}'