このようなフォームを作って
USERNAME@gmail.com
{"Country":"オーストラリア","City":"シドニー"}
のように回答を取得したくて書いたコードです。
コード.gs
function getFormResponse(event) {
var email = event.response.getRespondentEmail();
var responseObj = getItemResponseObj(event);
var json = JSON.stringify(responseObj);
Logger.log(email);
Logger.log(json);
}
function getItemResponseObj(event) {
var itemResponses = event.response.getItemResponses();
var obj = {};
for (var i = 0; i < itemResponses.length; i++) {
var itemResponse = itemResponses[i];
var question = itemResponse.getItem().getTitle();
var answer = itemResponse.getResponse();
obj[question] = answer;
}
return obj;
}
|
意訳この機能がやること eventからユーザのEmailを取得する getItemResponseObjにeventを渡して質問:回答を取得する 取得した質問:回答をJSON形式にする Emailをログに出す jsonをログに出す この機能がやること eventから質問と回答を取得する 空のオブジェクトを作る 質問:回答の数だけ繰り返す 質問:回答を一つずつ取得して 質問のタイトルを取得して その回答を取得して objに質問 : 回答 の形で追加していく 出来上がったobjを返す |
実行結果

