kintone tips

kintoneをより使いこなすための情報を提供するサイトです。

デザイン

REST API

レコードの追加(1件)

kintone REST APIを使用して、レコードを1件追加する方法を紹介します。Node.jsやGASでのサンプルコードも掲載しています。

レコードの追加(複数件)

kintone REST APIを使用して、レコードを複数件追加する方法を紹介します。Node.jsやGASでのサンプルコードも掲載しています。

APIトークンと認証

kintone REST API の認証方法(API トークン認証・パスワード認証・セッション認証)の仕組みと使い分けを解説します。API トークンの発行手順、複数トークンの運用、セキュリティ上の注意点、外部サービスとの連携時の認証設定まで

アプリ設定API

kintone REST API を使ってアプリの設定を取得・変更する方法を解説します。フィールドの追加・削除、フォームレイアウトの変更、アプリのデプロイまで、プログラムからアプリ設定を操作する方法を紹介します。

bulkRequest

kintone REST API の bulkRequest を使って、複数のAPI操作を1回のリクエストでまとめて実行する方法を解説します。トランザクション的な一括処理、アプリ間のデータ同期、デリートインサートの安全な実装方法を紹介します

コメントAPI

kintone のレコードコメント API を使って、コメントの追加・取得・削除を行う方法を解説します。メンション機能の活用方法やページング取得のパターンも紹介します。

カーソルAPI

kintone のカーソル API を使って 10,000 件を超える大量レコードを安全に取得する方法を解説します。カーソルの作成・取得・削除の基本操作から、全件取得の汎用関数、運用上の注意点まで紹介します。

レコードのデリートインサート

APIを使ってレコードを更新したい場合、基本的にはPUT APIを使用します。ただ、仕様や安全性を考慮し、一定条件のレコードを全て削除したうえで、レコードを再生成しなければならない状況も起こりえます。今回はそういった場合のコードサンプルを紹

ファイルのアップロード・ダウンロード

kintone REST API を使って添付ファイルのアップロード・ダウンロードを行う方法を解説します。ファイルキーの取得、Blob を使ったダウンロード、JavaScript からのファイル添付レコード登録まで紹介します。

フォーム設定から特定のフィールドを取り出す

kintoneではAPIを使用して、指定したアプリの各フィールド情報を取得することができます。ただ、このAPIのリクエストパラメーターはアプリIDと言語の設定しかできず、指定したアプリのすべてのフィールドが取得されます。レコードIDや作成日

プラグイン開発

JavaScript API

条件付き書式(行の色分け)

kintone の一覧画面(レコード一覧)で、フィールドの値に応じて行の背景色やテキストの色を動的に変更する条件付き書式の実装方法を、JavaScript/CSS を使ったサンプルコード付きで解説します。

確認ダイアログの実装

kintone のレコード操作前に確認ダイアログを表示する方法や、処理完了後にカスタム通知(トースト)を表示する方法を JavaScript で実装する手順をサンプルコード付きで解説します。

アプリ間のデータ連携

kintone の複数アプリ間でデータを連携する方法を解説します。REST API を使ったレコードのコピー、マスターアプリからのデータ参照、アプリ間の集計、レコード保存時の自動同期など、実務で頻出するパターンを紹介します。

カスタムビュー

kintone のカスタムビュー(カスタマイズビュー)を使って、独自の HTML と JavaScript でレコード一覧を自由にカスタマイズする方法を解説します。カード型レイアウト、集計ダッシュボード、カレンダー表示などの実装例を紹介しま

日付・日時フィールドの処理

kintone の日付(DATE)、時刻(TIME)、日時(DATETIME)フィールドを JavaScript で操作する方法を解説します。フォーマットの違い、タイムゾーンの考慮、日付計算、期間の判定など実践的なパターンを紹介します。

フィールド値の変更イベント

kintone JavaScript カスタマイズにおけるフィールド値変更イベント(app.record.create.change.フィールドコード)の使い方を解説します。ドロップダウン・ラジオボタン・チェックボックスなどの変更を検知し、

フィールドの入力制限・可否の変更

アプリの各フィールドの入力可否を操作する方法を解説します。ルックアップと関連付けたフィールドは入力不可になりますが、今回紹介する方法で手入力可能にできます。再度ルックアップを取得したタイミングや、データの取り込みを行ったタイミングで手入力部

フィールドの表示/非表示

kintone JavaScript カスタマイズで、フィールドの表示・非表示を動的に切り替える方法を解説します。setFieldShown を使った基本的な使い方から、条件に応じた制御、グループフィールドやテーブルとの組み合わせまで紹介し

フィールドの値を文字列として取得

kintoneではREST APIを使ってレコード情報を取得することができますが、各フィールドが持つ値はフィールドタイプによって異なります。

サンプル - レコードIDを取得する

現在編集中、もしくは表示中のレコード情報を取得し処理を実行するようなシナリオは、kintone の JavaScript カスタマイズでよくあるケースです。このページでは、現在表示しているレコードのレコード ID を取得する方法をご紹介しま

外部連携

Chatwork - メッセージの送信

引数に各パラメータを設定することで利用できます。返り値が Promise オブジェクトなので、送信を確認してから処理したい場合は以下のような記述が必要です。今回はメッセージを送りたいだけなので、POST を使用します。

Chatwork - ユーザー一覧の取得

API トークンを発行したユーザのコンタクトとなっているユーザ一覧を取得します。kintone.proxy の返り値は Promise オブジェクトなので、then、catch の中のコードは非同期で処理されます。上記のコードの下に、取得後

Google Apps Script 連携

Google Apps Script(GAS)から kintone REST API を呼び出してデータを取得・登録・更新する方法を解説します。Google スプレッドシートとの双方向同期、認証の設定、ページネーション対応まで紹介します。

Slack - 通知の送信

kintone の JavaScript カスタマイズから Slack に通知を送る方法を解説します。Incoming Webhook を使った基本的な通知の送信から、レコード情報を含むリッチな通知、レコード保存時の自動通知まで紹介します。

Microsoft Teams 通知

kintone から Microsoft Teams に通知を送信する方法を解説します。Incoming Webhook を使ったシンプルな通知から、Adaptive Card を使ったリッチ通知、レコード保存時の自動通知まで紹介します。

Webhook

kintone の Webhook 機能を使って、レコードの追加・更新・削除やステータス変更時に外部サービスへ自動通知する仕組みを解説します。Webhook の設定手順、受信側の実装例、セキュリティの考慮点まで紹介します。

kintoneカスタマイズ入門

サンプル集 - app.record.edit.show

kintoneのJavaScriptカスタマイズについての情報は多く存在しますが、「じゃあ、結局やりたいことを実現させるためにはどうすればいいの?」という問題を簡単に解決することが難しいように感じました。今回はいくつかのサンプルコードを使っ

サンプル集 - app.record.index.show

kintoneのJavaScriptカスタマイズについての情報は多く存在しますが、「じゃあ、結局やりたいことを実現させるためにはどうすればいいの?」という問題を簡単に解決することが難しいように感じました。今回はいくつかのサンプルコードを使っ

非同期処理(async/await)

JavaScriptカスタマイズを行う上でよく利用する非同期処理を実装する方法と、実装する上での注意点を紹介します。kintone.events.onに登録した関数は引数として受け取ったeventを最終的にreturnします。この関数を非同

CSSカスタマイズの基本

kintone の CSS カスタマイズの基本を解説します。フィールドやヘッダーの見た目を変更する方法から、条件に応じた行の背景色変更、フィールドの非表示、レスポンシブ対応まで幅広く紹介します。

デバッグとトラブルシューティング

kintone の JavaScript カスタマイズにおけるデバッグ手法を体系的に解説します。Chrome DevTools の活用、console メソッド、ブレークポイント、ネットワークタブによる API 通信の確認、よくあるエラーと

エラーハンドリング

JavaScriptはその柔軟性から、エラーにならない工夫が容易です。必要となって変数を定義したんであれば、うまく取得できない場合はエラーを出力するべきです。今回はkintoneのJavascriptカスタマイズにおけるエラー処理についてお

kintone.events.onを効率化する

kintoneカスタマイズを行う際、必ずと言っていいほど記述するコードは何でしょうか?kintoneが独自に用意する関数やプロパティはいろいろありますが、kintone.events.onは誰しもが頻繁に使用されていると思います。1つのアプ

全体の構造とevents.on

実用的なサンプルを交えながら、kintoneにおけるJavaScriptカスタマイズの使い方を紹介します。基本的なプログラムの構造から、スペースフィールドにボタンを設置する方法までを解説しています。

グローバル変数

kintoneではグローバル変数・定数は基本的に使用禁止です。ただやむを得ず使用したい場合の対処法がガイドラインに定義されています。その定義方法・パターンをいくつか紹介します。

利用しているデバイスの判定

PC版とスマートフォン版、1つのアプリでできれば同じJavaScriptファイルを使いたいですよね。kintoneについてはURLも発生イベントもデバイスによって異なりますし、全く同じコードを使用することはできません。リソースを共有するため

Tips

APIのバックドア

kintoneでAPIを使用する際、認証方法としてアカウントID、パスワードを使用するか、APIトークンを使用するかを選択することができます。を利用した場合、各アプリへのアクセス権限は、そのアカウントに対する設定に依存します。そのためAPI

定数定義

定数定義は本当に様々な方法で実装可能なため、どのように実装するのがベストなのか、今でもよく悩むところです。今回は、僕が実際に採用してうまくいった方法を紹介したいと思います。

レコード一覧・詳細画面にボタンを設置するサンプル

kintoneカスタマイズを行う際によく使われる、レコード一覧・詳細画面にボタンを設置する方法を紹介します。

フィールドコードの命名

kintoneで作成できるアプリには様々なフィールドが存在し、その全てにフィールド名とフィールドコードを割り振る必要があります。フィールド名は主にユーザーが見える部分に、フィールドコードは主にアプリ管理者およびJavaScriptで参照する

ダウンロード機能の実装

僕がkintone上でアプリを開発する上で最もよく聞いた意見が、「ダウンロード(CSV出力)が使いづらい」でした。煩雑なダウンロード機能を解決するため、独自で簡単にダウンロード機能を実装する方法をご紹介します。

1文字単位での検索

また、kintoneのフィールド検索には制約があり、日本語であれば2文字以上、アルファベットと数字は単語単位でしか検索ができません。そのため今回は、この問題を解決することができる、僕が開発したプラグインの紹介します。オープンソースで公開して

Webフォントの適用

kintoneの初期状態のフォントは、2021年時点ではメイリオとなっており、これを変更する機能はありません。また、サイボウズはCDNを提供していますが、対象はJavaScriptのライブラリとアイコンフォントのみで、通常のフォントは提供さ

IE廃止の影響

今までChromeがIEのシェアを超えても、EdgeのレンダリングエンジンがChroniumになっても、日本においてIEユーザーは根強く一定割合残り続けていました。そのIEユーザーに対応するため、便利な新しい機能を使えず苦労された開発者の方

もっと読む