kintone dev camp vol.11 kintone rest api ハンズオン初級編
TRANSCRIPT
kintone devCamp Vol.11REST API ハンズオン初級編
2017年 3月 1日
自己紹介会社: サイボウズ株式会社名前: 竹内 能彦(たけうち よしひこ)年齢: 33 歳出身: 香川県坂出市
やること• kintone REST API のデモ• ハンズオン• 問い合わせアプリの作成• データの登録• REST API (データの取得( 1 件))
• フリータイム• REST API もっと試す• 自分に必要なアプリを作ってみる
kintone REST API のデモ
• 外部から kintone のデータ取得( kViewer )• 外部から kintone にデータ登録(考え中)• 応用) kintone から REST API (郵便番号から住所取得)
やること• kintone REST API のデモ• ハンズオン• 問い合わせアプリの作成• データの登録• REST API (データの取得( 1 件))
• フリータイム• REST API もっと試す• 自分に必要なアプリを作ってみる
完成形
運用イメージをデモで紹介
• kintone 環境 https://xxxx.cybozu.com/ に移動• ログイン名、パスワードを入力し、ログイン
• kintone をクリック
• アプリ横の「 + 」をクリック
• 「はじめから作成」をクリック
問い合わせアプリの作成でやることStep.1 アプリ名を決めるStep.2 データベースの構成を決めるStep.3 一覧画面に表示する項目を選択する
• アプリ名を適当に入力(例では「問い合わせ管理」)
問い合わせアプリの作成でやることStep.1 アプリ名を決めるStep.2 データベースの構成を決めるStep.3 一覧画面に表示する項目を選択する
• 「文字列( 1 行)」をドラッグ&ドロップ
ドラッグ&ドロップ
• 「歯車」にフォーカスを合わせて、「設定」をクリック
• 「フィールド名」を「会社名」に変更• 「フィールドコード」を「 company 」に変更• 「必須項目にする」にチェック• 「保存」をクリック
フィールドコードは API でのデータ取得や登録に必要。
API を利用するときは半角英数で設定するのがお勧め。
設定後の画面• こんな感じになってたら OK !
残り 7 つのフィールドを設定
フィールドタイプ フィールド名フィールド
コード必須 備考
1 文字列( 1 行) 会社名 company 〇
2 作成日時
3 文字列( 1 行) 部署名 division4 文字列( 1 行) お名前 name 〇
5 リンク メールアドレス
mail 〇 入力値の種類にメールアドレスを選択
6 リンク 電話番号 tel 入力値の種類に電話番号を選択
7 ドロップダウン 問い合わせ内容
category 〇 選択肢は「サービス内容、要望、その他」を設定
8 文字列(複数行) 詳細 memo 〇
設定後の画面• こんな感じになっていたら OK !
場所や並び順はこの通りでなくても大丈夫。早くできた人は↓にチャレンジ!・横枠を長くして入力しやすくする・ドラッグ&ドロップで並び順を変更する
• 「フォームを保存」をクリック
問い合わせアプリの作成でやることStep.1 アプリ名を決めるStep.2 データベースの構成を決めるStep.3 一覧画面に表示する項目を選択する
一覧画面に表示する項目を決めます• 「一覧」をクリックして、「 + 」をクリック
• 一覧名を適当に入力(例では「問い合わせ一覧」)• 一覧画面に表示したいフィールドをドラッグ&ドロップ
ドラッグ&ドロップ
• 「保存」をクリック
• 「アプリを公開」をクリックして、「 OK 」をクリック
やること• kintone REST API のデモ• ハンズオン• 問い合わせアプリの作成• データの登録• REST API (データの取得( 1 件))
• フリータイム• REST API もっと試す• 自分に必要なアプリを作ってみる
• 「 + 」をクリックして、データ登録画面に遷移
• 適当に入力して、「保存」をクリック
一覧画面に遷移
左から• 追加• 編集• 複製• その他の操作 (アプリ設定はここから)
残り 2 件(合計 3 件)のデータを登録※ 問い合わせ内容は様々なデータを選択
やること• kintone REST API のデモ• ハンズオン• 問い合わせアプリの作成• データの登録• REST API (データの取得( 1 件))
• フリータイム• REST API もっと試す• 自分に必要なアプリを作ってみる
実行の準備
準備 1 Postman のインストール• Google Chrome を起動• 左上の「アプリ」をクリック• 「ウェブストア」をクリック
• 「 postman 」で検索• 「 ADD TO CHROME 」をクリック
• 左上の「アプリ」をクリック• 「 Postman 」をクリック
• 「 Skip this, go straight to the app 」をクリック
• この画面が表示されれば Postman 利用の準備は完了
準備 2 アプリ ID の確認• アプリを開く• URL からアプリ ID を確認(要メモ)
「 /k/xxx/ 」の「 xxx 」がアプリID
レコードの取得( 1 件)
• https://cybozudev.zendesk.com/に移動し、ブックマーク (「 kintone developer 」で検索しても OK )• 「 API ドキュメント・ツール」をクリック• 「 kintone REST API 」をクリック
• 「レコード」をクリック• 「レコードの取得( GET )」をクリック• 「レコードの取得( 1 件)」をクリック
リクエストに必要な情報を確認
どのアプリのどのデータ
1 件データを取得したい
リクエストの作成• メソッドは「 GET 」を選択• URI は「 https://xx.cybozu.com/k/v1/record.json?
app=x&id=xx 」• 「 Send 」をクリック
app=x の「 x 」には先ほど確認したアプリ ID を指定id=xx の「 xx 」には取得したいデータのレコード番号を指定
パラメータは URI の後に「 ? 」で繋ぎ、パラメータは「 & 」で繋ぐ
レコードの取得は失敗するけど、一応成功• 「ログインしてください。」というメッセージが表示されれば成功
認証が必要
kintone REST API の認証• 下記いずれかの認証が必要
パスワード認証 トークン認証
認証情報「ログイン名 : パスワード」
をBASE64 エンコード
API トークン
認証情報の付加場所 リクエストヘッダ
利用可能な API 全部 一部
どのユーザーでの操作 「ログイン名」で指定したユーザー Administrator
注意事項セキュアアクセス環境からは利用
できない
API トークンの生成
• 「・・・」をクリック• 「アプリの設定を変更」をクリック
• 「 API トークン」をクリック
• 「生成する」をクリック• 「レコード閲覧」、「レコード追加」にチェック• 「 API トークン」をメモ帳にコピーし、「保存」をクリック
メモ帳にコピー
• 「アプリを更新」をクリックして、「 OK 」をクリック
API トークンの指定方法
• 「共通仕様」をクリック• 「 REST API の共通仕様」をクリック• 「ユーザー認証」をクリック
API トークンを Headers にセット• 「 Headers 」タブを選択• Key には「 X-Cybozu-API-Token 」を指定• Value には先ほどコピーした API トークンを指定• 「 Send 」をクリック
成功• データの内容が表示されている事を確認
やること• kintone REST API のデモ• ハンズオン• 問い合わせアプリの作成• データの登録• REST API (データの取得( 1 件))
• フリータイム• REST API もっと試す• 自分に必要なアプリを作ってみる
ここからはチームごとにやることを選択• REST API もっと試すチーム→ レコードの取得(複数件) PXX ~→ レコードの登録( 1 件) PXX ~• 自分に必要なアプリを作ってみるチーム→ アプリ作成(エクセルやアプリストアからも作れます)→ データ登録して、グラフを作成→ モバイルから確認 チーム内で別れても OK !チーム内でわからなければ挙手してや
資料あり
資料なし
レコードの取得(複数件)
• レコードの取得をクリック• レコードの一括取得(クエリで条件を指定)をクリック
リクエストに必要な情報の確認
複数件※1 件の場合は record.json※ 複数件の場合はrecords.json
データを取得したい
どのアプリのどんなデータ
今回は問い合わせ内容(ドロップダウン)を条件に指定
リクエストの作成• メソッドは「 GET 」を選択• URI は「 https://xxxx.cybozu.com/k/v1/records.json? app=x&query=category in (”XXX”) 」
・ Send をクリック
1 件取得は record.json一括取得は records.json
query の内容 意味
app=x アプリ ID が xquery=rank in (”XXX”) category (問い合わせ内容)が XXX の
データ
成功• 対象となる件数分のデータが取得できたことを確認
レコードの登録( 1 件)
リクエストに必要な情報の確認• 「レコード」をクリック• 「レコードの登録( POST )」をクリック• 「レコードの登録( 1 件)」をクリック
リクエストに必要な情報の確認
1 件
データを登録したい
リクエストに必要な情報を確認
どのアプリに、どんなデータ
kintone REST API のボディの構造を確認
どんなデータ
REST API のデータの渡し方は 2 種類1. URI にパラメータ情報をセット
2. BODY にパラメータ情報をセット
項目 内容URI URI + ’?’ + パラメー
タBODY 空
項目 内容URI URIBODY パラメータ
データの取得( GET )はこちら
データの登録や更新( POST 、 PUT )はこちら
今回登録する項目• 赤文字(必須項目)を登録
フィールドタイプ フィールド名フィールド
コード必須 備考
1 文字列( 1 行) 会社名 company 〇
2 作成日時
3 文字列( 1 行) 部署名 division4 文字列( 1 行) お名前 name 〇
5 リンク メールアドレス
mail 〇 入力値の種類にメールアドレスを選択
6 リンク 電話番号 tel 入力値の種類に電話番号を選択
7 ドロップダウン 問い合わせ内容
category 〇 選択肢は「サービス内容、要望、その他」を設定
8 文字列(複数行) 詳細 memo 〇
データの形式を確認• リクエストプロパティのフィールド形式をクリック
文字列( 1 行)の構造
リンクの構造
ドロップダウンの構造
文字列(複数行)の構造
• メソッドは「 POST 」を選択• URI は「 https://xxxx.cybozu.com/k/v1/record.json 」• 「 Body 」タブを選択• 項目は「 raw 」を選択
リクエストの作成
• 入力欄に BODY の内容を入力• Send をクリック
参考) Body に記入する内容{ "app": xxx, "record": { "company": { "value": "サイボウズ株式会社" }, "name": { "value": "竹内 能彦" }, "mail": { "value": "[email protected]" }, "category": { "value": "その他" }, "memo": { "value": "1行目 \n2行目" } }}
失敗•以下のメッセージが表示されれば成功 (レコードの登録自体は失敗なのですが・・・)
BODY のデータ形式を指定する必要がある
データ形式の指定• REST API の「共通仕様」をクリック• 「 REST API の共通仕様」をクリック• 「リクエストヘッダ」をクリック
リクエストヘッダに必要な情報を確認
リクエストの作成• 「 Headers 」タブを選択• 項目には「 Content-Type 」を指定•値には「 application/json 」を指定• Send をクリック
「 BODY 」タブで「 JSON 」を選択してもOK
成功• レコード番号と revision が返されることを確認• アプリにデータが追加されていることを確認
以上になります。ありがとうございました。