SlideShare a Scribd company logo
1 of 41
kintone API
7月 アップデート情報
2015/8/29
サイボウズ株式会社
竹内 能彦
kintone Café 福岡 Vol.6
自己紹介
名前: 竹内 能彦(たけうち よしひこ)
年齢: 32歳
出身: 香川県坂出市
経歴: 2014年 サイボウズ株式会社 中途入社
所属: システムコンサルティング本部 関西SCグループ(新大阪勤務)
kintone Café 福岡 Vol.6
サイボウズの製品
kintone Café 福岡 Vol.6
Garoon と Googleカレンダー連携
• GaroonのスケジュールをGoogleカレンダーに反映
kintone Café 福岡 Vol.6
Garoon と Googleカレンダー連携の公開場所
kintone Café 福岡 Vol.6
Garoon と Googleカレンダー連携の公開場所
kintone Café 福岡 Vol.6
Garoon と Googleカレンダー連携の公開場所
kintone Café 福岡 Vol.6
Garoon と Googleカレンダー連携の公開場所
kintone Café 福岡 Vol.6
拡大
kintone Café 福岡 Vol.6
developer networkのコミュニケーション
kintone Café 福岡 Vol.6
目次
• kintone API 7月のアップデート情報
• ステータス更新API + デモ
• デプロイAPI + デモ
kintone API 7月のアップデート情報
kintone Café 福岡 Vol.6
JavaScript API
• Promise対応
kintoneのリクエスト系APIは全て非同期
=> 同期リクエストが必要な場合はXMLHttpRequestを利用
=> XMLHttpRequestを使わなくて良くなる
• テーブルの行追加・削除ボタンクリック時のイベント取得
• 分かりにくいエラーメッセージを修正
• 不具合改修
kintone Café 福岡 Vol.6
JavaScript API
• Promise対応
kintoneのリクエスト系APIは全て非同期
=> 同期リクエストが必要な場合はXMLHttpRequestを利用
=> XMLHttpRequestを使わなくて良くなる
• テーブルの行追加・削除ボタンクリック時のイベント取得
• 分かりにくいエラーメッセージを修正
• 不具合改修
地味な改修に見えてかなり有り難い
ドツボにはまるということが少なくなりそう・・・
kintone Café 福岡 Vol.6
REST API
• レコードのステータスを更新するAPI
• アプリをデプロイするAPI
• 日付のフォーマット仕様変更
• リクエストヘッダーにX-HTTP-Method-Overrideを指定
• 分かりにくいエラーメッセージを修正
• 不具合改修
kintone Café 福岡 Vol.6
REST API
• レコードのステータスを更新するAPI
• アプリをデプロイするAPI
• 日付のフォーマット仕様変更
• リクエストヘッダーにX-HTTP-Method-Overrideを指定
• 分かりにくいエラーメッセージを修正
• 不具合改修
今回はこの2つのAPIについて詳しく説明
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
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を指定
• 分かりにくいエラーメッセージを修正
• 不具合改修
ステータス更新API
kintone Café 福岡 Vol.6
kintoneのプロセス管理
• 複数のユーザーでレコードの編集や確認をするためのプロセス(ワークフロー)を設定できます。
• 各レコードのステータス(処理状況)が表示されるようになります。
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
• レスポンス
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にはアクション名を指定
kintone Café 福岡 Vol.6
アクション名とは・・・
• 詳細画面
• 設定画面
kintone Café 福岡 Vol.6
ステータス更新APIの注意事項
例えば・・・
バッチ処理で特定期間経過後に
一括承認/却下したい場合
API TOKENでは実行できない
• ユーザー認証でAPIを実行する場合、次の2つの条件にあてはまるレコードでAPIを実行できます。
• APIの実行ユーザーがレコードの閲覧権限を持つ
• レコードに作業者が指定されていない、または、APIの実行ユーザーがレコードの作業者に指定されている
• APIトークンでAPIを実行する場合、次の2つの条件にあてはまる場合にAPIを実行できます。
• レコードの閲覧を許可したAPIトークンを使用する
• レコードに作業者が指定されていない、または、「Administrator」がレコードの作業者に指定されている
デモ①
- ステータスの一括更新 -
デプロイAPI
kintone Café 福岡 Vol.6
新規追加、機能追加されたREST API
• アプリの作成と設定変更
• アプリ設定の運用環境への反映
• アプリの設定情報の取得/変更
• 一般設定
• フォーム設定
• 一覧設定
• アクセス権設定(アプリ、レコード、フィールド)
• JavaScript / CSSカスタマイズ設定
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タグも含まれる
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は使えない
kintone Café 福岡 Vol.6
例)日付フィールドの設定取得
• フィールドの設定 • レスポンス
kintone Café 福岡 Vol.6
例)ラジオボタンフィールドの設定取得
• フィールドの設定 • レスポンス
デモ
kintone Café 福岡 Vol.6
kintoneはファストシステム
• すぐ作れる
• すぐ使える
• 変更も簡単
kintone Café 福岡 Vol.6
案件での対応は・・・
• 要件を確認
• 仕様を考えて
• アプリを作って
• 使ってみて
• 修正して
kintone Café 福岡 Vol.6
案件での対応は・・・
• 要件を確認
• 仕様を考えて
• アプリを作って
• 使ってみて
• 修正して
とっても順調!
楽しい!
kintone Café 福岡 Vol.6
ですが・・・
• 検収には仕様書が必要な場合も・・・
面倒
kintone Café 福岡 Vol.6
ですが・・・
• 検収には仕様書が必要な場合も・・・
アプリから仕様書
が作れないかなー
デモ②
- アプリ設計情報をPDFに -
kintone Café 福岡 Vol.6
帳票サービス
・プリントクリエイター
・SVF Cloud for kintone
・OPROARTS Connector for kintone
・ReportsConnect for kintone
・kintone 楽々帳票
・Excel – kintone 連携
kintone Café 福岡 Vol.6
連携サービスのTips
kintone Café 福岡 Vol.6
まとめ
• 7月のアップデートでは開発者にとって嬉しい機能が多数追加
• kintoneではアプリの仕様書まで自身で作成
• 是非皆さんも使ってみてください

More Related Content

Similar to kintone café 福岡 vol6 第1部 7月 API情報

Similar to kintone café 福岡 vol6 第1部 7月 API情報 (12)

kintone Café 東京 Vol.4 ハンズオン資料(kintone & AWS API Gateway/Lambda/Machine Learning)
kintone Café 東京 Vol.4 ハンズオン資料(kintone & AWS API Gateway/Lambda/Machine Learning)kintone Café 東京 Vol.4 ハンズオン資料(kintone & AWS API Gateway/Lambda/Machine Learning)
kintone Café 東京 Vol.4 ハンズオン資料(kintone & AWS API Gateway/Lambda/Machine Learning)
 
kintone Café 東京 Vol.4 ハンズオン資料(kintone & AWS API Gateway/Lambda/Machine Learning)
kintone Café 東京 Vol.4 ハンズオン資料(kintone & AWS API Gateway/Lambda/Machine Learning)kintone Café 東京 Vol.4 ハンズオン資料(kintone & AWS API Gateway/Lambda/Machine Learning)
kintone Café 東京 Vol.4 ハンズオン資料(kintone & AWS API Gateway/Lambda/Machine Learning)
 
Can we live in a pure Swift world?
Can we live in a pure Swift world?Can we live in a pure Swift world?
Can we live in a pure Swift world?
 
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
 
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
kintoneで実践するIoTハンズオン -90分で挑戦!kintone & AWS IoT連携-
 
【kintone café京都#1】kintoneの拡張機能
【kintone café京都#1】kintoneの拡張機能【kintone café京都#1】kintoneの拡張機能
【kintone café京都#1】kintoneの拡張機能
 
APIで広がるkintoneの世界
APIで広がるkintoneの世界APIで広がるkintoneの世界
APIで広がるkintoneの世界
 
ajn13 MixiXmas2010
ajn13 MixiXmas2010ajn13 MixiXmas2010
ajn13 MixiXmas2010
 
kintoneハンズオン♪
kintoneハンズオン♪kintoneハンズオン♪
kintoneハンズオン♪
 
kintone Café 福岡 Vol.2(kintone REST API・Excel連携)
kintone Café 福岡 Vol.2(kintone REST API・Excel連携)kintone Café 福岡 Vol.2(kintone REST API・Excel連携)
kintone Café 福岡 Vol.2(kintone REST API・Excel連携)
 
Knockout を用いた Firefox OS アプリケーションの開発
Knockout を用いた Firefox OS アプリケーションの開発Knockout を用いた Firefox OS アプリケーションの開発
Knockout を用いた Firefox OS アプリケーションの開発
 
kintoneアプリをjavascriptでいじってみよう
kintoneアプリをjavascriptでいじってみようkintoneアプリをjavascriptでいじってみよう
kintoneアプリをjavascriptでいじってみよう
 

kintone café 福岡 vol6 第1部 7月 API情報

  • 2. kintone Café 福岡 Vol.6 自己紹介 名前: 竹内 能彦(たけうち よしひこ) 年齢: 32歳 出身: 香川県坂出市 経歴: 2014年 サイボウズ株式会社 中途入社 所属: システムコンサルティング本部 関西SCグループ(新大阪勤務)
  • 3. kintone Café 福岡 Vol.6 サイボウズの製品
  • 4. kintone Café 福岡 Vol.6 Garoon と Googleカレンダー連携 • GaroonのスケジュールをGoogleカレンダーに反映
  • 5. kintone Café 福岡 Vol.6 Garoon と Googleカレンダー連携の公開場所
  • 6. kintone Café 福岡 Vol.6 Garoon と Googleカレンダー連携の公開場所
  • 7. kintone Café 福岡 Vol.6 Garoon と Googleカレンダー連携の公開場所
  • 8. kintone Café 福岡 Vol.6 Garoon と Googleカレンダー連携の公開場所
  • 9. kintone Café 福岡 Vol.6 拡大
  • 10. kintone Café 福岡 Vol.6 developer networkのコミュニケーション
  • 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にはアクション名を指定
  • 23. kintone Café 福岡 Vol.6 アクション名とは・・・ • 詳細画面 • 設定画面
  • 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は使えない
  • 30. kintone Café 福岡 Vol.6 例)日付フィールドの設定取得 • フィールドの設定 • レスポンス
  • 31. kintone Café 福岡 Vol.6 例)ラジオボタンフィールドの設定取得 • フィールドの設定 • レスポンス
  • 33. kintone Café 福岡 Vol.6 kintoneはファストシステム • すぐ作れる • すぐ使える • 変更も簡単
  • 34. kintone Café 福岡 Vol.6 案件での対応は・・・ • 要件を確認 • 仕様を考えて • アプリを作って • 使ってみて • 修正して
  • 35. kintone Café 福岡 Vol.6 案件での対応は・・・ • 要件を確認 • 仕様を考えて • アプリを作って • 使ってみて • 修正して とっても順調! 楽しい!
  • 36. kintone Café 福岡 Vol.6 ですが・・・ • 検収には仕様書が必要な場合も・・・ 面倒
  • 37. kintone Café 福岡 Vol.6 ですが・・・ • 検収には仕様書が必要な場合も・・・ アプリから仕様書 が作れないかなー
  • 39. kintone Café 福岡 Vol.6 帳票サービス ・プリントクリエイター ・SVF Cloud for kintone ・OPROARTS Connector for kintone ・ReportsConnect for kintone ・kintone 楽々帳票 ・Excel – kintone 連携
  • 40. kintone Café 福岡 Vol.6 連携サービスのTips
  • 41. kintone Café 福岡 Vol.6 まとめ • 7月のアップデートでは開発者にとって嬉しい機能が多数追加 • kintoneではアプリの仕様書まで自身で作成 • 是非皆さんも使ってみてください

Editor's Notes

  1. 簡単に私の仕事について説明します。 サイボウズではkintoneだけでなく、GaroonやOfficeといったグループウェアも取り扱っている 私はkintoneだけでなく、ガルーンにも携わっています。
  2. 最近、GaroonとGoogleカレンダーとを連携させるスクリプトを書きました。 Googleカレンダーは便利ですよね。 他の人と予定を共有したり、他の人の予定を自分の予定と一緒に表示したりできます。 そこにGaroonの予定も表示できたら素敵だなと思って作成しました。 黄色がガルーンの予定で紫がGoogleカレンダーの予定
  3. で、この連携スクリプトですがdeveloper networkに公開しています。 場所がわかりづらいので説明しておきますね。
  4. developer network はkintone押しなのでGaroonの扱いがひどい 編集者がミーハーなのでIoT、Pepperくん押しです。
  5. 不具合修正が3回もありますが、気にしてはいけません。 更新頻度が高いと前向きに捉えてください。
  6. 後ろの席の方が見えないかもしれないので拡大しておきました。 以上です。
  7. developer networkの記事には下にコメントを記入する欄があります。 例えばですが、この記事のこのあたりわかりづらいなぁという意見をコメントいただければ より良い記事作成につながりますので、是非気軽にコメントいただければと思います。 ちなみに私は褒められて伸びるタイプなので「○○直してください」だと良くないですね。 「●●便利ですね!でもここがこうなればもっと良くなるのになぁ」みたいな内容でいただけると助かります。
  8. ★4分 それでは本題に入ります。 kintone API 7月のアップデート情報についてさらっと説明して その中のステータス更新API、デプロイAPIについては少し詳しく説明してデモも行います。
  9. GETの場合、リクエストボディが利用できないのでURIにつらつらと書くことになります。 このURIが長いとエラーになっていたのがMethod-Overrideを指定することで回避できるようになります。 具体的にはGETではなくPOSTを指定して X-HTTP-Method-OverrideにGETを指定します。 これによりリクエストボディを利用しつつGETのリクエストが可能になります。
  10. ★6分 次はステータス更新APIについての説明とデモになります。
  11. まずはkintoneのプロセス管理について説明します。 プロセス管理というと難しく聞こえますが、要はワークフローです。 例えばですが、交通費申請などで、申請する、問題ない場合は承認する、不備がある場合は差し戻すなどができるようになります。 で、この承認待ちや承認完了という処理状況をステータスと呼んでいます。 プロセス管理を利用するとこのステータスが詳細画面に表示されるようになります。
  12. ステータス更新のリクエストとレスポンスの例になります。 X-Cybozu-Authorization、Authorizationというのは認証情報ですね。 アプリのID、レコード番号、actionを投げて、成功するとこのようなレスポンスがあります。
  13. ★9分 ・アプリの説明  交通費の申請アプリで金額がある、プロセス管理は 一覧「一括承認」 1万円以下にフィルターして一括承認 2万円以下にフィルターして一括承認
  14. ★12分
  15. properties配下にフィールドコードがあります。 この場合はcreateDateがフィールドコードになります。 typeでフィールドの項目を判断できます。文字列1行とか、リストボックスとかの判断ですね。DATEの場合は日付になります。 フィールド名はlabelに 必須項目にするにチェックがあるのでrequiredがtrueに
  16. こちらはラジオボタンの例になります。 typeがRADIO_BUTTONなのでラジオボタンフィールドだとわかります。 ラジオボタンの場合はoptionsに項目と順番が入るようになっています。
  17. ★14分
  18. ★14分半 アプリの説明
  19. ★17分 kintoneはエコシステム kintoneだけですべてをまかなうのではなく、様々なサービスと連携できるようになっており、そのサービス数もどんどん増えています。 帳票サービスだけでもたくさんあり、ここに掲載しているのは一部になります。 今回はWingArc1st株式会社のSVF Cloud for kintoneを利用させていただきました。