カテゴリー内の他の記事

kintone Java SDK

フォローする

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/kintone-java-sdk

ドキュメント

https://kintone.github.io/kintone-java-sdk/

今回は、kintone Java SDKの導入方法と実行を、サンプルを用いて説明します。
開発はEclipseで行います。実行できる環境でお試しください。

Eclipse

http://mergedoc.osdn.jp/

ご注意事項

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

導入方法

事前に「kintone Java SDK」をインストールするためのプロジェクトを設定します。今回はEclipseを利用して「sample_project」という名前で新規Javaプロジェクトを作成し、
任意のパッケージ内に「SampleMain.java」というメインクラスを作成して下さい。

インストール

「kintone Java SDK」では内部で参照しているライブラリの管理をApache mavenを利用して行っています。Apache mavenのインストールは公式サイトを参考にご⾃⾝で設定してください。

https://maven.apache.org/index.html

mavenのインストールが完了したら以下の手順に従って、jarファイルのビルドを行います。

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

2.githubから「kintone Java SDK」のソースをクローンし任意のディレクトリに配置
※今回はC:直下にインストールする
3.EclipseでMavenプロジェクトを作成
 - Eclipseの「ファイル > インポート」をクリックし「Maven > 既存Mavenプロジェクト」を選択
 - 「ルートディレクトリ」に2で配置した「kintone Java SDK」を選択し、「完了」を押下
 
4.setting.xmlの読み込み
 - Eclipseの「ウインドウ > 設定」をクリックし「Maven > ユーザー設定」を選択
 - 「ユーザー設定」に1で設定した「setting.xml」を選択し、「適用して閉じる」を押下
 
mvn__.PNG
5.ライブラリのインストール
 - 3で作成したプロジェクトを右クリック
 - 「実行 > Mven install」を実行
 
6.ライブラリの追加
 - 3で作成したプロジェクトを右クリック
 - 「プロパティ」をクリックし「Javaのビルドパス > ライブラリ > 外部jarの追加」を選択し、以下のファイルを追加
  • C:\apache-maven-3.5.0\repository\com\google\code\gson\gson\2.8.2
  • C:\apache-maven-3.5.0\repository\junit\junit\4.12

step6___jar.PNG

7.ビルドの実行
- 3で作成したプロジェクトを右クリック
 - 「実行 > 実行の構成 > mavenビルド」をクリックし「Mavenビルド > kintone-java-sdk-master > ゴール(G)」に"package"を入力し「実行」をクリック
 - 「\kintone-java-sdk-master\target」配下にkintone-sdk-x.x.x.jarとkintone-sdk-x.x.x.jar-with-deependencies.jarが出来ていれば成功

step7_______.PNG

8.ビルドした「kintone Java SDK」を「sample_project」に追加
- 事前に作成したプロジェクトを右クリック
 - 「sample_project」の「プロパティ」をクリックし「Javaのビルドパス > ライブラリ > 外部jarの追加」を選択して7で作成したkintone-sdk-x.x.x.jar-with-deependencies.jarを追加する

サンプル

ドキュメントの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.github.io/kintone-java-sdk/reference/record/

BulkRequestクラス

複数のアプリに対して、同時に複数のAPIをリクエストできます。
BulkRequestで使用できる関数は下記のドキュメントをご覧ください。

BulkRequestクラスについて

https://kintone.github.io/kintone-java-sdk/reference/bulk-request/

また、BulkRequestを実行する際は下記のことに注意してください。

  • BulkRequestを実行し、レスポンスを取得する際は、execute関数を実行する。
  • 一度に実行できる関数は、excecute関数を抜き、20個まで。

BulkRequestサンプル

Appクラス

アプリの情報を取得する関数が定義されているクラスです。
アプリの閲覧権限が必要です。
実装されている関数については下記のドキュメントをご覧ください。

Appクラスについて

https://kintone.github.io/kintone-java-sdk/reference/app/

Appサンプル

型について

kintone Java SDKでは、各APIのレスポンスに独自の型を利用しています。
それぞれコンストラクタや利用できるメソッドが違うのでリファレンスをよく確認してご利用ください。

https://kintone.github.io/kintone-java-sdk/reference/app-model/

おわりに

Javaを利用したバッチプログラムやモバイルアプリの開発において、kintone REST APIを実行しやすくなりました。
この機会にkintone Java SDKをご活用ください。

このTipsは、2019年2月版 kintoneで確認したものになります。

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

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

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