kintone REST API について (POST編)
kintone REST API について (POST編):
前回の記事 の続きです。
連載記事一覧
今回はREST APIを使って、kintoneにデータを 登録 する方法について説明します!
とりあえず、レコード1件 登録する方法について説明します。
文字列1行フィールド (フィールドコード:text) でやります
レコード1件を登録するための共通項目 (共通項目についてはこちら) は、
POST (PUT) の場合、どんなレコード情報 で登録(更新)するのか指定する必要があります!
今回であれば「textというフィールドにどんな文字列を入れたいか」です。
それを record オブジェクトで指定します。kintone独自の書き方になるのでぜひ覚えてください!!
こんな形で書きます。
ドロップダウンやチェックボックスなど選択肢系のやつは、
valueの値をフィールドの選択肢にある値にしないとエラーになるのでご注意ください!
コマンドラインからレコードを1件登録する場合は、以下のコマンドとなります。
Node.jsでレコードを1件登録する場合は、以下のコードとなります。
※ RESTAPIのリクエストに requestモジュールを利用しています。
Pythonでレコードを1件登録する場合は、以下のコードとなります。
※ RESTAPIのリクエストに requestsモジュールを利用しています。
Goでレコードを1件登録する場合は、以下のコードとなります。
レスポンスは非常にシンプルで
と返ってきます。
idは登録したレコードID (今回だとレコードID:2として登録している)、
revisionは更新履歴のようなものです。
kintone REST API のPOST処理を4種類の方法で試してみました。
前回の 共通事項編 、GET編と合わせて読むとより良いかもです!
とりあえず、4部構成が全て終わりました!
それでは!≧(+・` ཀ・´)≦
はじめに
前回の記事 の続きです。連載記事一覧
| タイトル | |
|---|---|
| 1 | kintoneの使い方 (データベース編) |
| 2 | kintone REST API について (共通事項編) |
| 3 | kintone REST API について (GET編) |
| 4 | kintone REST API について (POST編) ← 本記事 |
レコード1件を登録
とりあえず、レコード1件 登録する方法について説明します。文字列1行フィールド (フィールドコード:text) でやります
共通項目
レコード1件を登録するための共通項目 (共通項目についてはこちら) は、- URI
- https://(サブドメイン名).cybozu.com/k/v1/record.json
- メソッド
- POST
- ヘッダー
-
APIトークン認証 (APIトークン発行時に「レコード追加」にチェックをしてください) - Content-Type: applicatioin/json
-
- リクエストパラメータ
- アプリID: 100
-
レコードID: 1(POSTの場合は必要ありません) -
レコード情報 ※初登場!(↓で説明します)
レコード情報
POST (PUT) の場合、どんなレコード情報 で登録(更新)するのか指定する必要があります!今回であれば「textというフィールドにどんな文字列を入れたいか」です。
それを record オブジェクトで指定します。kintone独自の書き方になるのでぜひ覚えてください!!
// 一般的な書き方
let obj = {
'record': {
'フィールドコード': {
'value': '(挿入したい値)'
}
}
}
// 今回の例だと
let obj {
'record': {
'text': {
'value': 'sample text'
}
}
}
ドロップダウンやチェックボックスなど選択肢系のやつは、
valueの値をフィールドの選択肢にある値にしないとエラーになるのでご注意ください!
実装
コマンドライン (curlコマンド)で実行
コマンドラインからレコードを1件登録する場合は、以下のコマンドとなります。# Windows(PowerShell)の場合
curl.exe -X 'POST' "https://(サブドメイン名).cybozu.com/k/v1/record.json" `
-H 'X-Cybozu-API-Token: YOUR_TOKEN' `
-H 'Content-Type: application/json' `
-d '{"app":100,"record":{"text":{"value":"sample text"}}}'
# Mac(ターミナル)の場合
curl -X 'POST' 'https://(サブドメイン名).cybozu.com/k/v1/record.json' \
-H {'X-Cybozu-API-Token: YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"app":100,"record":{"text":{"value":"sample text"}}}'
JavaScript (Node.js) で実行
Node.jsでレコードを1件登録する場合は、以下のコードとなります。※ RESTAPIのリクエストに requestモジュールを利用しています。
const request = require('request');
let obj = {
'app': 100,
'record': {
'text': {
'value': 'sample text'
}
}
};
let params = {
url: 'https://(サブドメイン名).cybozu.com/k/v1/record.json',
method: 'POST',
json: true,
headers: {
'X-Cybozu-API-Token': 'YOUR_TOKEN',
'Content-Type': 'application/json',
},
body: obj,
};
request(params, function(err, resp, body) {
if (err) {
console.log(err);
return;
}
console.log(body);
});
Python で実行
Pythonでレコードを1件登録する場合は、以下のコードとなります。※ RESTAPIのリクエストに requestsモジュールを利用しています。
#!/usr/bin/python
# _*_ coding: utf-8 _*_
import requests
URL = "https://(サブドメイン名).cybozu.com/k/v1/record.json"
APP_ID = 100
API_TOKEN = "YOUR_TOKEN"
def post_kintone(url, app_id, api_token):
"""kintoneにレコードを1件登録する関数"""
data = {"app": app_id, "record": {"text": {"value": "sample text"}}}
headers = {"X-Cybozu-API-Token": api_token, "Content-Type" : "application/json"}
resp = requests.post(url, json=data, headers=headers)
return resp
if __name__ == "__main__":
RESP = post_kintone(URL, APP_ID, API_TOKEN)
print(RESP.text)
Go で実行
Goでレコードを1件登録する場合は、以下のコードとなります。package main
import (
"fmt"
"net/http"
"io/ioutil"
"bytes"
)
func main() {
APPID := "100"
url := "https://(サブドメイン名).cybozu.com/k/v1/record.json"
jsonStr := `{"app":` + APPID + `, "record": {"text": {"value": "sample text"}}}`
req, _ := http.NewRequest(
"POST",
url,
bytes.NewBuffer([]byte(jsonStr)),
)
req.Header.Set("X-Cybozu-API-Token", "YOUR_TOKEN")
req.Header.Set("Content-Type", "application/json")
client := new(http.Client)
resp, _ := client.Do(req)
defer resp.Body.Close()
response, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(response))
}
レスポンス
レスポンスは非常にシンプルで{"id":"2", "revision":"1"}
idは登録したレコードID (今回だとレコードID:2として登録している)、
revisionは更新履歴のようなものです。
おわりに
kintone REST API のPOST処理を4種類の方法で試してみました。前回の 共通事項編 、GET編と合わせて読むとより良いかもです!
とりあえず、4部構成が全て終わりました!
それでは!≧(+・` ཀ・´)≦
コメント
コメントを投稿