86
kintone devCamp Vol.11 REST API ハハハハハハハハ 2017 年 3 年 1 年

kintone dev camp vol.11 kintone rest api ハンズオン初級編

Embed Size (px)

Citation preview

Page 1: kintone dev camp vol.11 kintone rest api ハンズオン初級編

kintone devCamp Vol.11REST API ハンズオン初級編

2017年 3月 1日

Page 2: kintone dev camp vol.11 kintone rest api ハンズオン初級編

自己紹介会社: サイボウズ株式会社名前: 竹内 能彦(たけうち よしひこ)年齢:  33 歳出身: 香川県坂出市

Page 3: kintone dev camp vol.11 kintone rest api ハンズオン初級編

やること• kintone REST API のデモ• ハンズオン• 問い合わせアプリの作成• データの登録• REST API (データの取得( 1 件))

• フリータイム• REST API もっと試す• 自分に必要なアプリを作ってみる

Page 4: kintone dev camp vol.11 kintone rest api ハンズオン初級編

kintone REST API のデモ

Page 5: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• 外部から kintone のデータ取得( kViewer )• 外部から kintone にデータ登録(考え中)• 応用) kintone から REST API (郵便番号から住所取得)

Page 6: kintone dev camp vol.11 kintone rest api ハンズオン初級編

やること• kintone REST API のデモ• ハンズオン• 問い合わせアプリの作成• データの登録• REST API (データの取得( 1 件))

• フリータイム• REST API もっと試す• 自分に必要なアプリを作ってみる

Page 7: kintone dev camp vol.11 kintone rest api ハンズオン初級編

完成形

Page 8: kintone dev camp vol.11 kintone rest api ハンズオン初級編

運用イメージをデモで紹介

Page 9: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• kintone 環境 https://xxxx.cybozu.com/ に移動• ログイン名、パスワードを入力し、ログイン

Page 10: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• kintone をクリック

Page 11: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• アプリ横の「 + 」をクリック

Page 12: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• 「はじめから作成」をクリック

Page 13: kintone dev camp vol.11 kintone rest api ハンズオン初級編

問い合わせアプリの作成でやることStep.1 アプリ名を決めるStep.2 データベースの構成を決めるStep.3 一覧画面に表示する項目を選択する

Page 14: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• アプリ名を適当に入力(例では「問い合わせ管理」)

Page 15: kintone dev camp vol.11 kintone rest api ハンズオン初級編

問い合わせアプリの作成でやることStep.1 アプリ名を決めるStep.2 データベースの構成を決めるStep.3 一覧画面に表示する項目を選択する

Page 16: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• 「文字列( 1 行)」をドラッグ&ドロップ

ドラッグ&ドロップ

Page 17: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• 「歯車」にフォーカスを合わせて、「設定」をクリック

Page 18: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• 「フィールド名」を「会社名」に変更• 「フィールドコード」を「 company 」に変更• 「必須項目にする」にチェック• 「保存」をクリック

フィールドコードは API でのデータ取得や登録に必要。

API を利用するときは半角英数で設定するのがお勧め。

Page 19: kintone dev camp vol.11 kintone rest api ハンズオン初級編

設定後の画面• こんな感じになってたら OK !

Page 20: kintone dev camp vol.11 kintone rest api ハンズオン初級編

残り 7 つのフィールドを設定

フィールドタイプ フィールド名フィールド

コード必須 備考

1 文字列( 1 行) 会社名 company 〇

2 作成日時

3 文字列( 1 行) 部署名 division4 文字列( 1 行) お名前 name 〇

5 リンク メールアドレス

mail 〇 入力値の種類にメールアドレスを選択

6 リンク 電話番号 tel 入力値の種類に電話番号を選択

7 ドロップダウン 問い合わせ内容

category 〇 選択肢は「サービス内容、要望、その他」を設定

8 文字列(複数行) 詳細 memo 〇

Page 21: kintone dev camp vol.11 kintone rest api ハンズオン初級編

設定後の画面• こんな感じになっていたら OK !

場所や並び順はこの通りでなくても大丈夫。早くできた人は↓にチャレンジ!・横枠を長くして入力しやすくする・ドラッグ&ドロップで並び順を変更する

Page 22: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• 「フォームを保存」をクリック

Page 23: kintone dev camp vol.11 kintone rest api ハンズオン初級編

問い合わせアプリの作成でやることStep.1 アプリ名を決めるStep.2 データベースの構成を決めるStep.3 一覧画面に表示する項目を選択する

Page 24: kintone dev camp vol.11 kintone rest api ハンズオン初級編

一覧画面に表示する項目を決めます• 「一覧」をクリックして、「 + 」をクリック

Page 25: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• 一覧名を適当に入力(例では「問い合わせ一覧」)• 一覧画面に表示したいフィールドをドラッグ&ドロップ

ドラッグ&ドロップ

Page 26: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• 「保存」をクリック

Page 27: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• 「アプリを公開」をクリックして、「 OK 」をクリック

Page 28: kintone dev camp vol.11 kintone rest api ハンズオン初級編

やること• kintone REST API のデモ• ハンズオン• 問い合わせアプリの作成• データの登録• REST API (データの取得( 1 件))

• フリータイム• REST API もっと試す• 自分に必要なアプリを作ってみる

Page 29: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• 「 + 」をクリックして、データ登録画面に遷移

Page 30: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• 適当に入力して、「保存」をクリック

Page 31: kintone dev camp vol.11 kintone rest api ハンズオン初級編

一覧画面に遷移

左から• 追加• 編集• 複製• その他の操作 (アプリ設定はここから)

残り 2 件(合計 3 件)のデータを登録※ 問い合わせ内容は様々なデータを選択

Page 32: kintone dev camp vol.11 kintone rest api ハンズオン初級編

やること• kintone REST API のデモ• ハンズオン• 問い合わせアプリの作成• データの登録• REST API (データの取得( 1 件))

• フリータイム• REST API もっと試す• 自分に必要なアプリを作ってみる

Page 33: kintone dev camp vol.11 kintone rest api ハンズオン初級編

実行の準備

Page 34: kintone dev camp vol.11 kintone rest api ハンズオン初級編

準備 1 Postman のインストール• Google Chrome を起動• 左上の「アプリ」をクリック• 「ウェブストア」をクリック

Page 35: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• 「 postman 」で検索• 「 ADD TO CHROME 」をクリック

Page 36: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• 左上の「アプリ」をクリック• 「 Postman 」をクリック

Page 37: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• 「 Skip this, go straight to the app 」をクリック

Page 38: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• この画面が表示されれば Postman 利用の準備は完了

Page 39: kintone dev camp vol.11 kintone rest api ハンズオン初級編

準備 2 アプリ ID の確認• アプリを開く• URL からアプリ ID を確認(要メモ)

「 /k/xxx/ 」の「 xxx 」がアプリID

Page 40: kintone dev camp vol.11 kintone rest api ハンズオン初級編

レコードの取得( 1 件)

Page 41: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• https://cybozudev.zendesk.com/に移動し、ブックマーク (「 kintone developer 」で検索しても OK )• 「 API ドキュメント・ツール」をクリック• 「 kintone REST API 」をクリック

Page 42: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• 「レコード」をクリック• 「レコードの取得( GET )」をクリック• 「レコードの取得( 1 件)」をクリック

Page 43: kintone dev camp vol.11 kintone rest api ハンズオン初級編

リクエストに必要な情報を確認

どのアプリのどのデータ

1 件データを取得したい

Page 44: kintone dev camp vol.11 kintone rest api ハンズオン初級編

リクエストの作成• メソッドは「 GET 」を選択• URI は「 https://xx.cybozu.com/k/v1/record.json?

app=x&id=xx 」• 「 Send 」をクリック

app=x の「 x 」には先ほど確認したアプリ ID を指定id=xx の「 xx 」には取得したいデータのレコード番号を指定

パラメータは URI の後に「 ? 」で繋ぎ、パラメータは「 & 」で繋ぐ

Page 45: kintone dev camp vol.11 kintone rest api ハンズオン初級編

レコードの取得は失敗するけど、一応成功• 「ログインしてください。」というメッセージが表示されれば成功

認証が必要

Page 46: kintone dev camp vol.11 kintone rest api ハンズオン初級編

kintone REST API の認証• 下記いずれかの認証が必要

パスワード認証 トークン認証

認証情報「ログイン名 : パスワード」

をBASE64 エンコード

API トークン

認証情報の付加場所 リクエストヘッダ

利用可能な API 全部 一部

どのユーザーでの操作 「ログイン名」で指定したユーザー Administrator

注意事項セキュアアクセス環境からは利用

できない

Page 47: kintone dev camp vol.11 kintone rest api ハンズオン初級編

API トークンの生成

Page 48: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• 「・・・」をクリック• 「アプリの設定を変更」をクリック

Page 49: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• 「 API トークン」をクリック

Page 50: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• 「生成する」をクリック• 「レコード閲覧」、「レコード追加」にチェック• 「 API トークン」をメモ帳にコピーし、「保存」をクリック

メモ帳にコピー

Page 51: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• 「アプリを更新」をクリックして、「 OK 」をクリック

Page 52: kintone dev camp vol.11 kintone rest api ハンズオン初級編

API トークンの指定方法

Page 53: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• 「共通仕様」をクリック• 「 REST API の共通仕様」をクリック• 「ユーザー認証」をクリック

Page 54: kintone dev camp vol.11 kintone rest api ハンズオン初級編
Page 55: kintone dev camp vol.11 kintone rest api ハンズオン初級編

API トークンを Headers にセット• 「 Headers 」タブを選択• Key には「 X-Cybozu-API-Token 」を指定• Value には先ほどコピーした API トークンを指定• 「 Send 」をクリック

Page 56: kintone dev camp vol.11 kintone rest api ハンズオン初級編

成功• データの内容が表示されている事を確認

Page 57: kintone dev camp vol.11 kintone rest api ハンズオン初級編

やること• kintone REST API のデモ• ハンズオン• 問い合わせアプリの作成• データの登録• REST API (データの取得( 1 件))

• フリータイム• REST API もっと試す• 自分に必要なアプリを作ってみる

Page 58: kintone dev camp vol.11 kintone rest api ハンズオン初級編

ここからはチームごとにやることを選択• REST API もっと試すチーム→  レコードの取得(複数件)  PXX ~→  レコードの登録( 1 件)  PXX ~• 自分に必要なアプリを作ってみるチーム→  アプリ作成(エクセルやアプリストアからも作れます)→  データ登録して、グラフを作成→  モバイルから確認 チーム内で別れても OK !チーム内でわからなければ挙手してや

資料あり

資料なし

Page 59: kintone dev camp vol.11 kintone rest api ハンズオン初級編

レコードの取得(複数件)

Page 60: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• レコードの取得をクリック• レコードの一括取得(クエリで条件を指定)をクリック

Page 61: kintone dev camp vol.11 kintone rest api ハンズオン初級編

リクエストに必要な情報の確認

複数件※1 件の場合は record.json※ 複数件の場合はrecords.json

データを取得したい

Page 62: kintone dev camp vol.11 kintone rest api ハンズオン初級編

どのアプリのどんなデータ

Page 63: kintone dev camp vol.11 kintone rest api ハンズオン初級編

今回は問い合わせ内容(ドロップダウン)を条件に指定

Page 64: kintone dev camp vol.11 kintone rest api ハンズオン初級編

リクエストの作成• メソッドは「 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 の

データ

Page 65: kintone dev camp vol.11 kintone rest api ハンズオン初級編

成功• 対象となる件数分のデータが取得できたことを確認

Page 66: kintone dev camp vol.11 kintone rest api ハンズオン初級編

レコードの登録( 1 件)

Page 67: kintone dev camp vol.11 kintone rest api ハンズオン初級編

リクエストに必要な情報の確認• 「レコード」をクリック• 「レコードの登録( POST )」をクリック• 「レコードの登録( 1 件)」をクリック

Page 68: kintone dev camp vol.11 kintone rest api ハンズオン初級編

リクエストに必要な情報の確認

1 件

データを登録したい

Page 69: kintone dev camp vol.11 kintone rest api ハンズオン初級編

リクエストに必要な情報を確認

どのアプリに、どんなデータ

Page 70: kintone dev camp vol.11 kintone rest api ハンズオン初級編

kintone REST API のボディの構造を確認

どんなデータ

Page 71: kintone dev camp vol.11 kintone rest api ハンズオン初級編

REST API のデータの渡し方は 2 種類1. URI にパラメータ情報をセット

2. BODY にパラメータ情報をセット

項目 内容URI URI + ’?’ + パラメー

タBODY 空

項目 内容URI URIBODY パラメータ

データの取得( GET )はこちら

データの登録や更新( POST 、 PUT )はこちら

Page 72: kintone dev camp vol.11 kintone rest api ハンズオン初級編

今回登録する項目• 赤文字(必須項目)を登録

フィールドタイプ フィールド名フィールド

コード必須 備考

1 文字列( 1 行) 会社名 company 〇

2 作成日時

3 文字列( 1 行) 部署名 division4 文字列( 1 行) お名前 name 〇

5 リンク メールアドレス

mail 〇 入力値の種類にメールアドレスを選択

6 リンク 電話番号 tel 入力値の種類に電話番号を選択

7 ドロップダウン 問い合わせ内容

category 〇 選択肢は「サービス内容、要望、その他」を設定

8 文字列(複数行) 詳細 memo 〇

Page 73: kintone dev camp vol.11 kintone rest api ハンズオン初級編

データの形式を確認• リクエストプロパティのフィールド形式をクリック

Page 74: kintone dev camp vol.11 kintone rest api ハンズオン初級編

文字列( 1 行)の構造

Page 75: kintone dev camp vol.11 kintone rest api ハンズオン初級編

リンクの構造

Page 76: kintone dev camp vol.11 kintone rest api ハンズオン初級編

ドロップダウンの構造

Page 77: kintone dev camp vol.11 kintone rest api ハンズオン初級編

文字列(複数行)の構造

Page 78: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• メソッドは「 POST 」を選択• URI は「 https://xxxx.cybozu.com/k/v1/record.json 」• 「 Body 」タブを選択• 項目は「 raw 」を選択

リクエストの作成

Page 79: kintone dev camp vol.11 kintone rest api ハンズオン初級編

• 入力欄に BODY の内容を入力• Send をクリック

Page 80: kintone dev camp vol.11 kintone rest api ハンズオン初級編

参考) Body に記入する内容{ "app": xxx, "record": { "company": { "value": "サイボウズ株式会社" }, "name": { "value": "竹内 能彦" }, "mail": { "value": "[email protected]" }, "category": { "value": "その他" }, "memo": { "value": "1行目 \n2行目" } }}

Page 81: kintone dev camp vol.11 kintone rest api ハンズオン初級編

失敗•以下のメッセージが表示されれば成功  (レコードの登録自体は失敗なのですが・・・)

BODY のデータ形式を指定する必要がある

Page 82: kintone dev camp vol.11 kintone rest api ハンズオン初級編

データ形式の指定• REST API の「共通仕様」をクリック• 「 REST API の共通仕様」をクリック• 「リクエストヘッダ」をクリック

Page 83: kintone dev camp vol.11 kintone rest api ハンズオン初級編

リクエストヘッダに必要な情報を確認

Page 84: kintone dev camp vol.11 kintone rest api ハンズオン初級編

リクエストの作成• 「 Headers 」タブを選択• 項目には「 Content-Type 」を指定•値には「 application/json 」を指定• Send をクリック

「 BODY 」タブで「 JSON 」を選択してもOK

Page 85: kintone dev camp vol.11 kintone rest api ハンズオン初級編

成功• レコード番号と revision が返されることを確認• アプリにデータが追加されていることを確認

Page 86: kintone dev camp vol.11 kintone rest api ハンズオン初級編

以上になります。ありがとうございました。