GASからGoogleFormを使ってクイズを作る
仕事でGoogle Formsを使う機会が出てきました。 自分はGoogleのプラットフォームを使って仕事する機会が今までなかったのですが、Google Formsはかなり生産性高くアンケート作成やクイズ作成ができるので便利です。
ただ、大量に質問がある場合、ドラッグアンドドロップで質問を移動したり、選択肢の作成、クイズの場合は答えキーのセットなど手間がかかり面倒臭さが増してきます。マウスでぽちぽちやると気が遠くなりそうです。 そこでGoogleAppsScriptを使い自動生成する方法を調べてみました。
以下、Google Formのクイズを作成するGASスニペットです。ここではsetPoints(10)
で1問10点のクイズを作っています。
const QUIZ_FOLDER_ID = 'YOUR_FOLDER_ID' function myFunction() { addFormItems() } function addFormItems() { const formTitle = 'TestQuiz'; const form = FormApp.create(formTitle).setIsQuiz(true) const item = form.addMultipleChoiceItem() item .setTitle('1+4') .setChoices([ item.createChoice('1', false), item.createChoice('3', false), item.createChoice('5', true), item.createChoice('2', false), ]).setPoints(10).setRequired(true) const formFile = DriveApp.getFileById(form.getId()) DriveApp.getFolderById(QUIZ_FOLDER_ID).addFile(formFile) }
スクリプトのエディタから実行し、YOUR_FOLDER_IDのフォルダ下に生成されたクイズを確認すると、きちんと正答にチェックがついています!
FormApp.create(formTitle).setIsQuiz(true)
をしないと点数つけられるクイズ形式のフォームにできないというのが一番の肝だと思います。
これをセットしてあげないと、Exception: 無効なフォーム データです。テストの設定を有効にしてから、もう一度お試しください。
というググラビリティの低い(苦笑 エラーが出てきます。