カテゴリー内の他の記事

「kintone Utility Library for JavaScript」の使い方

新しいライブラリ kintone JavaScript Client (@kintone/rest-api-client) が公開されています。

はじめに

今回は、2016年12月に(ひそかに)リリースされた、「kintone Utility Library for JavaScript」について紹介します。
「kintone Utility Library for JavaScript」とは、REST APIを使う上で、生産性を向上するために有志により開発されたライブラリです。
例えば、レコードの一括取得/更新/削除など、毎回記述するには面倒な処理を、よりシンプルに記述できます。
 
それでは、その使い方を説明します。

kintone Utility Library for JavaScriptのダウンロード

GitHubよりダウンロードいただき、アプリに添付してください。
 
またはは以下のURLをコピーして、URLで指定してください。
https://kintone.github.io/kintoneUtility/kintoneUtility.min.js
※ 本サンプルプログラムはMIT licenseにて提供しています。 
 

kintone Utility Library for JavaScriptの構造

kintoneUtilityオブジェクトには「rest」のプロパティがあり、関数を持っています。
 
「rest」で提供される関数
関数の一覧はrest_doc.mdに記載されています。
  • kintoneUtility.rest.getRecord
  • kintoneUtility.rest.getRecords
  • kintoneUtility.rest.getAllRecordsByQuery
  • kintoneUtility.rest.postRecord
  • kintoneUtility.rest.postRecords
  • kintoneUtility.rest.postAllRecords
  • kintoneUtility.rest.putRecord
  • kintoneUtility.rest.putRecords
  • kintoneUtility.rest.putAllRecords
  • kintoneUtility.rest.deleteRecords
  • kintoneUtility.rest.deleteAllRecords
  • kintoneUtility.rest.deleteAllRecordsByQuery
  • kintoneUtility.rest.upsertRecord
  • kintoneUtility.rest.upsertRecords
  • kintoneUtility.rest.downloadFile (v0.2.1で追加)
  • kintoneUtility.rest.uploadFile (v0.2.1で追加)
  • kintoneUtility.rest.setUserAuth (v0.2.1で追加)
  • kintoneUtility.rest.setApiTokenAuth (v0.2.1で追加)
  • kintoneUtility.rest.setDomain (v0.2.1で追加)
  • kintoneUtility.rest.setBasicAuth (v0.2.1で追加)
  • kintoneUtility.rest.setGuestSpaceId (v0.2.1で追加)
  • kintoneUtility.rest.clearUserAuth (v0.2.1で追加)
  • kintoneUtility.rest.clearApiTokenAuth (v0.2.1で追加)
  • kintoneUtility.rest.clearDomain (v0.2.1で追加)
  • kintoneUtility.rest.clearBasicAuth (v0.2.1で追加)
  • kintoneUtility.rest.clearGuestSpaceId (v0.2.1で追加)
  • kintoneUtility.rest.getFormFields (v0.3.0で追加)
  • kintoneUtility.rest.getFormLayout (v0.3.0で追加)

サンプルコード

例:下記のアプリの「Numberフィールドが0より大きい全レコード」を取得するサンプルコードです。
 ・レコード番号                                                   : 529
 ・取得条件(query)                                               : "Number"フィールドが0より大きいレコード
 ・レスポンスに含めるフィールドコード(fields) : String,Number
 ・ゲストスペースではない
 
まず、「kintone Utility Library for JavaScript」を使わなかった場合、Promiseを使い再帰的にレコードを取得する必要があります。
 
「kintone Utility Library for JavaScript」を使わなかった場合
一方、「kintone Utility Library for JavaScript」を使うと、パラメータ(JSON)を指定するだけで、
全レコードを取得することができます。
 
「kintone Utility Library for JavaScript」を使った場合
この様にPromiseや再帰処理がなくなることによるコードの簡素化が実現できます。
また、すべてのレスポンスはPromiseオブジェクトで返されます。
  

最後に

「kintone Utility Library for JavaScript」は、皆さんの開発負荷を軽減できるよう、今後も機能を拡充していく予定です。
ぜひ、コメントでのフィードバックをお待ちしています。
 

更新履歴

  • 2017/08 v0.2.0を公開しました :下記の機能を追加しました。
    • 単一ファイルを取り扱う機能を追加
    • 外部サービスと連携するための認証機能を追加
  • 2017/09 v0.2.2を公開しました。:下記の修正をしました。追加機能はありません。
    • ライブラリの更新
  • 2017/11 v0.3.0を公開しました。:下記の機能を追加しました。
    • kintoneUtility.rest.getFormFields
    • kintoneUtility.rest.getFormLayout 

関連記事

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

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

Avatar
Hiroyuki Suzuki

こちらのライブラリは、npmに登録される予定はございませんか?

可能であれば、ES6のimportで読み込んで利用できる形式にしていただきたいです。

Avatar
cybozu Development team

お世話になっております。
cybozu developer network運営事務局です。

ご要望ありがとうございます。
計画はありますが、まだ具体的なスケジュールは決まっていない段階です。

なお、今後kintone Utilityへのご要望がありましたら、ぜひGitHubのIssuesもご活用ください。

今後ともよろしくお願いいたします。

Avatar
hohashi

kintoneUtility.rest.setUserAuth で認証情報でセットした後

ログインが成功か、失敗した(出来ればエラー詳細も)が

わかる方法が見つからなかったのでお教えいただけないでしょうか?

Avatar
cybozu Development team

hohashi 様

お世話になっております。
cybozu developer network事務局でございます。

kintoneUtility.rest.setUserAuth の仕様をGitHubで確認したところ、
レスポンス情報は取得できないようです。

取得したい場合は要望として、issueとして登録いただくことも可能です。

また、開発に関する不明点はコミュニティをご活用いただければ幸いです。

今後とも宜しくお願い致します。

Avatar
Tanizaki

お世話になっております。

kintone Utility for JavaScriptにてoffsetの上限値対応に影響してくるメソッドはどちらになりますでしょうか?

宜しくお願い致します。

Avatar
cybozu Development team

Tanizaki 様

お世話になっております。cybozu developer network 運営局です。

offsetの上限値対応に影響してくるメソッドは、次のとおりです。

  • kintoneUtility.rest.getRecords(query で offset を指定する場合)
  • kintoneUtility.rest.getAllRecordsByQuery
  • kintoneUtility.rest.deleteAllRecordsByQuery
  • kintoneUtility.rest.upsertRecords

よろしくお願いいたします。

Avatar
Satoshi Morita

いつもお世話になりましてありがとうございます。

https://kintone.github.io/kintoneUtility/kintoneUtility.min.js

上記URLでのホスティングも終了されましたでしょうか?
昨晩から今朝ほどにかけて過去に開発していたアプリが動作せず、上記URLでホスティングされていないことが確認されました。

現在のところ、404 There isn't a GitHub Pages site here.と表示されています。

追記:2020/7/29 10:00 時点で復帰した模様です。
ご対処いただきましたのであれば、有難うございました。

Satoshi Moritaにより編集されました
Avatar
cybozu Development team

Satoshi Morita 様

お世話になっております。
cybozu developer network 運営局です。

URLが一時的に利用できない状況が発生していたこと、申し訳ありません。
対応を行い、現在は利用できるようになっております。

この度はご迷惑をおかけいたしまして、申し訳ありませんでした。

Avatar
Satoshi Morita

cybozu Development team ご担当者様

お世話になります、ご連絡をいただきましてありがとうございます。
本来は有志での開発という位置づけでのライブラリ提供につき、こちらにご連絡するのも心苦しかったのですがご対応いただき有難うございました。
また常々便利に利用させていただいています。ありがとうございます。

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