kintoneのqueryのjavascriptのエスケープシーケンスについて

kintoneのREST APIでjavascriptのダブルクォーテーションのエスケープシーケンス抜けによりkintoneのapiリクエストが返ってこないケースが発生したので残しておきます。kintoneアプリID 1「毎日のおやつ献立アプリ」において、「月曜日おやつアプリ」アプリID 23 のフィールドコードmeal_drinkがコーラかnullのレコード一覧を、 kintoneアプリID 1「毎日のおやつ献立アプリ」のレコード作成・編集画面で(コンソールログで)表示というシナリオです。以下のリクエストパラメータのqueryのダブルクォートのエスケープシーケンスにご注意ください。間違えると、エラーすら表示されません。

(function() {
    'use strict';
	
        //紐づけるアプリID
	const CONFIG ={
                //月曜日おやつアプリ
		MONDAY_MEAL_APPID: 23
	}

        //イベント発火タイミング(レコード作成画面を開いた時、レコード編集画面を開いた時)
	const event_array =[
		'app.record.create.show',
		'mobile.app.record.create.show',
		'app.record.edit.show',
		'mobile.app.record.edit.show'
		];

        //イベント発火時にコンソールログにテストアプリのクエリー該当レコード達を出力
	kintone.events.on( event_array , function (event) {

                //リクエストパラメータ(アプリIDとクエリを指定)
		let params = {
			'app': CONFIG.MONDAY_MEAL_APPID, //月曜日おやつアプリID 23
			'query': "meal_drink in (\"コーラ\",\"\")" //フィールドコードmeal_drinkのvalueがコーラとnull
		};

                //複数レコ―ドのGETリクエストをkintone.Promiseオブジェクトで。複数レコード取得なので /k/v1/records です。
		kintone.api(kintone.api.url('/k/v1/records',true), 'GET', params).then(function(resp) {

                        //リクエスト成功してレスポンス返ってきたのでコンソールログに出力
			console.log('[resp-success]');
			console.log(resp);
			console.log('[/resp-success]');

		}, function(error) {

			//error:エラーの場合はメッセージを表示する
			var errmsg = 'レコード取得時にエラーが発生しました。';
			// レスポンスにエラーメッセージが含まれる場合はメッセージを表示する
			if (error.message !== undefined) {
				errmsg += '\n' + error.message;
			}
			console.log('[resp-error]');
			console.log(errmsg);
			console.log('[/resp-error]');
		});

	});

})();

queryのダメな記載パターン

paramsのqueryについて右側のvalue全体のダブルクォート無しはダメです。javascript関数は入っていないので右側のvalue部分をまるごとダブルクォートでくくってコーラとnullのダブルクォートはエスケープしましょう。

尚、フォームクリエイターのラジオボタンを使っています。「 レコードの取得(GET)」にて「フィールド、システム識別子ごとの利用可能な演算子と関数一覧」にてフィールド種別で使える演算子などを確認出来ます。

WordPress/kusanagi/Azure/AWS/kintoneの開発運用相談