警告
このツールは、現在推奨されていません。
新しく公開されている
kintone Java Client を利用してください。
はじめに
2018 年 12 月にリリースされた、「kintone Java SDK」について紹介します。
今回リリースされた「kintone Java SDK」を使うことで Java でバッチプログラムやモバイルアプリ作成する際に簡単に REST API を実行できます。
すでに公開されている「
kintone API SDK(β) for Java
」とは別の新しいライブラリとなっています。
また、「kintone Java SDK」は以前リリースした「kintone Node.js SDK」や同時期にリリースされている「
kintone iOS SDK
」と同じ設計思想で設計、実装されています。
そのため、言語による違いは存在しますが、認証やコネクション、クラス、メソッドなど各所で同様に宣言できます。
GitHub
https://github.com/kintone-labs/kintone-java-sdk
ドキュメント
https://kintone-labs.github.io/kintone-java-sdk/latest/
今回は、kintone Java SDK の導入方法と実行を、サンプルを用いて説明します。
開発は Eclipse で行います。実行できる環境でお試しください。
Eclipse
https://www.eclipse.org/downloads/
ご注意事項
- ソースコードの変更および再配布、商用利用等はライセンスにしたがってご利用可能です。
導入方法
インストール
「kintone Java SDK」はライブラリのインストールを Apache maven を利用して行えます。
また eclipse での maven 利用には M2Eclipse というプラグインを利用しています。
Apache maven および M2Eclipse のインストールについては公式サイトを参考にご⾃⾝で設定してください。
maven および M2Eclipse のインストールが完了したら以下の手順にしたがって、maven プロジェクトを作成し kintone Java SDK を読み込みます。
-
~\apache-maven-3.5.0\conf
配下にある「setting.xml」に以下を追加1 2
//ローカルリポジトリ設定 <localRepository>C:/apache-maven-3.5.0/repository\</localRepository>
-
Eclipse で Maven プロジェクトを作成
-
Eclipse の「ファイル > 新規 > Maven プロジェクト」を選択
-
グループ Id に任意の値を、アーティファクト Id に「Sample_project」と入力しそれ以外はデフォルトの値で完了ボタンを押下
-
任意のパッケージ内に「SampleMain.java」というメインクラスを作成
-
-
setting.xml の読み込み
-
Eclipse の「ウインドウ > 設定」をクリックし「Maven > ユーザー設定」を選択
-
「ユーザー設定」に 1 で設定した「setting.xml」を選択し、「適用して閉じる」を押下
-
-
2 で作成したプロジェクト内に配置された pom.xml を編集
- pom.xml の
<dependencies>
タグ内に以下の内容を追加-
groupId、artifactId の値は固定となります。
-
version の値は今後のアップデートに合わせて適宜変更可能となる予定です。
1 2 3 4 5
<dependency> <groupId>com.cybozu.kintone</groupId> <artifactId>kintone-sdk</artifactId> <version>0.2.0</version> </dependency>
-
- pom.xml の
-
2 で作成したプロジェクトを右クリックし「実行 > Maven install」を選択
-
2 で作成したプロジェクトを右クリックし「Maven > プロジェクトの更新」を選択
サンプル
ドキュメントの Quickstart にも掲載されている簡単なサンプルコードを用いて、実行方法とレスポンスについて説明していきます。
サンプルコードでは、kintone アプリからレコードを 1 件取得する機能を実装しています。
準備として、kintone アプリを作成し、下表をもとにフィールド追加、API トークン(必要なアクセス権=閲覧)を作成してください。
フィールドタイプ | フィールドコード |
---|---|
文字列 (1行) | text |
サンプルコード(ファイル名:SampleMain.java)
次のサンプルコードをコピーし、「sample_project」内の「SampleMain.java」を書き換えてください。
API トークン、認証情報、サブドメイン、アプリ ID はご自身の環境に合わせて書き換えてください。
|
|
実行
Eclipse 上で作成したコードを右クリックし「デバック > 2 Java アプリケーション」を選択してください。
レスポンスの例
リクエストが成功すると、次のようなレスポンスが返ってきます。
サンプルコード解説
Authentication
サンプルコード 25〜29 行目についての解説です。
この部分では、kintone に接続するための、認証方法について定義します。
|
|
Authentication クラスがあり、パスワード認証、API トークン認証、Basic 認証を設定できます。
認証の優先度は以下のとおりです。
参考:
認証の優先順位
- パスワード認証
- API トークン認証
セッション認証は kintone Java SDK では実装できません。
パスワード認証
|
|
APIトークン認証
|
|
Basic認証
|
|
Connection
31〜33 行目の Connection クラスでは、接続について設定できます。
接続先のドメイン情報と、先ほど作成した認証情報を使って kintone 環境に接続します。
|
|
|
|
Record
最後に、38〜50 行目についてです。
|
|
この部分は、実際に kintone の REST API を実行する処理です。
サンプルでは、レコードを 1 件取得するために、Record クラスの getRecord 関数を使用しています。
getRecord(appID, recordID)
パラメーターは次のとおりです。
名称 | データタイプ | 必須 | 説明 |
---|---|---|---|
appID | Integer | 〇 | アプリ ID |
recordID | Integer | 〇 | レコード番号 |
Record クラスには、後述のとおり、レコード 1 件取得以外にも、さまざまな関数が用意されています。
その他の機能について
Record クラス
先ほどのサンプルコードで使用した関数が定義されているクラスです。
アプリのレコードに対し、取得、登録、更新、削除、ステータスの変更をする関数や、コメントの取得、登録、削除をする関数が実装されています。
実装されている関数の例として、次の関数が実装されています。
- getRecord
- getRecords
- addRecord
- addRecords
- updateRecords
- deleteRecords
- updateRecordStatus
- getComments
- addComment
- deleteComment
他にもさまざまな関数が用意されています。
詳細はドキュメントを確認してください。
Record クラスについて
https://kintone-labs.github.io/kintone-java-sdk/latest/reference/record/
BulkRequest クラス
複数のアプリに対して、同時に複数の API をリクエストできます。
BulkRequest で使用できる関数は次のドキュメントを確認してください。
BulkRequest クラスについて
https://kintone-labs.github.io/kintone-java-sdk/latest/reference/bulk-request/
また、BulkRequest を実行する際は次のことに注意してください。
- BulkRequest を実行し、レスポンスを取得する際は、 execute 関数を実行する。
- 一度に実行できる関数は、excecute 関数を抜き、20 個まで。
BulkRequest サンプル
|
|
App クラス
アプリの情報を取得する関数が定義されているクラスです。
アプリの閲覧権限が必要です。
実装されている関数については次のドキュメントを確認してください。
Appクラスについて
https://kintone-labs.github.io/kintone-java-sdk/latest/reference/app/
App サンプル
|
|
型について
kintone Java SDK では、各 API のレスポンスに独自の型を利用しています。
それぞれコンストラクタや利用できるメソッドが違うのでリファレンスをよく確認して利用してください。
https://kintone-labs.github.io/kintone-java-sdk/latest/reference/model/app/app/app-model/
おわりに
Java を利用したバッチプログラムやモバイルアプリの開発において、kintone REST API を実行しやすくなりました。
この機会に kintone Java SDK をご活用ください。
この Tips は、2019 年 2 月版 kintone で動作を確認しています。