99
kintone ハハハハハ サササササササササ #kintone

Ma11 kintoneハンズオン tokyo

Embed Size (px)

Citation preview

Page 1: Ma11 kintoneハンズオン tokyo

kintone ハンズオン体験

サイボウズ株式会社

#kintone

Page 2: Ma11 kintoneハンズオン tokyo

自己紹介

北川 恭平(きたがわ きょうへい)

システムコンサルティング本部に所属し、 Developer むけに kintone を普及させる活動をしています。

開発者向けイベントを企画したり、技術サイトの運営をしたり、会社のブログに記事を書いたりしてます。

1-4 月までアメリカのサンフランシスコで支社の立ち上げ支援をしていました。

• 埼玉県春日部市出身• 中野区在住

Details Favorite• 野球• 読書• 麻雀• コーヒーを挽く• 鰹節を削る• カレーをスパイスから作る

Page 3: Ma11 kintoneハンズオン tokyo

アジェンダ

▌kintone アプリ作成

▌kintone REST API ハンズオン

▌kintone JavaScrip ハンズオン

▌kintone をハッカソンで使う準備

3

Page 4: Ma11 kintoneハンズオン tokyo

本資料の URLhttp://bit.ly/1Qe4MSI

4

Page 5: Ma11 kintoneハンズオン tokyo

ハンズオンに必要となる環境

▌PC▌ネットワーク環境

▌kintone のアカウント(開発者ライセンス or お試し環境)

5

Page 6: Ma11 kintoneハンズオン tokyo

アジェンダ

▌kintone アプリ作成

▌kintone REST API ハンズオン

▌kintone JavaScrip ハンズオン

▌kintone をハッカソンで使う準備

6

Page 7: Ma11 kintoneハンズオン tokyo

kintone アプリの作成

▌主に 3 種類の方法で、すぐにアプリを作成可能

7

① アプリストアから選ぶ

②Excel ファイル

から作る

③ はじめからつくる

Page 8: Ma11 kintoneハンズオン tokyo

シナリオ

▌自分の今いる地点の近くのお気に入りのレストランを検索するシステムを作成する。※時間がないので、今回はスマホアプリは作成しません。

8

Page 9: Ma11 kintoneハンズオン tokyo

アプリ作成の流れ

1. kintone へログインする

2. kintone アプリを作成する

3. CSV を kintone アプリにインポートする

9

Page 10: Ma11 kintoneハンズオン tokyo

1.kintone へログインする

10

kintone アプリ作成

Page 11: Ma11 kintoneハンズオン tokyo

ログイン画面にアクセス

11

https:// サブドメイン .cybozu.com/

Page 12: Ma11 kintoneハンズオン tokyo

ログイン画面にアクセス

12

申請時のメールアドレスでログイン

Page 13: Ma11 kintoneハンズオン tokyo

ログイン完了

クリックして kintone にアクセス

ユーザー情報の管理や cybozu.com 全体に影響する設定

メンテナンス等のお知らせ

13

Page 14: Ma11 kintoneハンズオン tokyo

2.kintone アプリを作成する

14

kintone アプリ作成

Page 15: Ma11 kintoneハンズオン tokyo

新デザイン設定

本ハンズオンは新デザイン前提ですすめます

kintone システム管理 > 新旧デザインの切り替えよりご変更ください

15

Page 16: Ma11 kintoneハンズオン tokyo

ポータル

16

機能の切り替え

自分が作業者のタスク

アカウントやシステムの設定

クリックしてアプリを作成

通知

Page 17: Ma11 kintoneハンズオン tokyo

アプリの作成方法を選ぶ

17

Page 18: Ma11 kintoneハンズオン tokyo

アプリの名前を入力

任意の名前を入力して保存します。例)レストラン情報アプリ

18

Page 19: Ma11 kintoneハンズオン tokyo

一般設定をクリック

「一般設定」でアイコンやデザインを選びます。

19

Page 20: Ma11 kintoneハンズオン tokyo

一般設定

20

好きなアイコンを選びます。画像をアップロードする事もできます。

Page 21: Ma11 kintoneハンズオン tokyo

一般設定

21

アプリグループを使うとアクセス権を一括で設定できます。Public→ 公開用、 Private→ 自分用

アプリの説明を記載しておくと、一覧画面に表示されます。

Page 22: Ma11 kintoneハンズオン tokyo

フォームの編集をクリック

22

「フォームの編集」で画面設計を行います。

Page 23: Ma11 kintoneハンズオン tokyo

フォームの編集

23

• フィールドをドラッグ & ドロップして配置や並び順の変更ができます。

• フィールドの端をドラッグするとサイズが変更できます。• 「歯車アイコン > 設定」から属性の設定ができます。

Page 24: Ma11 kintoneハンズオン tokyo

完成形

24

Page 25: Ma11 kintoneハンズオン tokyo

アプリ情報詳細

25

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

レストラン名 Name 文字列 (1 行 )リンク Link リンク

備考 Details 文字列 (複数行 )住所 Address 文字列 (1 行 )緯度 lat 数値

経度 lng 数値

Page 26: Ma11 kintoneハンズオン tokyo

一覧の追加をクリック

「一覧の追加」で一覧画面に表示する項目を選びます。

26

Page 27: Ma11 kintoneハンズオン tokyo

一覧の追加

一覧の表示形式を選び、表示するフィールドを設定します。絞り込みにより、一部のレコードだけ表示する事もできます。

27

Page 28: Ma11 kintoneハンズオン tokyo

一覧の追加

28

例として「レストランリスト」と設定します。

Page 29: Ma11 kintoneハンズオン tokyo

設定完了

これで kintone アプリの設定は完了です。設定完了をクリックして、保存してくださ

い。

29

Page 30: Ma11 kintoneハンズオン tokyo

アプリを確認します

30

Page 31: Ma11 kintoneハンズオン tokyo

データの登録

Page 32: Ma11 kintoneハンズオン tokyo

データの削除

Page 33: Ma11 kintoneハンズオン tokyo

3.CSV を kintone アプリにインポートする

33

kintone アプリ作成

Page 34: Ma11 kintoneハンズオン tokyo

CSV をダウンロード(サンプル)

http://bit.ly/1Qe4MSI34

レストラン情報アプリ_Sample.csv

Page 35: Ma11 kintoneハンズオン tokyo

読み込む

35

Page 36: Ma11 kintoneハンズオン tokyo

ダウンロードした CSV を選択

36

Page 37: Ma11 kintoneハンズオン tokyo

ファイルの先頭行

37

Page 38: Ma11 kintoneハンズオン tokyo

フィールドの対応付け

38

Page 39: Ma11 kintoneハンズオン tokyo

ファイルの読み込み完了

39

Page 40: Ma11 kintoneハンズオン tokyo

▌kintone アプリ作成

▌kintone REST API ハンズオン

▌kintone JavaScrip ハンズオン

▌kintone をハッカソンで使う準備

40

Page 41: Ma11 kintoneハンズオン tokyo

REST API ハンズオン流れ

1. 環境準備

2. API トークンの準備

3. curl コマンドで情報の取得 (1件 )4. curl コマンドで情報の取得 (queryあり )5. curl コマンドで情報の登録

6. curl コマンドで情報の更新

41

Page 42: Ma11 kintoneハンズオン tokyo

REST API

42

▌kintone をバックエンドのデータベースとしての利用する際に有効

REST API

Page 43: Ma11 kintoneハンズオン tokyo

REST API

▌レコードの取得・追加・更新・削除

▌スペースの作成・更新

▌デプロイ(アプリ作成・設定変更)

43レストラン情報アプリ

レストラン情報登録

レストラン情報取得

Page 44: Ma11 kintoneハンズオン tokyo

API に関する情報

▌REST API の共通仕様

http://goo.gl/CLH3ST

▌フィールド形式

http://goo.gl/55Nhk9

44

Page 45: Ma11 kintoneハンズオン tokyo

1. 環境準備

45

REST API ハンズオン

Page 46: Ma11 kintoneハンズオン tokyo

準備

▌curl コマンドを使える環境

例: Cloud9

46

Page 47: Ma11 kintoneハンズオン tokyo

cloud9 でプロジェクトを作成

47

Page 48: Ma11 kintoneハンズオン tokyo

ターミナルを開く

48

Page 49: Ma11 kintoneハンズオン tokyo

curl

49

▌curl で kintone にアクセスするうえでの基本的なオプションは以下です。

curl -X < メソッド > -H <ヘッダー情報 > -d < パラメータ >

Page 50: Ma11 kintoneハンズオン tokyo

2.API トークンの準備

50

REST API ハンズオン

Page 51: Ma11 kintoneハンズオン tokyo

API トークンの設定

51

Page 52: Ma11 kintoneハンズオン tokyo

API トークンの設定

▌レコード閲覧、レコード追加、レコード編集をチェック

52

Page 53: Ma11 kintoneハンズオン tokyo

保存を忘れずに

53

Page 54: Ma11 kintoneハンズオン tokyo

3.curl コマンドで情報の取得(1件 )

54

REST API ハンズオン

Page 55: Ma11 kintoneハンズオン tokyo

アプリ番号の確認

▌取得したいアプリのアプリ番号を URL より確認

55

https://example.cybozu.com/k/306/

Page 56: Ma11 kintoneハンズオン tokyo

レコード番号の確認

▌取得したいレコードのレコード番号を確認

56

Page 57: Ma11 kintoneハンズオン tokyo

情報まとめ

▌curl コマンドよりこのレコードのデータを取得しますアプリ番号 :306

レコード番号 :12

サブドメイン :example

API トークン :H0XFs7YgeGz2GtkKBoZjNj5ddfEZ7s5Pmi2uNcrK

57

curl コマンドの使い方:curl -X < メソッド > -H <ヘッダー情報 > -d < パラメータ >

Page 58: Ma11 kintoneハンズオン tokyo

リクエスト情報

▌データ取得リクエスト URI : https://example.cybozu.com/k/v1/record.json

クエリ文字列 : app=306&id=12

HTTP メソッド : GET

リクエストヘッダー : X-Cybozu-API-Token:H0XFs7YgeGz2GtkKBoZjNj5ddfEZ7s5Pmi2uNcrK

58

▼レコードの取得 (GET)https://cybozudev.zendesk.com/hc/ja/articles/202331474#step1

Page 59: Ma11 kintoneハンズオン tokyo

レコード番号を指定して取得

▌コマンド ( 完成版 )

curl "https://example.cybozu.com/k/v1/record.json?app=306&id=12" -X GET -H "X-Cybozu-API-Token:H0XFs7YgeGz2GtkKBoZjNj5ddfEZ7s5Pmi2uNcrK"

※この場合、 content-Type の指定は不要です。

59

Page 60: Ma11 kintoneハンズオン tokyo

結果

▌成功した時のレスポンス

{"record":{"更新日時":{"type":"UPDATED_TIME","value":"2015-09-14T05:40:00Z"},"作成者":{"type":"CREATOR","value":{"code":"Administrator","name":"Administrator"}},"$revision":{"type":"__REVISION__","value":"1"},"文字列__1行_":{"type":"SINGLE_LINE_TEXT","value":"日本橋 お多幸本店"},"更新者":{"type":"MODIFIER","value":{"code":"Administrator","name":"Administrator"}},"lng":{"type":"NUMBER","value":"139.772"},"record_no":{"type":"RECORD_NUMBER","value":"12"},"リンク":{"type":"LINK","value":"http://retty.me/area/PRE13/ARE15/SUB1503/100000006250/"},"文字列__複数行_":{"type":"MULTI_LINE_TEXT","value":"大正13年創業の純関東風おでんの店「日本橋 お多幸本店」。名物は、茶飯の上におでんのつゆをかけ、 その上に豆腐を乗せた「とうめし定食(¥650)」。とろけるような豆腐の下に、甘辛いたれがしみ込んだご飯がまた何とも美味しい。おでんも濃いめの味付けでお酒が進む。"},"作成日時":{"type":"CREATED_TIME","value":"2015-09-14T05:40:00Z"},"Address":{"type":"SINGLE_LINE_TEXT","value":"東京都中央区日本橋2-2-32丁目2番地3"},"$id":{"type":"__ID__","value":"12"},"lat":{"type":"NUMBER","value":"35.6823"}}}

60

Page 61: Ma11 kintoneハンズオン tokyo

4.curl コマンドで情報の取得(queryあり )

61

REST API ハンズオン

Page 62: Ma11 kintoneハンズオン tokyo

クエリを指定してレコードを取得 ( たいめいけんを取得 )

62

Page 63: Ma11 kintoneハンズオン tokyo

アプリ番号の確認

▌取得したいアプリのアプリ番号を URL より確認

63

https://example.cybozu.com/k/306/

Page 64: Ma11 kintoneハンズオン tokyo

クエリ

▌今回はレストラン名 ( フィールドコード name) が”たいめいけん”のフィールドを取得します

64

Name = “ たいめいけん”

Page 65: Ma11 kintoneハンズオン tokyo

リクエスト情報

▌データ取得 ( クエリで条件を指定 )リクエスト URI : https://example.cybozu.com/k/v1/records.json

クエリ文字列 : app=306&query=name= “ たいめいけん“

HTTP メソッド : GET

リクエストヘッダー : X-Cybozu-API-Token:H0XFs7YgeGz2GtkKBoZjNj5ddfEZ7s5Pmi2uNcrK

65

▼レコードの一括取得 (GET)https://cybozudev.zendesk.com/hc/ja/articles/202331474#step2

Page 66: Ma11 kintoneハンズオン tokyo

クエリでレコードを指定してレコードを取得

▌コマンド ( 完成版 )curl "https://example.cybozu.com/k/v1/records.json?app=306&query=Name=\" たいめいけん \"" -X GET -H "X-Cybozu-API-Token:H0XFs7YgeGz2GtkKBoZjNj5ddfEZ7s5Pmi2uNcrK"※この場合、 content-Type の指定は不要です。

※ クエリ内のダブルクウォートは、 \ でエスケープしてください。

66

Page 67: Ma11 kintoneハンズオン tokyo

結果

▌成功した時のレスポンス

{"records":[{"Name":{"type":"SINGLE_LINE_TEXT","value":" たいめいけん"},"更新日時":{"type":"UPDATED_TIME","value":"2015-09-14T05:40:00Z"},"作成者":{"type":"CREATOR","value":{"code":"Administrator","name":"Administrator"}},"Link":{"type":"LINK","value":"http://retty.me/area/PRE13/ARE15/SUB1503/100000009459/"},"$revision":{"type":"__REVISION__","value":"1"},"Details":{"type":"MULTI_LINE_TEXT","value":"言わずと知れた名店"},"作成日時":{"type":"CREATED_TIME","value":"2015-09-14T05:40:00Z"},"Address":{"type":"SINGLE_LINE_TEXT","value":"東京都中央区日本橋1丁目12番地10"},"lng":{"type":"NUMBER","value":"139.7756"}," 更新者":{"type":"MODIFIER","value":{"code":"Administrator","name":"Administrator"}},"record_no":{"type":"RECORD_NUMBER","value":"13"},"$id":{"type":"__ID__","value":"13"},"lat":{"type":"NUMBER","value":"35.6826"}}],"totalCount":null}

67

Page 68: Ma11 kintoneハンズオン tokyo

5.curl コマンドで情報の登録

68

REST API ハンズオン

Page 69: Ma11 kintoneハンズオン tokyo

新しくデータを登録してみましょう

69

項目 フィールドコード データ

レストラン名 Name サイボウズカフェ

リンク Link http://cybozu.co.jp/備考 Details コーヒーがおいしい

住所 Address 東京日本橋タワー28F

緯度 lat 35.6826経度 lng 139.7723※ 画像はイメージ

です。

Page 70: Ma11 kintoneハンズオン tokyo

リクエスト情報

▌データ登録リクエスト URI : https://example.cybozu.com/k/v1/record.json

HTTP メソッド : POST

リクエストヘッダー : X-Cybozu-API-Token:H0XFs7YgeGz2GtkKBoZjNj5ddfEZ7s5Pmi2uNcrK

content-Type:application/json

リクエストボディ : {"app":306,"record":{"Name":{"value":" サイボウズカフェ "},"Link":{"value":"http://cybozu.co.jp"},"Details":{"value":" コーヒーがおいしい "},"Address":{"value":"東京日本橋タワー "},"lat":{"value":35.6826},"lng":{"value":139.7723}}}

70

▼レコードの取得 (POST)https://cybozudev.zendesk.com/hc/ja/articles/202166160

Page 71: Ma11 kintoneハンズオン tokyo

クエリでレコードを指定してレコードを取得

▌コマンド ( 完成版 )curl "https://example.cybozu.com/k/v1/record.json" -X POST -H "X-Cybozu-API-Token:H0XFs7YgeGz2GtkKBoZjNj5ddfEZ7s5Pmi2uNcrK" -H "content-Type:application/json" -d '{"app":306,"record":{"Name":{"value":" サイボウズカフェ "},"Link":{"value":"http://cybozu.co.jp"},"Details":{"value":" コーヒーがおいしい "},"Address"{"value":"東京日本橋タワー "},"lat":{"value":35.6826},"lng":{"value":139.7723}}}'

※body の文字列はシングルクウォートでくくって、ダブルクウォートをエスケープしましょう

71

Page 72: Ma11 kintoneハンズオン tokyo

結果

▌レスポンスと登録されたレコード

72

{"id":"16","revision":"1"}

レスポンス

レコード

Page 73: Ma11 kintoneハンズオン tokyo

5.curl コマンドで情報の更新

73

REST API ハンズオン

Page 74: Ma11 kintoneハンズオン tokyo

登録したデータを更新してみましょう

74

項目 フィールドコード データ

レストラン名 Name サイボウズカフェ

< 変更前 >

項目 フィールドコード データ

レストラン名 Name ボウズカレー

< 変更後>

Page 75: Ma11 kintoneハンズオン tokyo

リクエスト情報

▌データ登録リクエスト URI : https://example.cybozu.com/k/v1/record.json

HTTP メソッド : PUT

リクエストヘッダー : X-Cybozu-API-Token:H0XFs7YgeGz2GtkKBoZjNj5ddfEZ7s5Pmi2uNcrK

content-Type:application/json

リクエストボディ : {"app":306," ,“id":16," record":{"Name":{"value":" ボウズカレー "}}}

75

▼レコードの取得 (POST)https://cybozudev.zendesk.com/hc/ja/articles/201941784

Page 76: Ma11 kintoneハンズオン tokyo

レコード更新

▌コマンド ( 完成版 )curl "https://example.cybozu.com/k/v1/record.json" -X PUT -H "X-Cybozu-API-Token:H0XFs7YgeGz2GtkKBoZjNj5ddfEZ7s5Pmi2uNcrK" -H "content-Type:application/json" -d '{"app ":306,"id":16,"record":{"Name":{"value":" ボウズカレー "}}} '

※body の文字列はシングルクウォートでくくって、ダブルクウォートをエスケープしましょう

76

Page 77: Ma11 kintoneハンズオン tokyo

結果

▌レスポンスと更新されたレコード

77

{"revision":"2"}

レスポンス

レコード

Page 78: Ma11 kintoneハンズオン tokyo

▌kintone アプリ作成

▌kintone REST API ハンズオン

▌kintone JavaScrip ハンズオン

▌kintone をハッカソンで使う準備

78

Page 79: Ma11 kintoneハンズオン tokyo

JavaScript API

79

▌kintone をフロントエンドのインターフェースとして利用する際に有効

JavaScript

Page 80: Ma11 kintoneハンズオン tokyo

JavaScript API

▌イベントハンドラ(一覧、表示、追加、編集、削除)

▌画面上の値を取得・設定

▌REST API の実行

▌外部 API の実行

レストラン情報アプリ

連携

Page 81: Ma11 kintoneハンズオン tokyo

JavaScript ハンズオン流れ

1. アプリの変更

2. サンプルコード適用

81

Page 82: Ma11 kintoneハンズオン tokyo

JavaScript ハンズオン

今回は、レストラン情報アプリの「住所」を取得して地図にピンを立てます

82

Page 83: Ma11 kintoneハンズオン tokyo

1. アプリの変更

83

JavaScript ハンズオン

Page 84: Ma11 kintoneハンズオン tokyo

新しくフィールドを追加します

84

フィールド名 フィールドコード

フィールドタイプ

- Map スペース

レコード番号 record_no レコード番号

Page 85: Ma11 kintoneハンズオン tokyo

一覧「レストランリスト」にレコード番号を追加します

85

Page 86: Ma11 kintoneハンズオン tokyo

設定完了を忘れずに

86

Page 87: Ma11 kintoneハンズオン tokyo

2. サンプルコード適用

87

JavaScript ハンズオン

Page 88: Ma11 kintoneハンズオン tokyo

cybozu.com developer network サンプル

▌顧客訪問リストを地図にピン表示する

88https://cybozudev.zendesk.com/hc/ja/articles/202341964

Page 89: Ma11 kintoneハンズオン tokyo

developer network のサンプルをエディタにコピー

89

Page 90: Ma11 kintoneハンズオン tokyo

保存

▌文字コード「 UTF-8 」、ファイル名「 map.js 」として保存

90

Page 91: Ma11 kintoneハンズオン tokyo

JavaScript の適用

▌アプリの管理画面「詳細設定」より作成したファイルを読み込ませる

91

Page 92: Ma11 kintoneハンズオン tokyo

カスタマイズ適用確認

▌レコード一覧画面と詳細画面で地図が表示される

92

< レコード一覧画面 >

< レコード詳細画面 >

Page 93: Ma11 kintoneハンズオン tokyo

ハンズオンまとめ

▌自分の今いる地点の近くのお気に入りのレストランを検索するシステムを作成する。→ 今回は、 kintone でレストラン DB の構築、データの出し入れを確認!

GPS と組み合わせれば完成するはず。(実際作ってはいません…)

93

Page 94: Ma11 kintoneハンズオン tokyo

▌kintone アプリ作成

▌kintone REST API ハンズオン

▌kintone JavaScrip ハンズオン

▌kintone をハッカソンで使う準備

94

Page 95: Ma11 kintoneハンズオン tokyo

開発者ライセンスcybozu.com developer network

1年間無料ライセンス

※ アカウント登録が必要です

https://cybozudev.zendesk.com/hc/ja

Page 96: Ma11 kintoneハンズオン tokyo

API ドキュメント

kintone API ドキュメント

Page 97: Ma11 kintoneハンズオン tokyo

Tipscybozu.com developer network

kintone API活用ノウハウ

Page 98: Ma11 kintoneハンズオン tokyo

おすすめ Tips

https://cybozudev.zendesk.com/hc/ja/articles/205365464

▌ハッカソンで kintone を使おう!

Page 99: Ma11 kintoneハンズオン tokyo

kintone をよろしくお願いします。ご清聴ありがとうございました。