kintone API

快速入門

目錄

在這個快速入門中,你將透過四個簡單步驟學習使用kintoneAPI進行介面自訂與資料取得的基礎。

Step 1: 獲得kintone子域

首先,準備一個可進行kintone自訂和整個的環境。
kintone開發者許可證是一個讓開發者免費試用kintone API的環境。

取得 kintone開發者許可證

取得開發者許可證後,請返回這篇文章。

Step 2: 建立kintone應用程式

登入取得的kintone環境,並依照以下步驟準備應用程式。
從kintone入口網站點擊 + 圖示,然後選擇客戶名單應用程式。
在確認畫面點擊確認後,客戶名單應用程式會被加入你的kintone環境。

Step 3: JavaScript API:畫面自訂

以下是一個JavaScript API自訂的簡單例子:在新增記錄時在備注欄位顯示「Hello, kintone!」字樣。
開啟應用程式設定,並在表單內開啟備註欄位的設定畫面。
欄位代碼設為note

caution
警告

欄位代碼會在程式碼中用。如搞錯大小寫或錯字,程式無法運行。

複製以下程式碼並存儲為hello-kintone.js

1
2
3
4
kintone.events.on('app.record.create.show', (event) => {
  event.record.note.value = 'Hello, kintone!';
  return event;
});

套用自訂檔案並新增紀錄時,備註欄位的預設值將顯示「Hello,kintone!」。

information

程式碼呢的app.record.create.show是, 顯示新增錄影畫面後的事件
同樣地,還有其他畫面、儲存時、編輯時等其他事件的API。
詳情請見 事件

Step 4: REST API:用curl取得kintone資料

接著,使用REST API取得kintone的資料。

確認應用程式ID和紀錄ID。

API請求參數需包括アプリID以及レコードID
要確認這些參數,請前往記錄詳情畫面。
應用程式ID與記錄ID在出網址中可以查看,如下:

1
https://<子網域>.cybozu.com/k/<應用程式ID>/show#record=<記錄ID></應用程式ID></子網域>

例:https://sample.cybozu.com/k/42/show#record=20の場合

參數 價值
子網域 sample
應用程式ID 42
記錄ID 20

確認請求URL

REST API的URL格式如下:

1
https://<子網域>.cybozu.com</子網域>/k/v1/record.json

範例:若kinton子網域為sample時。
https://sample.cybozu.com/k/v1/record.json

加上你之前確認的應用程式ID和記錄ID,最終的請求URL會是這樣:

1
https://<子網域>.cybozu.com/k/v1/record.json?app=<應用程式ID>&id=<記錄ID></應用程式ID></子網域>

結合前述範例,請求URL如下:

1
https://sample.cybozu.com/k/v1/record.json?app=42&id=20

產生API權杖

kintone REST API有三種不同的認證類型。
本次使用API權杖認證
欲了解更多資訊,請參閱 kintone REST API共通認證

在客戶名單應用程式的任一頁面,點擊右上角的齒輪圖示即可進入應用程式的設定。
開啟設定標籤並點選API權杖。
產生一個新的權杖,點選儲存,然後點選更新應用程式。

warning
謹慎

請無法要點擊**\「更新應用程式」**,否則API令牌不可使用。

取得資料

現在你已經準備好以下資訊:

  • 應用程式ID與紀錄ID
  • 請求URL
  • API 權杖

利用這些資訊組合出去的記錄資料的cURL指令,內容如下:
如果使用API權杖來認證,要使用X-cybozu-API-Token標頭。

1
2
curl -X get -h 'x-Cybozu-API-Token:<API權杖>' \</API權杖>
  「https://<子網域>.cybozu.com/k/v1/record.json?app=<應用程式ID>&id<記錄ID>='</記錄ID></應用程式ID></子網域>

例如,子域為sample,應用程式ID為42,紀錄號碼為20的資料,使用API權杖DjsLvFiyqwDTDxJJSXnNiAuGARpPMnUIYzFluegQ獲取的指令如下:

1
2
curl -X GET -H 'X-Cybozu-API-Token:DjsLvFiyqwDTDxJJSXnNiAuGARpPMnUIYzFluegQ' \
  'https://sample.cybozu.com/k/v1/record.json?app=42&id=20'

執行此指令時,命令列工具會以JSON格式回傳指定記錄的資料。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
{
  "record": {
    "備注": {
      "type": "MULTI_LINE_TEXT",
      "value": ""
    },
    "記錄號碼": {
      "type": "RECORD_NUMBER",
      "value": "20"
    },
    "更新人": {
      "type": "MODIFIER",
      "value": {
        "code": "yukako-dambara",
        "name": "後藤 彩子"
      }
    },
    "建立人": {
      "type": "CREATOR",
      "value": {
        "code": "yukako-dambara",
        "name": "後藤 彩子"
      }
    },
    "郵遞區號": {
      "type": "SINGLE_LINE_TEXT",
      "value": "5010001"
    },
    "公司標誌": {
      "type": "FILE",
      "value": [
        
      ]
    },
    "$revision": {
      "type": "__REVISION__",
      "value": "1"
    },
    "部門": {
      "type": "SINGLE_LINE_TEXT",
      "value": "資訊系統部門"
    },
    "負責人": {
      "type": "SINGLE_LINE_TEXT",
      "value": "下山 達士"
    },
    "郵件地址": {
      "type": "SINGLE_LINE_TEXT",
      "value": "shimoyama_tatsuhito@example.com"
    },
    "更新時間": {
      "type": "UPDATED_TIME",
      "value": "2021-05-27T01:24:00Z"
    },
    "顧客排名": {
      "type": "DROP_DOWN",
      "value": "A"
    },
    "地址": {
      "type": "SINGLE_LINE_TEXT",
      "value": "岐阜市,岐阜縣××××"
    },
    "TEL": {
      "type": "SINGLE_LINE_TEXT",
      "value": "090-××××-××××"
    },
    "建立時間": {
      "type": "CREATED_TIME",
      "value": "2021-05-27T01:24:00Z"
    },
    "公司名稱": {
      "type": "SINGLE_LINE_TEXT",
      "value": "金都運総研"
    },
    "$id": {
      "type": "__ID__",
      "value": "20"
    }
  }
} 

回應的第一個屬性為record
record屬性中的屬性是記錄內的各欄位,排序不定。

例如,一對鍵值 "部署名":{"type":"SINGLE_LINE_TEXT","value":"資訊系統部門"} 表示單行文字方塊,值為「資訊系統部門」。

這些kintone資料可用於與其他服務的各種整合。

結論

僅用四個簡單步驟,我們就能利用kintone的JavaScript API自訂使用者介面,並使用 RESTAPI取得資料。
kintone應用程式中還有許多其他API,例如新增紀錄和更新現有紀錄的API。

下一步