Google Apps Script 用の Kintone ライブラリです。
使いたい Google Apps Script のプロジェクトにライブラリとして追加するだけで使えます。 ライブラリの追加方法( https://developers.google.com/apps-script/guide_libraries )
Script ID: 1-Dlw6bRJOH65e2XwrimFwwFn9vHMa5m1PS6E_2_kMcC99Hxm1Nm7nFkt
自分で必要な機能だけ実装したので、全てのAPIには対応できていませんが、通常の CRUD 操作ぐらいでは特に問題ないかと思います。 対応しているAPIは次のものになります。
Kintone
クラスを new してメソッド呼び出すだけです。
Kintone
クラスには、サブドメイン、アプリケーションID、APIキーを渡します。
var kintone = KintoneLib.Kintone('subdomain', 1, 'xxxx');
APIエラーが発生すると、 KintoneError
クラスが返ってきます。
返ってきたオブジェクトが KintoneError
かどうかで判定をしてください。
var record = kintone.recordGet(1);
if (record instanceof KintoneLib.KintoneError) {
alert(record.response.getResponseCode());
alert(record.id);
alert(record.code);
alert(record.message);
}
レコードIDを指定して、レコードを1件取得します。
var record = kintone.recordGet(1);
クエリで条件を指定して、一括でレコードを取得します。 取得するフィールドの指定もできます。 クエリ、フィールド共に省略可能です。
var records;
// 全件取得(Kintoneで最大200件の制限有り)
records = kintone.recordsGet();
// id が100以上のレコードを取得
records = kintone.recordsGet('$id >= 100');
// id が100以上のレコードの id の値のみ取得
records = kintone.recordsGet('$id >= 100', ['$id']);
連想配列で指定されたレコードを新規作成します。 新しく追加されたレコードのIDが返ってきます。
var id = kintone.recordCreate({columnName: 'value'});
レコードの配列を渡して、複数レコードを一括登録します。 新しく追加されたレコードのIDの配列が返ってきます。
var ids = kintone.recordsCreate([
{columnName: 'value1'},
{columnName: 'value2'}
]);
指定されたIDのレコードを指定された値で更新します。 更新されたレコードのリビジョンが返ってきます。
var revision = kintone.recordUpdate(1, {columnName: 'value'});
更新するレコードの配列を渡して一括更新します。
各レコードには、必ず id
が存在する必要があります。
成功すると、各レコードの id, revision の配列が返ってきます。
var records = kintone.recordsUpdate([
{id: 1, columnName: 'value1'},
{id: 2, columnName: 'value2'}
]);
指定されたIDのレコードを削除します。 成功すると true を返します。
var result = kintone.recordDelete(1);
IDの配列を渡して、指定した複数のレコードを一括削除します。 成功すると true を返します。
var result = kintone.recordDelete([1, 2]);
自分で開発環境を構築したい方は、下記を参考にしてみてください。
git submodule init
git submodule update
npm install
Google Drive で任意の Google Apps Script のファイルを作ります。
Code.gs
を testRunner.gs
に名前を変更します。
この作業をしないと testRunner.gs が先に読み込まれず、テストが失敗します。
gapps.config.json.sample を gapps.config.json にコピーします。
fileId
を先程作った Google Apps Script の Id に変更します。
cp gapps.config.json.sample gapps.config.json
vim
Google Drive API を有効にした API Key を Google Developer Console で作成します。
API Key を作ったら、 client_secret.json
をダウンロードしてトップディレクトリに置きます。
npm run auth
URL が表示されるので、そこにアクセスして自分のアカウントで認証します。 これで自分のアカウントの権限で Google Drive へのアクセス権を付与することができるようになります。
~/.gapps に認証情報が保存されます。
client_secret.json はもういらないので削除します。
rm client_secret.json
ディプロイできるかどうか確認します。
npm run deploy
KintoneLib のテスト用の適当な Kintone アプリを作成します。
フォームに 文字列(1行)
のカラムを追加します。
フィールドコードを one_line_text
に変更します。
APIトークンを生成します。 全ての権限を付与してください。
Google Apps Script の Project properties
に次の項目を追加します。
KintoneTestApiToken: さっき作った Kintone の APIトークン
KintoneTestAppId: Kintone テストアプリの id
eslint でコードのチェックをしています。 定期的にチェックをして、エラーが出ないように修正します。
npm run check
GasTを使ってテストプログラムを書いています。
ディプロイ後に Google Apps Script で testRunner
を実行してください。
テスト結果は、ログに出力されます。