Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2024年のkintone API振り返りと2025年 / kintone API look ...

tasshi
January 25, 2025

2024年のkintone API振り返りと2025年 / kintone API look back in 2024

devkin meetup! Vol.4 【リアル新年会】in 大阪 のLT資料です。
イベント情報はこちら↓
https://devkin.connpass.com/event/339925/

tasshi

January 25, 2025
Tweet

More Decks by tasshi

Other Decks in Programming

Transcript

  1. 2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 はじめに 田代 雅治 (@tasshi_me) •

    サイボウズ株式会社 • 2020 新卒入社 • 2021-24 kintone DXチーム • 2022-23 フロントエンド刷新PJ • 2024- kintone拡張基盤 チーム EM kintone DXデザイン チーム • 好きなもの • 自転車 • ゲーム • ロック 自己紹介 2
  2. 2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のまとめ 30本以上のAPIがリリースされました • REST API:

    26本(内、正式リリース21本) • JS API: 9本(内、正式リリース1本) 大きな変化 • APIラボの新設 • ワイドAPIの新設 • API・開発者ツール関連チームの再編成 2024年の主な変化 5
  3. 2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のまとめ APIラボ(開発中の新機能) • 開発検討中のAPIを公開 •

    アップデートオプションから有効化して利用 • フィードバックを参考に仕様改善しつつ正式リリースへ ワイドAPI • ワイドコース契約環境でのみ利用可能 • ガバナンス強化に役立つAPIなどが提供されている APIラボ・ワイドAPIの新設 6
  4. 2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のまとめ API・開発者ツール関連チームの再編成 – 旧体制 7

    kintone Webサービス本体 プラグイン 基盤 kintone新機能開発チーム kintone DXチーム 開発者向けクライアントツールを担当 kintoneの新機能の開発を担当 公開API クライアントツール 開発者向けツール - js-sdk 管理者向けツール - cli-kintone アプリ スペース レコード etc. APIとクライアントツールで担当するチームが分かれていた
  5. 2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のまとめ API・開発者ツール関連チームの再編成 – 新体制 8

    クライアントツール kintone Webサービス本体 開発者向けツール - js-sdk - Java Client 管理者向けツール - cli-kintone 公開API 基盤 プラグイン基盤 DXデザイン 拡張基盤 プラグイン・連携サービスを 実現するための 手段の実装・成果物に オーナーシップを持つ プラグイン・連携サービスの 開発者体験に オーナーシップを持つ DXデザイン API+周辺ツールのデザイン API・周辺ツールの 社内開発の最適化 アプリ スペース レコード etc. 公開API API基盤・クライアントツールを統合的に体験設計・実装する体制へ ※新機能開発チームの配下へ統合
  6. 2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のAPIアップデート • アプリ系(13本) • レコード系(1本)

    • スペース系(4本) • プラグイン系(6本) • ワイドAPI(2本) • (+ OAuth対応API拡充) REST API 10
  7. 2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のAPIアップデート => アプリの自動構築やバックアップ/リストアに必要なアプリ設定の取得・更新APIが主に拡充された • アプリの一般設定を取得する(取得できる項目が増える)(GET

    /k/v1/app/settings.json) • アプリの一般設定を取得する(「レコード一覧でのインライン編集」の設定を取得できる) • アプリの一般設定を変更する(変更できる項目が増える)(PUT /k/v1/preview/app/settings.json) • アプリの一般設定を変更する(「レコード一覧でのインライン編集」の設定を変更できる) • アプリ管理者用メモを取得する(GET /k/v1/app/adminNotes.json) • アプリ管理者用メモを変更する(PUT /k/v1/preview/app/adminNotes.json) • カテゴリの設定情報を取得する(GET /k/v1/app/categories.json) • カテゴリの設定情報を変更する(PUT /k/v1/preview/app/categories.json) REST API – アプリ系 (1/2) 11
  8. 2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のAPIアップデート • アプリに追加されているプラグインの一覧を取得する(GET/k/v1/app/plugins.json) • アプリにプラグインを追加する(POST

    /k/v1/preview/app/plugins.json) • プラグインの設定情報を取得する(GET /k/v1/app/plugin/config.json) • プラグインの設定情報を変更する(PUT /k/v1/preview/app/plugin/config.json) • アプリの所属するスペースを変更する(POST /k/v1/app/move.json) REST API – アプリ系 (2/2) 12
  9. 2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のAPIアップデート • PUT records.jsonを拡張 •

    リクエストパラメーターに upsert (boolean)を追加 • id or updateKeyに指定されたレコードを参照 • 指定のレコードが存在する場合 => レコード更新 • 指定のレコードが存在しない場合 => レコード追加 • これまではAPI利用側でUPSERT処理を実装する必要があった • kintone上のレコードを全件取得 → ローカルのレコードを追加・更新に振り分け → 追加・更新APIを個別実行 • レコード全件取得を原因とするメモリ使用量の肥大化や実行時間の増加、リクエスト数増加が発生していた • 実装も複雑になっていた • cli-kintoneにも試験的に導入済み (>=v1.13.0) • --experimental-use-server-side-upsert フラグを指定で利用可能 【Pick up!!】複数のレコードを更新する(UPSERTモードを利用できる) 14
  10. 2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のAPIアップデート • スペースの情報を取得する(取得できる項目が増える)(GET /k/v1/space.json) •

    スペースの設定を変更する(PUT /k/v1/space.json) • スペースを作成する(POST /k/v1/space.json) • スペースのスレッドを作成する(POST /k/v1/space/thread.json) スペーステンプレートからスペースを作成するAPIは元々あった => APIからより柔軟にスペースを作成・変更できるように REST API – スペース系 15
  11. 2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のAPIアップデート • プラグインを読み込む(POST /k/v1/plugin.json) •

    プラグインを更新する(PUT /k/v1/plugin.json) • プラグインをアンインストールする(DELETE /k/v1/plugin.json) • インストール済みのプラグインの一覧を取得する(GET /k/v1/plugins.json) • インストールが必要なプラグインの一覧を取得する(GET /k/v1/plugins/required.json) • 対象のプラグインを追加しているアプリの一覧を取得する(GET /k/v1/plugin/apps.json) => プラグイン操作の自動化を実現可能に • システム管理者・導入担当者がプラグインの導入・更新・棚卸しを自動化 • プラグイン開発者がアップロードを自動化 • アプリ管理者がアプリに必要なプラグインの適用・変更を自動化 など REST API – プラグイン系 16
  12. 2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のAPIアップデート => 使用状況を取得するAPIを追加 • アプリの使用状況を取得する(GET

    /k/v1/apps/statistics.json) • スペースの使用状況を取得する(GET /k/v1/spaces/statistics.json) REST API – ワイドAPI 17
  13. 2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のAPIアップデート • OAuthクライアントで使用できるREST APIを増やす変更 •

    以下の2つのスコープで利用できるREST APIを拡充 • k:app_settings:read • k:app_settings:write • 2020年~で追加されたアプリ設定の取得/変更系のAPIが対象 • k:app_settings:read • グラフの設定を取得する(GET /k/v1/app/reports.json) • アプリの条件通知の設定を取得する(GET /k/v1/app/notifications/general.json) • レコードの条件通知の設定を取得する(GET /k/v1/app/notifications/perRecord.json) • リマインダーの条件通知の設定を取得する(GET /k/v1/app/notifications/reminder.json) • アプリのアクション設定を取得する(GET /k/v1/app/actions.json) • k:app_settings:write • グラフの設定を変更する(PUT /k/v1/preview/app/reports.json) • アプリの条件通知の設定を変更する(PUT /k/v1/preview/app/notifications/general.json) • レコードの条件通知の設定を変更する(PUT /k/v1/preview/app/notifications/perRecord.json) • リマインダーの条件通知の設定を変更する(PUT /k/v1/preview/app/notifications/reminder.json) • アプリのアクション設定を変更する(PUT /k/v1/preview/app/actions.json) REST API – OAuth 18
  14. 2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のAPIアップデート • 情報取得・設定系 • アプリのアイコンのURLを取得する(kintone.app.getIcons)

    • ログインユーザーのアプリに対するアクセス権を取得する(kintone.app.getPermissions) • ログインユーザーのレコードに対するアクセス権を取得する(kintone.app.record.getPermissions) • アプリ情報を取得する(kintone.app.get) • スペース情報を取得する(kintone.space.get) • (kintone.getLoginUser()のlanguageプロパティの仕様変更) • UI操作系 • サイドバーを表示する(kintone.app.record.showSideBar) • サイドバーを非表示にする(kintone.app.record.hideSideBar) • レコード追加ボタンの表示/非表示を変更する(kintone.app.setRecordAddButtonShown) • レコード編集ボタンの表示/非表示を変更する(kintone.app.record.setRecordEditButtonShown) JS API 19
  15. 2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 2024年のAPIアップデート • メソッド: kintone.app.getIcons(apps: string[])

    • 返り値: Array<{app: string, url: string}> これまでカスタマイズ上でアプリアイコンを表示するにはハック的手段が必要だった • アプリの一般設定を取得するAPIでアイコン情報が取得 • 設定値のバックアップに適した情報のためアイコン表示用途では使いにくい • icon.keyまたはicon.fileを取得→ファイルをダウンロードして別アプリに保存、もしくは埋め込み表示 • 非正規操作 => 新APIでは取得したアイコンURLをそのままimgタグに指定可能 • 注意:レスポンスのアイコンURLは保存せず、毎回取得してください • URLの形式は今後のアップデートで変わりうるため 【Pick up!!】アプリのアイコンのURLを取得する 20
  16. 2024年のkintone API振り返りと2025年- devkin meetup! Vol.4 おわりに • フィードバックの例 • APIラボで提供されている〇〇のAPIを早く本番利用したい

    • 〇〇の用途のために△△のようなAPIを提供してほしい • ユースケースやサンプルコードもあるとより参考になります! kintone APIの改善に協力をお願いします!! 23