カテゴリー内の他の記事

kintone JS SDK

フォローする

Index

はじめに

2019年3月にリリースされた、「kintone JS SDK」について紹介します。
「kintone JS SDK」とは、以前リリースされた「kintone Node.js SDK(β)」や「kintoneUtility」の後継となる SDK です。
従来実装されていたメソッドに加え、新たにファイル API に対応するクラスが実装されました。
また、将来的に kintoneUtility に実装されている Upsert や、一括取得などの関数が実装される予定です。

「kintone JS SDK」は「kintone Node.js SDK(β)」や「kintone iOS SDK」、「kintone Java SDK」と同じ設計思想で設計、実装されています。
そのため、以前まで「kintone Node.js SDK(β)」を使用していた方は、容易に扱える SDK となっています。

GitHub

https://github.com/kintone/kintone-js-sdk/

ドキュメント

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

今回は、kintone JS SDKの導入方法と実行を、サンプルを用いて説明します。
Node.js でも実行可能なので、Node.js で実行できる環境でもお試しください。

Node.js

https://nodejs.org/ja/

ご注意事項

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

導入方法

JavaScript

https://github.com/kintone/kintone-js-sdk/tree/master/dist

「kintone-js-sdk.min.js」というファイルを保存してください。

webpack

npm インストールし、 webpack でバンドルすることも可能ですが、今回は省略させて頂きます。
詳しく知りたい方はリファレンスをご覧ください。
https://kintone.github.io/kintone-js-sdk/getting-started/quickstart-browser/#install-package-from-npm

Node.js

下記コマンドを任意のディレクトリで実行してください。kintone JS SDKのインストールが可能です。
本記事では「sample_project」というディレクトにインストールします。

ドキュメントにあるように、Nodeバージョンは8.9.3以降、npmバージョン5.5.1以降でインストールしてください。

サンプル( JavaScript )

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

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

サンプルコード (ファイル名 : sample-for-JavaScript.js)

kintone アプリに適用

上記のファイルと先ほどダウンロードしたファイルを アプリの設定 > JavaScript / CSSでカスタマイズ で以下のように適用します。

001.png

実行

サンプルコードでは、アプリの一覧画面で動作する kintone JavaScript API を使用しているので、アプリの一覧画面に遷移してください。

レスポンスの例

ブラウザの開発者ツールを開くと以下のようにレスポンスが確認できます。

002.png

サンプル( Node.js )

先ほど作成したアプリを使用します。

サンプルコード (ファイル名 : sample-for-Node.js)

APIトークン、認証情報、サブドメイン、アプリIDはご自身の環境に合わせて書き換えてください。
4,5,7行目はベーシック認証を設定している場合のみ、記載してください。
作成したファイルは、kintone JS SDKインストール時に作成したフォルダ「sample_project」に保存してください。

実行

先ほどのサンプルコードを保存した「sample_project」で、下記コマンドを実行してください。

エラーが発生する場合は、sample.jsが保存されているディレクトリに、node_modulesというフォルダが存在しているか確認してください。

レスポンスの例

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

サンプルコード解説

JavaScript としての kintone JS SDK も Node.js としての kintone JS SDK もほとんど同様の書き方をするので Node.js のサンプルコードをもとにコード解説を行います。

Authentication

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

Authenticationクラスがあり、パスワード認証、APIトークン認証、Basic認証を設定できます。
認証の優先度は以下のとおりです。(参考:kintone REST APIの共通仕様
1.パスワード認証
2.APIトークン認証
3.セッション認証
※セッション認証は kintone JS SDK をブラウザ上で扱う場合のみ実装可能です。
※セッション認証を使用する際は sample-for-JavaScript.js のように Auth() クラスは宣言する必要はありません。

パスワード認証

APIトークン認証

Basic認証

Connection

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

※ブラウザ上 かつ セッション認証の場合は sample-for-JavaScript.js のように引数指定する必要はありません。

ブラウザ上 かつ セッション認証以外の場合は下記のように実装する必要があります。

サーバー側と違い、他のサブドメインを指定することはできません。

Record

最後に、13~24行目についてです。

この部分は、実際にkintoneのREST APIを実行する処理です。
サンプルでは、レコードを1件取得するために、RecordクラスのgetRecord関数を使用しています。

getRecord(appID, recordID)

パラメータ

名称 データタイプ 必須 説明
appID Integer アプリID
recordID Integer レコードID

Recordクラスには、後述の通り、レコード1件取得以外にも、様々な関数が用意されています。

その他の機能について

Recordクラス

先ほどのサンプルコードで使用した関数が定義されているクラスです。
アプリのレコードに対し、取得、登録、更新、削除、ステータスの変更を行う関数や、
コメントの取得、登録、削除を行う関数が実装されています。
実装されている関数の例として、下記の関数が実装されています。

  • getRecord
  • getRecords
  • addRecord
  • addRecords
  • updateRecords
  • deleteRecords
  • updateRecordStatus
  • getComments
  • addComment
  • deleteComment

他にもさまざまな関数が用意されています。詳細はドキュメントをご確認ください。

Recordクラスについて

https://kintone.github.io/kintone-js-sdk/reference/record/

BulkRequestクラス

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

BulkRequestクラスについて

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

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

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

BulkRequestサンプル

Appクラス

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

Appクラスについて

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

Appサンプル

Fileクラス

ファイル API に対応する関数が定義されているクラスです。

Fileクラスについて

https://kintone.github.io/kintone-js-sdk/reference/file/

Fileサンプル

おわりに

これまで Node.js SDK(β) や iOS SDK、Java SDK に触れた方もそうでない人も簡単に実装できたかと思います。
今後、kintoneUtility との機能差分や、独自の関数を実装予定です。
この機会に kintone JS SDK をご活用ください。

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

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

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

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