Scan to open on your phone
Point a camera at the QR code - it opens this exact paste, no app needed.
https://codepastes.com/zzgspghwfjezre1funtitledPlain Text
function diagnoseForm() {
const form = FormApp.getActiveForm();
if (!form) {
throw new Error("Open Apps Script from your Google Form.");
}
Logger.log("FORM: " + form.getTitle());
Logger.log("TOTAL ITEMS: " + form.getItems().length);
form.getItems().forEach((item, index) => {
const type = item.getType();
Logger.log(
`\n${index + 1}. ${item.getTitle()} [${type}]`
);
try {
let field;
switch (type) {
case FormApp.ItemType.MULTIPLE_CHOICE:
field = item.asMultipleChoiceItem();
break;
case FormApp.ItemType.CHECKBOX:
field = item.asCheckboxItem();
break;
case FormApp.ItemType.LIST:
field = item.asListItem();
break;
case FormApp.ItemType.TEXT:
field = item.asTextItem();
break;
case FormApp.ItemType.PARAGRAPH_TEXT:
field = item.asParagraphTextItem();
break;
case FormApp.ItemType.SCALE:
field = item.asScaleItem();
break;
case FormApp.ItemType.GRID:
field = item.asGridItem();
break;
case FormApp.ItemType.CHECKBOX_GRID:
field = item.asCheckboxGridItem();
break;
default:
Logger.log("Non-answer item or unsupported type");
return;
}
Logger.log("Required: " + field.isRequired());
if (typeof field.getChoices === "function") {
Logger.log(
"Choices: " +
JSON.stringify(
field.getChoices().map(c => c.getValue())
)
);
}
if (typeof field.getRows === "function") {
Logger.log("Rows: " + JSON.stringify(field.getRows()));
Logger.log(
"Columns: " + JSON.stringify(field.getColumns())
);
}
if (type === FormApp.ItemType.SCALE) {
Logger.log(
`Scale: ${field.getLowerBound()}–${field.getUpperBound()}`
);
}
} catch (error) {
Logger.log("ERROR: " + error.message);
}
});
}
2,058 chars · codepastes.com