お世話になっております。キントーンではじめてjavascriptに触り勉強中です。
タイトルの通り、googleフォームとの連携についてうまくキントーンに登録されず悩んでおります。
初心者ながらに
など過去記事を参照して作成したものの、googleのエラーでは
SyntaxError: Unexpected comma in array literal at sendToKintone(キントーン連携:66)
「構文エラー」となっており、確認を何度もしていますが、どこが悪いのかが見当がつきません。
キントーン連携:66の列は
var response = manager.create(“YOUR_APPLICATION1”, records);//kintone レコードの生成
が相当しています。
また、F12のコンソールでは「送信先がみつからない」というエラーです。
ただ、IDやAPIトークンなどはあっていると思います。
説明ページ通りにそれぞれの設定もしました。
こちらのコードでもし問題点にお気づきの方いらっしゃいましたら
ご教授いただけますと幸いです。
長いコードになりますが、よろしくお願いいたします。
function getFormResponse(e) {
‘use strict’;
var itemResponses = e.response.getItemResponses();//フォームの入力内容を取得
var records = ‘[’;
for (var i = 0; i < itemResponses.length; i++) {
var itemResponse = itemResponses[i];
switch (itemResponse.getItem().getTitle()) {
case “法人名”:
records += Utilities.formatString(‘,“法人名” : { “value”: “%s” }’,
itemResponse.getResponse());//質問に対する回答を取得
break;
case “店舗名”:
records += Utilities.formatString(‘,“店舗名” : { “value”: “%s” }’,
itemResponse.getResponse());//質問に対する回答を取得
break;
case “商品名”:
records += Utilities.formatString(‘,“商品名” : { “value”: “%s” }’,
itemResponse.getResponse());//質問に対する回答を取得
break;
case “金額”:
records += Utilities.formatString(‘,“金額” : { “value”: “%s” }’,
itemResponse.getResponse());//回答者のEmailアドレスの取得
break;
case “契約開始”:
records += Utilities.formatString(‘,“契約開始” : { “value”: “%s” }’,
itemResponse.getResponse());//質問に対する回答を取得
break;
case “請求開始”:
records += Utilities.formatString(‘,“請求開始” : { “value”: “%s” }’,
itemResponse.getResponse());//質問に対する回答を取得
break;
case “希望納期(日付)”:
records += Utilities.formatString(‘,“希望納期_日付” : { “value”: “%s” }’,
itemResponse.getResponse());//質問に対する回答を取得
break;
case “希望納期(時刻)”:
records += Utilities.formatString(‘,“希望納期_時刻” : { “value”: “%s” }’,
itemResponse.getResponse());//質問に対する回答を取得
break;
case “営業担当者”:
records += Utilities.formatString(‘,“営業担当者” : { “value”: “%s” }’,
itemResponse.getResponse());//質問に対する回答を取得
break;
case “備考”:
records += Utilities.formatString(‘,“備考” : { “value”: “%s” }’,
itemResponse.getResponse());//質問に対する回答を取得
break;
}
}
records += ‘}]’;
Logger.log(‘Response JSON is “%s”’, records);
return records;
}
function sendToKintone(e) {
‘use strict’;
Logger.log(‘Form submitted’);
var subdomain = “◆◆◆(https://◆◆◆.cybozu.com/の部分)”;//サブドメイン名
var apps = {
YOUR_APPLICATION1: { appid: 22, name: “見積書作成依頼”, token: “該当アプリのAPIトークン” }
};
var manager = new KintoneManager.KintoneManager(subdomain, apps);// ライブラリーの初期化
var str = getFormResponse(e);
str = str.replace(//g, "").replace(/\r/g, “\r”).replace(/\t/g, “\t”);
var records = JSON.parse(str);//JSON形式に変換
var response = manager.create(“YOUR_APPLICATION1”, records);//kintone レコードの生成
// ステータスコード
// 成功すれば200になる
var code = response.getResponseCode();
Logger.log(‘Response code is “%s”’, code);
}