Submit Search
Upload
kintone Café 福岡 vol.6 / kintone.Promise を使ったREST API更新処理
•
Download as PPTX, PDF
•
6 likes
•
8,743 views
Masumi Nagamine
Follow
「kintone.Promise を使ったREST API更新処理」のハンズオンで使った資料です @ kintone Café 福岡 vol.6
Read less
Read more
Software
Report
Share
Report
Share
1 of 53
Download now
Recommended
kintone café 福岡 vol6 第1部 7月 API情報
kintone café 福岡 vol6 第1部 7月 API情報
Yoshihiko Takeuchi
kintone Café 福岡 Vol.2(kintone REST API・Excel連携)
kintone Café 福岡 Vol.2(kintone REST API・Excel連携)
Ryu Yamashita
kintone devCamp Vol.5 LT資料
kintone devCamp Vol.5 LT資料
Ryu Yamashita
20150624 kintone Café 福岡
20150624 kintone Café 福岡
Toshiyuki Konparu
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
Ryu Yamashita
APIで広がるkintoneの世界
APIで広がるkintoneの世界
Sakae Saito
kintone devCamp 2015 ~ エンジニアの宴@噂のサイボウズオフィス~ 四宮LT
kintone devCamp 2015 ~ エンジニアの宴@噂のサイボウズオフィス~ 四宮LT
JOYZO
kintone Café 神戸 Vol.5 LT資料
kintone Café 神戸 Vol.5 LT資料
Ryu Yamashita
Recommended
kintone café 福岡 vol6 第1部 7月 API情報
kintone café 福岡 vol6 第1部 7月 API情報
Yoshihiko Takeuchi
kintone Café 福岡 Vol.2(kintone REST API・Excel連携)
kintone Café 福岡 Vol.2(kintone REST API・Excel連携)
Ryu Yamashita
kintone devCamp Vol.5 LT資料
kintone devCamp Vol.5 LT資料
Ryu Yamashita
20150624 kintone Café 福岡
20150624 kintone Café 福岡
Toshiyuki Konparu
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
Ryu Yamashita
APIで広がるkintoneの世界
APIで広がるkintoneの世界
Sakae Saito
kintone devCamp 2015 ~ エンジニアの宴@噂のサイボウズオフィス~ 四宮LT
kintone devCamp 2015 ~ エンジニアの宴@噂のサイボウズオフィス~ 四宮LT
JOYZO
kintone Café 神戸 Vol.5 LT資料
kintone Café 神戸 Vol.5 LT資料
Ryu Yamashita
kintone x AWSで超ファストシステムを作ろう 〜 AWSでkintone APIをよりよく使う〜
kintone x AWSで超ファストシステムを作ろう 〜 AWSでkintone APIをよりよく使う〜
Kazuki Murahama
kintone Café 新潟 Vol.2 -kintone magic-
kintone Café 新潟 Vol.2 -kintone magic-
Takashi Ushirosako
kintone Café 新潟 Vol.2 LT
kintone Café 新潟 Vol.2 LT
JOYZO
「納品のないkintone受託開発」でお客様が価値を感じたポイントは?
「納品のないkintone受託開発」でお客様が価値を感じたポイントは?
士朗 藤原
kintone SI の楽しみ方!「kintone devCamp 2015 【A-1】ファストSIのカスタマイズ事例 -SI開発者の裏側-」
kintone SI の楽しみ方!「kintone devCamp 2015 【A-1】ファストSIのカスタマイズ事例 -SI開発者の裏側-」
JOYZO
kintone & AWSサーバレスアーキテクチャのベストプラクティス
kintone & AWSサーバレスアーキテクチャのベストプラクティス
JOYZO
kintone Café 札幌 Vol.7 「kintoneエコシステム真時代の幕開け! -kintoneエコシステムとAWSサーバレスアーキテクチャ-」
kintone Café 札幌 Vol.7 「kintoneエコシステム真時代の幕開け! -kintoneエコシステムとAWSサーバレスアーキテクチャ-」
JOYZO
これをマスターして初心者脱出!-kintoneチョイ技10選- [cybozu.com conference 2015 大阪 K-2]
これをマスターして初心者脱出!-kintoneチョイ技10選- [cybozu.com conference 2015 大阪 K-2]
JOYZO
もし福岡にコミュニティがなかったら ∼ とある福岡ITコミュニティの話
もし福岡にコミュニティがなかったら ∼ とある福岡ITコミュニティの話
Garyuten
【kintone café松江#1】kintoneの可能性
【kintone café松江#1】kintoneの可能性
Koji Asaga
第35回 WordBench 大阪 kintoneハンズオン
第35回 WordBench 大阪 kintoneハンズオン
Koji Asaga
kintone × IoT 連携による現場業務の改善(kintone hive)
kintone × IoT 連携による現場業務の改善(kintone hive)
JOYZO
kintoneの乗りこなしとブースト方法
kintoneの乗りこなしとブースト方法
Cybozucommunity
kintone devCamp Vol.10 ルックアップのことだけ、考えた。
kintone devCamp Vol.10 ルックアップのことだけ、考えた。
kintone papers
[BUKURO.swift] WWDC2017
[BUKURO.swift] WWDC2017
幸雄 村上
kintonecafefukushima-vol1-20161001
kintonecafefukushima-vol1-20161001
kintone papers
kintone Café 東京 Vol.3 ハンズオン資料(kintone & AWS Lambda/S3)
kintone Café 東京 Vol.3 ハンズオン資料(kintone & AWS Lambda/S3)
JOYZO
kintone Café 福岡 Vol.1(kintoneまとめ・ハンズオン)
kintone Café 福岡 Vol.1(kintoneまとめ・ハンズオン)
Ryu Yamashita
《kintoneプラグイン》「Movable Type連携」のご紹介
《kintoneプラグイン》「Movable Type連携」のご紹介
Sakae Saito
kintone café 大阪 Vol.3
kintone café 大阪 Vol.3
Koji Asaga
20150715 kintone Café 大阪 Vol.3 カスタマイズハンズオン
20150715 kintone Café 大阪 Vol.3 カスタマイズハンズオン
Midori Ikegami
kintone devCamp Vol.5 LT資料
kintone devCamp Vol.5 LT資料
JOYZO
More Related Content
What's hot
kintone x AWSで超ファストシステムを作ろう 〜 AWSでkintone APIをよりよく使う〜
kintone x AWSで超ファストシステムを作ろう 〜 AWSでkintone APIをよりよく使う〜
Kazuki Murahama
kintone Café 新潟 Vol.2 -kintone magic-
kintone Café 新潟 Vol.2 -kintone magic-
Takashi Ushirosako
kintone Café 新潟 Vol.2 LT
kintone Café 新潟 Vol.2 LT
JOYZO
「納品のないkintone受託開発」でお客様が価値を感じたポイントは?
「納品のないkintone受託開発」でお客様が価値を感じたポイントは?
士朗 藤原
kintone SI の楽しみ方!「kintone devCamp 2015 【A-1】ファストSIのカスタマイズ事例 -SI開発者の裏側-」
kintone SI の楽しみ方!「kintone devCamp 2015 【A-1】ファストSIのカスタマイズ事例 -SI開発者の裏側-」
JOYZO
kintone & AWSサーバレスアーキテクチャのベストプラクティス
kintone & AWSサーバレスアーキテクチャのベストプラクティス
JOYZO
kintone Café 札幌 Vol.7 「kintoneエコシステム真時代の幕開け! -kintoneエコシステムとAWSサーバレスアーキテクチャ-」
kintone Café 札幌 Vol.7 「kintoneエコシステム真時代の幕開け! -kintoneエコシステムとAWSサーバレスアーキテクチャ-」
JOYZO
これをマスターして初心者脱出!-kintoneチョイ技10選- [cybozu.com conference 2015 大阪 K-2]
これをマスターして初心者脱出!-kintoneチョイ技10選- [cybozu.com conference 2015 大阪 K-2]
JOYZO
もし福岡にコミュニティがなかったら ∼ とある福岡ITコミュニティの話
もし福岡にコミュニティがなかったら ∼ とある福岡ITコミュニティの話
Garyuten
【kintone café松江#1】kintoneの可能性
【kintone café松江#1】kintoneの可能性
Koji Asaga
第35回 WordBench 大阪 kintoneハンズオン
第35回 WordBench 大阪 kintoneハンズオン
Koji Asaga
kintone × IoT 連携による現場業務の改善(kintone hive)
kintone × IoT 連携による現場業務の改善(kintone hive)
JOYZO
kintoneの乗りこなしとブースト方法
kintoneの乗りこなしとブースト方法
Cybozucommunity
kintone devCamp Vol.10 ルックアップのことだけ、考えた。
kintone devCamp Vol.10 ルックアップのことだけ、考えた。
kintone papers
[BUKURO.swift] WWDC2017
[BUKURO.swift] WWDC2017
幸雄 村上
kintonecafefukushima-vol1-20161001
kintonecafefukushima-vol1-20161001
kintone papers
What's hot
(16)
kintone x AWSで超ファストシステムを作ろう 〜 AWSでkintone APIをよりよく使う〜
kintone x AWSで超ファストシステムを作ろう 〜 AWSでkintone APIをよりよく使う〜
kintone Café 新潟 Vol.2 -kintone magic-
kintone Café 新潟 Vol.2 -kintone magic-
kintone Café 新潟 Vol.2 LT
kintone Café 新潟 Vol.2 LT
「納品のないkintone受託開発」でお客様が価値を感じたポイントは?
「納品のないkintone受託開発」でお客様が価値を感じたポイントは?
kintone SI の楽しみ方!「kintone devCamp 2015 【A-1】ファストSIのカスタマイズ事例 -SI開発者の裏側-」
kintone SI の楽しみ方!「kintone devCamp 2015 【A-1】ファストSIのカスタマイズ事例 -SI開発者の裏側-」
kintone & AWSサーバレスアーキテクチャのベストプラクティス
kintone & AWSサーバレスアーキテクチャのベストプラクティス
kintone Café 札幌 Vol.7 「kintoneエコシステム真時代の幕開け! -kintoneエコシステムとAWSサーバレスアーキテクチャ-」
kintone Café 札幌 Vol.7 「kintoneエコシステム真時代の幕開け! -kintoneエコシステムとAWSサーバレスアーキテクチャ-」
これをマスターして初心者脱出!-kintoneチョイ技10選- [cybozu.com conference 2015 大阪 K-2]
これをマスターして初心者脱出!-kintoneチョイ技10選- [cybozu.com conference 2015 大阪 K-2]
もし福岡にコミュニティがなかったら ∼ とある福岡ITコミュニティの話
もし福岡にコミュニティがなかったら ∼ とある福岡ITコミュニティの話
【kintone café松江#1】kintoneの可能性
【kintone café松江#1】kintoneの可能性
第35回 WordBench 大阪 kintoneハンズオン
第35回 WordBench 大阪 kintoneハンズオン
kintone × IoT 連携による現場業務の改善(kintone hive)
kintone × IoT 連携による現場業務の改善(kintone hive)
kintoneの乗りこなしとブースト方法
kintoneの乗りこなしとブースト方法
kintone devCamp Vol.10 ルックアップのことだけ、考えた。
kintone devCamp Vol.10 ルックアップのことだけ、考えた。
[BUKURO.swift] WWDC2017
[BUKURO.swift] WWDC2017
kintonecafefukushima-vol1-20161001
kintonecafefukushima-vol1-20161001
Viewers also liked
kintone Café 東京 Vol.3 ハンズオン資料(kintone & AWS Lambda/S3)
kintone Café 東京 Vol.3 ハンズオン資料(kintone & AWS Lambda/S3)
JOYZO
kintone Café 福岡 Vol.1(kintoneまとめ・ハンズオン)
kintone Café 福岡 Vol.1(kintoneまとめ・ハンズオン)
Ryu Yamashita
《kintoneプラグイン》「Movable Type連携」のご紹介
《kintoneプラグイン》「Movable Type連携」のご紹介
Sakae Saito
kintone café 大阪 Vol.3
kintone café 大阪 Vol.3
Koji Asaga
20150715 kintone Café 大阪 Vol.3 カスタマイズハンズオン
20150715 kintone Café 大阪 Vol.3 カスタマイズハンズオン
Midori Ikegami
kintone devCamp Vol.5 LT資料
kintone devCamp Vol.5 LT資料
JOYZO
kintone基本操作ガイド
kintone基本操作ガイド
Cybozucommunity
Viewers also liked
(7)
kintone Café 東京 Vol.3 ハンズオン資料(kintone & AWS Lambda/S3)
kintone Café 東京 Vol.3 ハンズオン資料(kintone & AWS Lambda/S3)
kintone Café 福岡 Vol.1(kintoneまとめ・ハンズオン)
kintone Café 福岡 Vol.1(kintoneまとめ・ハンズオン)
《kintoneプラグイン》「Movable Type連携」のご紹介
《kintoneプラグイン》「Movable Type連携」のご紹介
kintone café 大阪 Vol.3
kintone café 大阪 Vol.3
20150715 kintone Café 大阪 Vol.3 カスタマイズハンズオン
20150715 kintone Café 大阪 Vol.3 カスタマイズハンズオン
kintone devCamp Vol.5 LT資料
kintone devCamp Vol.5 LT資料
kintone基本操作ガイド
kintone基本操作ガイド
kintone Café 福岡 vol.6 / kintone.Promise を使ったREST API更新処理
1.
kintone Cafė 福岡
vol.6 ハンズオン ファシリス 長嶺雅透 kintone Cafė Fukuoka vol.6
2.
長嶺 雅透
ながみね ますみ 個人事業主 10年目 完全独立系 ◦ 営業・開発・運用サポート 全部1人で バスケ、ゴールキーパー ◦ YouTube 「ゴレイロ ダイジェスト」で検索 kintone Cafė Fukuoka vol.6 ファシリス
3.
前ふり テンプレートからアプリの作成
データの流し込み kintone.Promiseを使ったカスタマイズ JavaScriptファイルのアップロード 動作確認 まとめ kintone Cafė Fukuoka vol.6
4.
kintone Cafė Fukuoka
vol.6
5.
ソニックガーデンの 倉貫さんがくる 勉強会があるらしい! 行かねば!! kintone Cafė
Fukuoka vol.6
6.
kintone Cafė Fukuoka
vol.6
7.
倉貫さん やっぱ
すげ~!! ところで、kintoneって なんですか? kintone Cafė Fukuoka vol.6
8.
Kintone って、簡単で便利そうだね
PHPで挫折した俺にとって 簡単にWEBアプリが作れるのは、最高だな! kintone Cafė Fukuoka vol.6
9.
1アプリ 1テーブルのイメージなんだ
ん? でも できないことも多いな ◦ ルックアップって、参照じゃなく、コピーなんですか! それじゃ、マスタ参照なんてできないじゃん! ◦ えっ、他のテーブルに書き込みできないの? kintone Cafė Fukuoka vol.6
10.
RDBとは違うのだよ RDBとは! kintone
Cafė Fukuoka vol.6
11.
使いものにならん・・・ kintone Cafė Fukuoka
vol.6
12.
JavaScript を使ったカスタマイズで対応できるらしい
けど、JavaScriptなんて使ったことないし。。。 kintone Cafė Fukuoka vol.6
13.
JavaScript API
ってなんやねん REST API ってなんやねん ってか、AIPと打ち間違うし。。。 kintone Cafė Fukuoka vol.6
14.
っで、どうすればいいの? cybozu.com
developer network ◦ 「はじめよう kintone JavaScript API」を写経 えっ! アップデートで仕様が新しくなるの? Promiseって何よ? まだ、Promiseのサンプルが少ない。。。。 kintone Cafė Fukuoka vol.6
15.
でも、これって 自分にとって 本当に必要不可欠な機能だよな
他の人も サンプルがあれば嬉しいはず kintone Cafė Fukuoka vol.6
16.
そんな訳で kintone を知って2か月、JavaScriptを使って2か月 の初心者が
勇気をもって登壇しています どうか 温かい目で見守ってください kintone Cafė Fukuoka vol.6
17.
kintone Cafė Fukuoka
vol.6
18.
その1: 同期リクエストを標準APIで送信できない これまで他アプリのデータを取得したあとに何か処理 をするといった場合などに、XMLHttpRequestを使っ た同期リクエストを泣く泣く利用するシーンが出てきて いたかと思います。なぜならば、kintoneのリクエスト 系の標準APIは全て非同期のリクエストとなっている からです。 kintone Cafė
Fukuoka vol.6 cybozu.com developer network より
19.
この同期リクエスト、下記のようなデメリットがあります。 JavaScriptで同期リクエストを実行すると、実行中に 画面がかたまり、他の操作ができなくなる。 ブラウザで、非推奨の主旨の警告がでる。 (FireFoxでは、将来的に廃止予定。) kintone
Cafė Fukuoka vol.6 cybozu.com developer network より
20.
その2: submit等のイベントハンドラで リクエスト系kintone APIが使えない問題 リクエスト系のkintone
API例えば、kintone.apiや kintone.proxyは基本的に非同期リクエストです。つ まり、レコード登録ボタンを押したときにkintone.api やkintone.proxyの実行結果を待たずに保存が実 行されていました。 kintone Cafė Fukuoka vol.6 cybozu.com developer network より
21.
そこで、2015年7月のアップデートで上記の問題を 解決する術として、 kintone APIのPromiseのサポートが実装されました。 kintone
Cafė Fukuoka vol.6 cybozu.com developer network より
22.
Promiseサポートされたイベントの返り値でPromise オブジェクトをreturnできる リクエスト系
APIでcallbackを省略するとPromiseオ ブジェクトが返される といった挙動になります。 kintone Cafė Fukuoka vol.6 cybozu.com developer network より
23.
うーん…なんだか良く分らない!という人は、 これを使えば下記のメリットがあるということを 覚えておいてください。 XMLHttpRequestの同期リクエストを使わずに同様 の処理を記述できる イベントハンドラにPromiseを使った任意の非同期処 理を記述できる kintone
Cafė Fukuoka vol.6 cybozu.com developer network より
24.
つまり、冒頭で挙げた同期リクエストにおけるデメリットを 回避した記述ができるようになったのです。 また、イベントハンドラに任意の非同期処理を挟めること で、レコード登録時に他のアプリの欲しい情報を一緒に 登録したりといったことが可能になります。 kintone Cafė Fukuoka
vol.6 cybozu.com developer network より
25.
レコード登録時に、 他のアプリとのデータのやり取りを行うための、 新しい仕組みを作りましたよ これぞ、求めていたもの kintone
Cafė Fukuoka vol.6
26.
kintone Cafė Fukuoka
vol.6
27.
kintone Cafė Fukuoka
vol.6
28.
kintone Cafė Fukuoka
vol.6 商品情報(コード、名称、単価など) と 在庫量を 保持している 出荷情報を入力 ルックアップで 商品情報を取得 REST APIで 在庫量を取得 出荷可能か判定 REST APIで 出荷後の在庫量を 書き込む 保 存 時 標準機能 カスタマイズ
29.
GitHub https://github.com/masu77/kcfvol06 kintone Cafė
Fukuoka vol.6 kintone Café Fukuoka vol06 の略です
30.
kintone Cafė Fukuoka
vol.6
31.
解凍すると、20数個の ZIPファイルができます
これらの ZIPファイルは解凍しないでください 番号の割り振りをします kintone Cafė Fukuoka vol.6
32.
URL https://kcfvol06.cybozu.com/ ID kcfvol06 password fukuoka06 kintone Cafė Fukuoka
vol.6 kintone Café Fukuoka vol06 の略です このアドレスは 9/23まで有効
33.
kintone Cafė Fukuoka
vol.6
34.
と、アプリ画面の確認 と、アプリIDの確認、メモ kintone
Cafė Fukuoka vol.6
35.
サンプルの 穴埋めをしていきましょう kintone
Cafė Fukuoka vol.6
36.
イベントハンドラーの登録 kintone Cafė
Fukuoka vol.6
37.
レコード追加画面の保存実行前イベント app.record.create.submit レコード編集画面の保存実行前イベント app.record.edit.submit
レコード詳細画面の削除前イベント app.record.detail.delete.submit プロセス管理のアクション実行イベント app.record.detail.process.proceed レコード一覧画面の「保存ボタン」クリック時イベント app.record.index.edit.submit レコード一覧画面のレコード削除前イベント app.record.index.delete.submit kintone Cafė Fukuoka vol.6
38.
kintone.events.on([‘app.record.create.submit’], function(event) { } kintone Cafė
Fukuoka vol.6
39.
ブランク2は 飛ばして kintone
Cafė Fukuoka vol.6
40.
kintone Cafė Fukuoka
vol.6
41.
kintone.api( REST APIのURL ,GET や
PUT・ POST・ DELETE ,パラメーター (検索条件) ).then( 成功時の処理 ).catch( エラー時の処理 ); kintone Cafė Fukuoka vol.6
42.
var appId =
78; // 商品マスタのアプリIDの設定 var params = { app: appId, query: '商品コード = "' + record.商品コード.value + '"' }; kintone Cafė Fukuoka vol.6 D S S D S
43.
kintone.api( kintone.api.url('/k/v1/records', true), 'GET', params ).then(function(resp) { kintone
Cafė Fukuoka vol.6
44.
// 在庫数がマイナスになる場合はエラーにして中断 record['出庫量']['error'] =
"在庫が足りません。"; event['error'] = "在庫が足りません。"; kintone Cafė Fukuoka vol.6
45.
kintone Cafė Fukuoka
vol.6 event['error'] record['出庫量']['error']
46.
var params =
{ app: appId, id: resp.records[0]['$id']['value'], revision: resp.records[0]['$revision']['value'], record: {"在庫量": {"value": updateQuantity}} }; kintone Cafė Fukuoka vol.6
47.
kintone.api( kintone.api.url('/k/v1/record', true), 'PUT', params ).then( ).catch( ) kintone
Cafė Fukuoka vol.6
48.
開発時は、Dropboxを使った方法も便利です ググってください kintone Cafė
Fukuoka vol.6
49.
まずは、商品マスタの在庫数を確認しましょう 次に、出庫入力で
データを登録します そして、商品マスタで在庫数を確認しましょう 在庫が足りないパターンの確認もしましょう kintone Cafė Fukuoka vol.6
50.
REST APIを使えば、他アプリ(テーブル)との 連携もできるので、ずいぶん
使いどころが広がる だた、集計して持ってくる (GROUP BYして、SUMで持ってくる)とかは、 苦手かな? kintone Cafė Fukuoka vol.6
51.
エバンジェリストでもない kintone
の実績があるわけでもない JSを触ったこともなかった みなさんも どんどん コミュニティに参加しましょう! kintone Cafė Fukuoka vol.6
52.
ご清聴 ありがとうございました kintone Cafė
Fukuoka vol.6
53.
GitHub https://github.com/masu77/kcfvol06 https://github.com/masu77/kcfvol06-2 完成版、 変更・削除対応版 kintone
Cafė Fukuoka vol.6 kintone Café Fukuoka vol06 の略です
Download now