kintone REST API について (GET編)

kintone REST API について (GET編):


はじめに

前回の記事 の続きです。

連載記事一覧

タイトル
1 kintoneの使い方 (データベース編)
2 kintone REST API について (共通事項編)
3 kintone REST API について (GET編) ← 本記事
4 (予定)kintone REST API について (POST編)
今回はREST APIを使って、kintoneのデータを 取得 する方法について説明します!


レコード1件を取得

とりあえず、一番使うであろう レコード1件 を取得する方法について説明します。


共通項目

レコード1件を取得するめにはの共通項目 (共通項目についてはこちら) は、

  • URI

    • https://(サブドメイン名).cybozu.com/k/v1/record.json
  • メソッド

    • GET
  • ヘッダー

    • APIトークン認証
  • リクエストパラメータ

    • アプリID: 100
    • レコードID: 1
となります。


実装


コマンドライン (curlコマンド)で実行

コマンドラインからレコードを1件取得する場合は、以下のコマンドとなります。

# Windows(PowerShell)の場合 
curl.exe -X 'GET' 'https://(サブドメイン名).cybozu.com/k/v1/record.json?app=100&id=1' -H 'X-Cybozu-API-Token: YOUR_TOKEN'  
 
# Mac(ターミナル)の場合 
curl -X 'GET' 'https://(サブドメイン名).cybozu.com/k/v1/record.json?app=100&id=1' -H 'X-Cybozu-API-Token: YOUR_TOKEN'  


JavaScript (Node.js) で実行

Node.jsでレコード1件取得する場合は、以下のコードとなります。

※ RESTAPIのリクエストに requestモジュールを利用しています。

const request = require('request'); 
 
let params = { 
  url: 'https://(サブドメイン名).cybozu.com/k/v1/record.json?app=100&id=1', 
  method: 'GET', 
  json: true, 
  headers: { 
    'X-Cybozu-API-Token': 'YOUR_TOKEN', 
  }, 
}; 
 
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" 
APP_ID = 100 
RECORD_ID = 1 
API_TOKEN = "YOUR_TOKEN" 
 
def get_kintone(url, app_id, record_id, api_token): 
    """kintoneのレコードを1件取得する関数""" 
    data = {"app": app_id, "id": record_id} 
    headers = {"X-Cybozu-API-Token": api_token, "Content-Type" : "application/json"} 
    resp = requests.get(url+"/k/v1/record.json", json=data, headers=headers) 
 
    return resp 
 
if __name__ == "__main__": 
    RESP = get_kintone(URL, APP_ID, RECORD_ID, API_TOKEN) 
 
    print(RESP.text) 
 


Go で実行

Goでレコード1件取得する場合は、以下のコードとなります。

package main 
 
import ( 
  "fmt" 
  "net/http" 
  "io/ioutil" 
) 
 
func main() { 
  url := "http://(サブドメイン名).cybozu.com/k/v1/record.json?app=100&id=1" 
  req, _ := http.NewRequest("GET", url, nil) 
  req.Header.Set("X-Cybozu-API-Token", "YOUR_TOKEN") 
 
  client := new(http.Client) 
  resp, _ := client.Do(req) 
 
  defer resp.Body.Close() 
 
  response, _ := ioutil.ReadAll(resp.Body) 
  fmt.Println(string(response)) 
} 


レスポンス

取得したレコード情報がJSON形式でごそっと返ってきます。

これをパースして record.text.value とかすれば値が取得できます!

{ 
  "record": { 
    "レコード番号": { 
      "type": "RECORD_NUMBER", 
      "value": "1" 
    }, 
    "更新者": { 
      "type": "MODIFIER", 
      "value": { 
        "code": "bb", 
        "name": "BB" 
      } 
    }, 
    "作成者": { 
      "type": "CREATOR", 
      "value": { 
        "code": "bb", 
        "name": "BB" 
      } 
    }, 
    "text": { 
      "type": "SINGLE_LINE_TEXT", 
      "value": "サンプルデータです" 
    }, 
    "$revision": { 
      "type": "__REVISION__", 
      "value": "1" 
    }, 
    "更新日時": { 
      "type": "UPDATED_TIME", 
      "value": "2018-10-18T04:08:00Z" 
    }, 
    "作成日時": { 
      "type": "CREATED_TIME", 
      "value": "2018-10-18T04:08:00Z" 
    }, 
    "$id": { 
      "type": "__ID__", 
      "value": "1" 
    } 
  } 
} 


おわりに

kintone REST API のGET処理を4種類の方法で試してみました。

前回の 共通事項編 と合わせて読むと良いです!

次は kintoneにデータを登録する部分を説明します!

それでは!≧(+・` ཀ・´)≦

コメント

このブログの人気の投稿

投稿時間:2021-06-17 22:08:45 RSSフィード2021-06-17 22:00 分まとめ(2089件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)