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部構成が全て終わりました!
それでは!≧(+・` ཀ・´)≦
コメント
コメントを投稿