GASを使ったURL内のクエリで、表示するレコードの条件の書き方がわからない

Kintone開発初心者です。

実現したいこと:ラジオボタン(フィールドコード名)でAかBを選択しているレコードを抽出してスプレットシートに取得したいです。

こちらのサイトの記事を数記事読ませていただいてますが、自分の書き方が悪いのか

ラジオボタン is not defined

というエラーがでてしまいます。

クエリの書き方がうまくいかず詰んでおります。
初心者の質問で大変申し訳ございません。

ご教授いただければ幸いです。

 

function KintoneFunction() {

let urlGetRecords = "http://-----------.cybozu.com/k/v1/records.json";

let appId = 4;

let apiToken = '-----------';

let fields = ["xxxx","xxxx","xxxx","xxxx","xxxx","ラジオボタン"];




// kintoneからデータを取得

varparamFields = "&fields=$id," + encodeURIComponent(String(fields));

varquery = encodeURIComponent(ラジオボタン in ("A","B"));

varurl = urlGetRecords + "?app=" + appId + "&query=" + query + paramFields;

varres = JSON.parse(UrlFetchApp.fetch(url, {"method": "get","headers": {"X-Cybozu-API-Token": apiToken}}));

// 取得したデータを整形

varoutput = [];

res["records"].forEach(function(record){

varrow = [];

row.push(record["xxxx"].value);

row.push(record["xxxx"].value);

row.push(record["xxxx"].value);

row.push(record["xxxx"].value);

row.push(record["xxxx"].value);

row.push(record["ラジオボタン"].value);

output.push(row);

});

// スプレッドシートに出力

varsheetOutput = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート名');

sheetOutput.getRange(2, 1, output.length, output[0].length).setValues(output);

};

上記の構文エラー:ReferenceError: ラジオボタン is not defined

 

試したこと:encodeURIComponent(“ラジオボタン in (“A”,“B”)”);

試したことの構文エラー: SyntaxError: missing ) after argument list 

// kintoneからデータを取得
//(略)
var query = encodeURIComponent(ラジオボタン in ("A","B"));

エラーが出ているのはこの部分ですね。試したことも惜しいです。

var query = encodeURIComponent('ラジオボタン in ("A","B")');

または

var query = encodeURIComponent("ラジオボタン in (\"A\",\"B\")");

この書き方で問題ないと思います。

最初に出ていた構文エラーは「ラジオボタン」が文字列ではなく変数になっているためで、シングルクォーテーションまたはダブルクォーテーションで囲む必要があります。

2つめの構文エラーは「“ラジオボタン in (”」までが文字列となっていて起きているエラーです。ダブルクォーテーションならダブルクォーテーションで繋ぐまでが文字列となり、その中でクォーテーションを使わなければならない時は別のクォーテーションまたはエスケープ処理というものが必要になります。

このあたりの記事 が参考になるかと思います。

mls-hashimoto 様

ご丁寧にご回答いただき有難うございます。
希望通りの動作が確認できました。
初歩的な過ちに気づけなかった自分を悔やむばかりです。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。