Google Forms to kintone JSONのエラーが出ます。

上記URLを基に下記作成しました。
※メールアドレスの収集だけ削除しました。

const getFormResponse = (e) => {
‘use strict’;
const itemResponses = e.response.getItemResponses();
let records = ‘[’;
for (let i = 0; i < itemResponses.length; i++) {
const itemResponse = itemResponses[i];
switch (itemResponse.getItem().getTitle()) {
case ‘参加しますか?’:
records += Utilities.formatString(‘,“attend” : { “value”: “%s” }’,
itemResponse.getResponse());// 質問に対する回答を取得
break;
case ‘参加人数’:
records += Utilities.formatString(‘,“number_of_attendee” : { “value”: “%s” }’,
itemResponse.getResponse());// 質問に対する回答を取得
break;
case ‘参加者の名前を記入してください’:
records += Utilities.formatString(‘,“name_of_attendee” : { “value”: “%s” }’,
itemResponse.getResponse());// 質問に対する回答を取得
break;
}
}
records += ‘}]’;
Logger.log(‘Response JSON is “%s”’, records);
return records;
}

const sendToKintone = (e) => {
‘use strict’;
Logger.log(‘Form submitted’);
const subdomain = ‘**********.cybozu.com’;// サブドメイン名
const apps = {
YOUR_APPLICATION1: {appid: , name: ‘kintone Meetup 参加者’, token: ''}
};
const manager = new KintoneManager.KintoneManager(subdomain, apps);// ライブラリーの初期化
let str = getFormResponse(e);
str = str.replace(/\n/g, ‘\n’).replace(/\r/g, ‘\r’).replace(/\t/g, ‘\t’);
const records = JSON.parse(str);// JSON形式に変換
const response = manager.create(‘YOUR_APPLICATION1’, records);// kintone レコードの生成
// ステータスコード
// 成功すれば200になる
const code = response.getResponseCode();
Logger.log(‘Response code is “%s”’, code);
}

下記エラーがでて、kintoneに反映されません。
原因をご教示いただけますでしょうか。

SyntaxError: Unexpected token ‘,’, "[,“attend” "… is not valid JSON
at sendToKintone(sendToKintone:38:24)

‘use strict’;

'use strict';

見た限りだと、全てのシングルクォーテーション、ダブルクォーテーションが全角になっているようです。

橋本大輔 様
ご返答頂きありがとうございます。

こちらに貼り付けると全角になるようですが、入力時は全て半角になっておりました。
他に原因はございますでしょうか。

YOUR_APPLICATION1: {appid: , name: ‘kintone Meetup 参加者’, token: ''}

appIdに値はなさそうですね。アプリ番号を入れてください。

そして、当エラーと別ですが、tokenも必要になります。

※メールアドレスの収集だけ削除しました

見落としておりました。サンプルコードに対して、

  records += Utilities.formatString('{"Email": { "value": "%s" }', e.response.getRespondentEmail());// 回答者のEmailアドレスの取得

この一文を削除したということですね。発生しているエラーは、JSONの形式があっていない旨で、Emailの前にレコードオブジェクトの欠片({)が見えるので、それを削除したとなると

let records = '[';
for (let i = 0; i < itemResponses.length; i++) {
const itemResponse = itemResponses[i];

let records = '[';
for (let i = 0; i < itemResponses.length; i++) {
records += '{';
const itemResponse = itemResponses[i];

このようにし、attend及びnumber_of_attendee、name_of_attendeeの前のカンマは削除する必要があります。

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