More Related Content
Similar to kintone café 福岡 vol6 第1部 7月 API情報 (12)
kintone café 福岡 vol6 第1部 7月 API情報
- 2. kintone Café 福岡 Vol.6
自己紹介
名前: 竹内 能彦(たけうち よしひこ)
年齢: 32歳
出身: 香川県坂出市
経歴: 2014年 サイボウズ株式会社 中途入社
所属: システムコンサルティング本部 関西SCグループ(新大阪勤務)
- 4. kintone Café 福岡 Vol.6
Garoon と Googleカレンダー連携
• GaroonのスケジュールをGoogleカレンダーに反映
- 11. kintone Café 福岡 Vol.6
目次
• kintone API 7月のアップデート情報
• ステータス更新API + デモ
• デプロイAPI + デモ
- 13. kintone Café 福岡 Vol.6
JavaScript API
• Promise対応
kintoneのリクエスト系APIは全て非同期
=> 同期リクエストが必要な場合はXMLHttpRequestを利用
=> XMLHttpRequestを使わなくて良くなる
• テーブルの行追加・削除ボタンクリック時のイベント取得
• 分かりにくいエラーメッセージを修正
• 不具合改修
- 14. kintone Café 福岡 Vol.6
JavaScript API
• Promise対応
kintoneのリクエスト系APIは全て非同期
=> 同期リクエストが必要な場合はXMLHttpRequestを利用
=> XMLHttpRequestを使わなくて良くなる
• テーブルの行追加・削除ボタンクリック時のイベント取得
• 分かりにくいエラーメッセージを修正
• 不具合改修
地味な改修に見えてかなり有り難い
ドツボにはまるということが少なくなりそう・・・
- 15. kintone Café 福岡 Vol.6
REST API
• レコードのステータスを更新するAPI
• アプリをデプロイするAPI
• 日付のフォーマット仕様変更
• リクエストヘッダーにX-HTTP-Method-Overrideを指定
• 分かりにくいエラーメッセージを修正
• 不具合改修
- 16. kintone Café 福岡 Vol.6
REST API
• レコードのステータスを更新するAPI
• アプリをデプロイするAPI
• 日付のフォーマット仕様変更
• リクエストヘッダーにX-HTTP-Method-Overrideを指定
• 分かりにくいエラーメッセージを修正
• 不具合改修
今回はこの2つのAPIについて詳しく説明
- 17. kintone Café 福岡 Vol.6
REST API
• レコードのステータスを更新するAPI
• アプリをデプロイするAPI
• 日付のフォーマット仕様変更
• リクエストヘッダーにX-HTTP-Method-Overrideを指定
• 分かりにくいエラーメッセージを修正
• 不具合改修
月日を省略した場合は01で補完されます。
* 2015 -> 2015-01-01
* 2015-07 -> 2015-07-01
* 2015-7 -> 2015-07-01
* 2015-7-5 -> 2015-07-05
- 18. kintone Café 福岡 Vol.6・リクエストヘッダー
GET /k/v1/records.json?app=oo&query=ほげほげ・・・
・リクエストヘッダー
POST /k/v1/records.json
X-HTTP-Method-Override: GET
・リクエストボディ
{
"app": "oo",
“query”: “ほげほげ・・・"
}
REST API
• レコードのステータスを更新するAPI
• アプリをデプロイするAPI
• 日付のフォーマット仕様変更
• リクエストヘッダーにX-HTTP-Method-Overrideを指定
• 分かりにくいエラーメッセージを修正
• 不具合改修
- 20. kintone Café 福岡 Vol.6
kintoneのプロセス管理
• 複数のユーザーでレコードの編集や確認をするためのプロセス(ワークフロー)を設定できます。
• 各レコードのステータス(処理状況)が表示されるようになります。
- 21. kintone Café 福岡 Vol.6
例)ステータスの更新
• リクエスト
curl
-X PUT
-H “X-Cybozu-Authorization: XXXX"
-H “Authorization: XXXX”
-H "Content-Type: application/json"
-d ‘{“app”:OO, “id”:□□, “action”:“△△"}'
"https://xxxxxxxx.cybozu.com/k/v1/record/status.json" | jq
• レスポンス
- 22. kintone Café 福岡 Vol.6
例)ステータスの更新
• リクエスト
curl
-X PUT
-H “X-Cybozu-Authorization: XXXX"
-H “Authorization: XXXX”
-H "Content-Type: application/json"
-d ‘{“app”:OO, “id”:□□, “action”:“△△"}'
"https://xxxxxxxx.cybozu.com/k/v1/record/status.json" | jq
• レスポンス
actionにはアクション名を指定
- 24. kintone Café 福岡 Vol.6
ステータス更新APIの注意事項
例えば・・・
バッチ処理で特定期間経過後に
一括承認/却下したい場合
API TOKENでは実行できない
• ユーザー認証でAPIを実行する場合、次の2つの条件にあてはまるレコードでAPIを実行できます。
• APIの実行ユーザーがレコードの閲覧権限を持つ
• レコードに作業者が指定されていない、または、APIの実行ユーザーがレコードの作業者に指定されている
• APIトークンでAPIを実行する場合、次の2つの条件にあてはまる場合にAPIを実行できます。
• レコードの閲覧を許可したAPIトークンを使用する
• レコードに作業者が指定されていない、または、「Administrator」がレコードの作業者に指定されている
- 27. kintone Café 福岡 Vol.6
新規追加、機能追加されたREST API
• アプリの作成と設定変更
• アプリ設定の運用環境への反映
• アプリの設定情報の取得/変更
• 一般設定
• フォーム設定
• 一覧設定
• アクセス権設定(アプリ、レコード、フィールド)
• JavaScript / CSSカスタマイズ設定
- 28. kintone Café 福岡 Vol.6
例)アプリの一般設定の取得
• リクエスト
curl
-X GET
-H “X-Cybozu-Authorization: XXXX"
-H “Authorization: XXXX”
"https://xxxxxxxx.cybozu.com/k/v1/app/settings.json?app=OO" | jq
• レスポンス
API TOKENは使えない
アプリの説明にはHTMLタグも含まれる
- 29. kintone Café 福岡 Vol.6
例)アプリのフォーム設定の取得
• リクエスト
curl
-X GET
-H "X-Cybozu-Authorization: XXXX"
-H "Authorization: XXXX”
"https://xxxxxxxx.cybozu.com/k/v1/app/form/fields.json?app=OO" | jq
API TOKENは使えない
- 34. kintone Café 福岡 Vol.6
案件での対応は・・・
• 要件を確認
• 仕様を考えて
• アプリを作って
• 使ってみて
• 修正して
- 35. kintone Café 福岡 Vol.6
案件での対応は・・・
• 要件を確認
• 仕様を考えて
• アプリを作って
• 使ってみて
• 修正して
とっても順調!
楽しい!
- 39. kintone Café 福岡 Vol.6
帳票サービス
・プリントクリエイター
・SVF Cloud for kintone
・OPROARTS Connector for kintone
・ReportsConnect for kintone
・kintone 楽々帳票
・Excel – kintone 連携
- 41. kintone Café 福岡 Vol.6
まとめ
• 7月のアップデートでは開発者にとって嬉しい機能が多数追加
• kintoneではアプリの仕様書まで自身で作成
• 是非皆さんも使ってみてください
Editor's Notes
- 簡単に私の仕事について説明します。
サイボウズではkintoneだけでなく、GaroonやOfficeといったグループウェアも取り扱っている
私はkintoneだけでなく、ガルーンにも携わっています。
- 最近、GaroonとGoogleカレンダーとを連携させるスクリプトを書きました。
Googleカレンダーは便利ですよね。
他の人と予定を共有したり、他の人の予定を自分の予定と一緒に表示したりできます。
そこにGaroonの予定も表示できたら素敵だなと思って作成しました。
黄色がガルーンの予定で紫がGoogleカレンダーの予定
- で、この連携スクリプトですがdeveloper networkに公開しています。
場所がわかりづらいので説明しておきますね。
- developer network はkintone押しなのでGaroonの扱いがひどい
編集者がミーハーなのでIoT、Pepperくん押しです。
- 不具合修正が3回もありますが、気にしてはいけません。
更新頻度が高いと前向きに捉えてください。
- 後ろの席の方が見えないかもしれないので拡大しておきました。
以上です。
- developer networkの記事には下にコメントを記入する欄があります。
例えばですが、この記事のこのあたりわかりづらいなぁという意見をコメントいただければ
より良い記事作成につながりますので、是非気軽にコメントいただければと思います。
ちなみに私は褒められて伸びるタイプなので「○○直してください」だと良くないですね。
「●●便利ですね!でもここがこうなればもっと良くなるのになぁ」みたいな内容でいただけると助かります。
- ★4分
それでは本題に入ります。
kintone API 7月のアップデート情報についてさらっと説明して
その中のステータス更新API、デプロイAPIについては少し詳しく説明してデモも行います。
- GETの場合、リクエストボディが利用できないのでURIにつらつらと書くことになります。
このURIが長いとエラーになっていたのがMethod-Overrideを指定することで回避できるようになります。
具体的にはGETではなくPOSTを指定して
X-HTTP-Method-OverrideにGETを指定します。
これによりリクエストボディを利用しつつGETのリクエストが可能になります。
- ★6分
次はステータス更新APIについての説明とデモになります。
- まずはkintoneのプロセス管理について説明します。
プロセス管理というと難しく聞こえますが、要はワークフローです。
例えばですが、交通費申請などで、申請する、問題ない場合は承認する、不備がある場合は差し戻すなどができるようになります。
で、この承認待ちや承認完了という処理状況をステータスと呼んでいます。
プロセス管理を利用するとこのステータスが詳細画面に表示されるようになります。
- ステータス更新のリクエストとレスポンスの例になります。
X-Cybozu-Authorization、Authorizationというのは認証情報ですね。
アプリのID、レコード番号、actionを投げて、成功するとこのようなレスポンスがあります。
- ★9分
・アプリの説明
交通費の申請アプリで金額がある、プロセス管理は
一覧「一括承認」
1万円以下にフィルターして一括承認
2万円以下にフィルターして一括承認
- ★12分
-
properties配下にフィールドコードがあります。
この場合はcreateDateがフィールドコードになります。
typeでフィールドの項目を判断できます。文字列1行とか、リストボックスとかの判断ですね。DATEの場合は日付になります。
フィールド名はlabelに
必須項目にするにチェックがあるのでrequiredがtrueに
- こちらはラジオボタンの例になります。
typeがRADIO_BUTTONなのでラジオボタンフィールドだとわかります。
ラジオボタンの場合はoptionsに項目と順番が入るようになっています。
- ★14分
- ★14分半
アプリの説明
- ★17分
kintoneはエコシステム
kintoneだけですべてをまかなうのではなく、様々なサービスと連携できるようになっており、そのサービス数もどんどん増えています。
帳票サービスだけでもたくさんあり、ここに掲載しているのは一部になります。
今回はWingArc1st株式会社のSVF Cloud for kintoneを利用させていただきました。