警告
このツールは、現在推奨されていません。
新しく公開されている
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で動作を確認しています。