cybozu developer network

カテゴリー内の他の記事

kintone Java SDK

このツールは、現在推奨されていません。新しく公開されている kintone Java Client を利用してください。

Index

はじめに

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

http://mergedoc.osdn.jp/

ご注意事項

  • ソースコードの変更および再配布、商用利用等はライセンスに従ってご利用可能です。

導入方法

インストール

「kintone Java SDK」はライブラリのインストールをApache mavenを利用して行えます。またeclipseでのmaven利用にはM2Eclipseというプラグインを利用しています。
Apache maven及びM2Eclipseのインストールについては公式サイトを参考にご⾃⾝で設定してください。
https://maven.apache.org/index.html

https://www.eclipse.org/m2e/

maven及びM2Eclipseのインストールが完了したら以下の手順に従って、mavenプロジェクトを作成しkintone Java SDKを読み込みます。

1.~\apache-maven-3.5.0\conf配下にある「setting.xml」に以下を追加

2.EclipseでMavenプロジェクトを作成

 - Eclipseの「ファイル > 新規 > Mavenプロジェクト」を選択

- グループIdに任意の値を、アーティファクト Idに「Sample_project」と入力しそれ以外はデフォルトの値で完了ボタンを押下

fixed.jpg

 - 任意のパッケージ内に「SampleMain.java」というメインクラスを作成

3.setting.xmlの読み込み

- Eclipseの「ウインドウ > 設定」をクリックし「Maven > ユーザー設定」を選択

- 「ユーザー設定」に1で設定した「setting.xml」を選択し、「適用して閉じる」を押下

mvn_settings.jpg

4.2で作成したプロジェクト内に配置されたpom.xmlを編集

 - pom.xmlの<dependencies>タグ内に以下の内容を追加

※1.groupId、artifactIdの値は固定となります

※2.versionの値は今後のアップデートに合わせて適宜変更可能となる予定です

5.2で作成したプロジェクトを右クリックし「 実行 > Maven install」を選択

6.2で作成したプロジェクトを右クリックし「 Maven > プロジェクトの更新」を選択

サンプル

ドキュメントのQuickstartにも掲載されている簡単なサンプルコードを用いて、実行方法とレスポンスについて説明していきます。
サンプルコードでは、kintoneアプリからレコードを1件取得する機能を実装しています。
準備として、kintoneアプリを作成し、下表をもとにフィールド追加、APIトークン(必要なアクセス権=閲覧)を作成してください。

フィールドタイプ フィールドコード
文字列 (1行) text

サンプルコード(ファイル名:SampleMain.java)

下記のサンプルコードをコピーし、「sample_project」内の「SampleMain.java」を書き換えてください。
APIトークン、認証情報、サブドメイン、アプリIDはご自身の環境に合わせて書き換えてください。

実行

Eclipse上で作成したコードを右クリックし「デバック>2 Javaアプリケーション」を選択して下さい。。

レスポンスの例

リクエストが成功すると、下記のようなレスポンスが返ってきます。

sdk_sample_____.PNG

 

サンプルコード解説

Authentication

サンプルコード18~23行目についての解説です。
この部分では、kintoneに接続するための、認証方法について定義します。

Authenticationクラスがあり、パスワード認証、APIトークン認証、Basic認証を設定できます。
認証の優先度は以下のとおりです。(参考:kintone REST APIの共通仕様
1.パスワード認証
2.APIトークン認証
※セッション認証はkintone Java SDKでは実装できません。

パスワード認証

APIトークン認証

Basic認証

Connection

25~27行目のConnectionクラスでは、接続について設定できます。
接続先のドメイン情報と、先ほど作成した認証情報を使ってkintone環境に接続します。

Record

最後に、32~44行目についてです。

この部分は、実際に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で確認したものになります。

記事に関するフィードバック

記事のコメント欄は記事に対するフィードバックをする場となっております。
右の記事フィードバックのためのガイドを参照してコメントしてください。
記事のリンク切れなど、気になる点がある場合も、こちらのフォームからフィードバックいただけますと幸いです。

サインインしてコメントを残してください。