私が何をしても、これは "Logger.log(medItemResponse);"の未定義オブジェクトを返します。Google Apps Script:グリッドアイテムレスポンスを取得すると返り値が返されません
function updateMedicationNumbers() {
var lastFormResponse = getLastForm();
getMedItemResponse(lastFormResponse);
}
function getLastForm(){
var form = FormApp.getActiveForm();
var formResponseArray = form.getResponses();
var lastFormResponse = formResponseArray[formResponseArray.length-1];
Logger.log(lastFormResponse);
return lastFormResponse;
}
function getMedItemResponse(lastFormResponse){
var responseItems = lastFormResponse.getItemResponses();
Logger.log(responseItems);
for (var i = 0; i < responseItems.length; i++){
var responseItem = responseItems[i].getItem();
if(responseItem.getTitle() == "Individual Meds"){
var medItemResponse = responseItems[i].getResponse();
}
}
Logger.log(medItemResponse);
}
ここには、.getResponse()のドキュメントがあります。
回答者が提出した回答を取得します。ほとんどのタイプの質問項目では、これは文字列を返します。 CheckboxItemの質問では、レスポンダの選択肢を含むString []配列を返します。配列内の文字列の順序は異なる場合があります。 GridItemの質問では、インデックスnの答えがグリッドの行n + 1の質問に対応するString []配列を返します。回答者がグリッド内の質問に回答しなかった場合、その回答は ''として返されます。 CheckboxGridItemの質問では、行インデックスnの回答がチェックボックスグリッドの行n + 1の質問に対応するString [] []配列を返します。回答者がグリッド内の質問に回答しなかった場合、その回答は ''として返されます。
戻り
オブジェクト - 文字列またはString []またはString [] []を質問項目
"個々のMeds"){var medItemResponse = responseItems [i] .getResponse(); break; } 'Individual Meds'という名前のタイトルが1つしかない場合、一致が見つかるとループを続ける理由はありません。 truthyテストの結果を示す 'Logger.log()'ステートメントをコードに入れてください。 Logger.log(responseItem.getItem()。getTitle()== "Individual Meds") 'ログに真の1つのプリントが表示されるはずです。 –