apiを提供するあらゆるサービスの データをkintoneと同期する...
TRANSCRIPT
![Page 1: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/1.jpg)
2016年1月22日
ラフノート株式会社
代表 西小倉宏信
AP Iを提供するあらゆるサービスの データをk i n t o n eと同期する
R u b yG emを作ってソース公開した話 (コミッター募集)
![Page 2: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/2.jpg)
自己紹介
会社家庭
http://245cloud.com/
個人https://timecrowd.net/
@pandeiro245
#admin_night
![Page 3: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/3.jpg)
kintoneとの出会い(2015/12/18)
kintone cafe創始者の斎藤さんに デモを見せてもらって感動@北海道
![Page 4: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/4.jpg)
kintoneとの出会い(2015/12/18)
parse.com+クライアントJSだけで実装していた仕事効率化アプリが
kintone上でそのまま動いたw
![Page 5: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/5.jpg)
面白い!
![Page 6: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/6.jpg)
freeeのデータをkintoneに
https://github.com/pandeiro245/freee2kintone
freeeでOAuthログインして コンソールFreee.syncを実行するだけで
API経由にてデータ同期
![Page 7: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/7.jpg)
簡単にできた
![Page 8: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/8.jpg)
freee, Misoca, GitHub twitter, Facebook TimeCrowd, Ruffnote どれも標準化されたAPI仕様にそっているので
汎用的なものを作りたい
![Page 9: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/9.jpg)
つくりました
![Page 10: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/10.jpg)
kintoneAPIのレスポンスには 型(type)があるがJSON形式は
文字列か数字化ぐらいの区別しかない{ name: { value: ‘john’, type: ‘SINGLE_LINE_TEXT’ }, age: { value: 30, type: ‘NUMBER’ } }
{ name: ‘john’ age: 30 }
kintone 一般的なAPIが出力するJSON
![Page 11: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/11.jpg)
JSONレスポンスの型類推
※id系はNUMBERにしてしまうとtweet_idなどが 桁数足りなくなってしまうのでSINGLE_LINE_TEXT
![Page 12: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/12.jpg)
Freee::WalletTxn
![Page 13: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/13.jpg)
Github::Issue(87項目)
![Page 14: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/14.jpg)
ネスト構造は”_”で繋いでフラット化
[ { id: 1, title: ‘hoge’, user: { name: ‘john’, team_id: 3, } }, ]
id: 1, title: ‘hoge’, user_name: ‘john’, user_team_id: 3,
![Page 15: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/15.jpg)
Github::Issue
![Page 16: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/16.jpg)
freee
![Page 17: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/17.jpg)
Github
![Page 18: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/18.jpg)
![Page 19: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/19.jpg)
![Page 20: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/20.jpg)
副産物
![Page 21: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/21.jpg)
Migrationしたい
できない?
![Page 22: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/22.jpg)
Migrationできるように1.「status」(ドロップダウン)を「_status」に名前変更 2.「status」(ラジオボックス)を作成 3. 「_status」の値が入っているレコードを全件取得し、 それぞれの「status」レコードに同じ値を入れる 4.「_status」を削除
![Page 23: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/23.jpg)
Migrationできるように
![Page 24: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/24.jpg)
KintonePortalスペースにはできない(理解でいる) ことを解決するためのカスタマイズJS
・表を10件以上表示したい ・ドロップダウンは編集ボタンを押さずして表示状態から切り替えたい
![Page 25: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/25.jpg)
KintonePortal
![Page 26: APIを提供するあらゆるサービスの データをkintoneと同期する RubyGemを作ってソース公開した話 (コミッター募集) 2016 01-22 kintone cafe東京](https://reader034.vdocuments.site/reader034/viewer/2022052308/5873be281a28abbc788b5e39/html5/thumbnails/26.jpg)
ご清聴ありがとうございました!
KintonePortal スペースにアプリを埋め込んだだけではできないことを
実現するためのカスタマイズJavaScript https://github.com/pandeiro245/kintone_portal
KintoneSync APIを提供する色んなサービスのデータを
kintoneと同期するRubyGem https://github.com/pandeiro245/kintone_sync
連絡:[email protected] 西小倉