Googleフォームでは同じ回答者からの「回答を1回に制限する」ことができます
この機能は回答者がGoogleにログインしていることが前提となります
「回答を1回に制限する」をオンにするには
「設定 > 回答 > 回答を1回に制限する」はデフォルトでオフになっています
それをオンにします
オンにすると左下に「[別の回答を送信するためのリンクを表示]がオフになりました」
というメッセージが表示されます
これは「回答を1回に制限する」と
表示設定の「別の回答を送信するためのリンクを表示」が連動してオフになるためです
「別の回答を送信するためのリンクを表示」がオンになっていると
回答後に「別の回答を送信」というリンクが表示されます
オフになるとそのリンクは表示されなくなります
このように回答を1回に制限した場合は別の回答ができなくなります
一度回答したフォームを開くと「既に回答済みです」と表示されるようになります
Code.gs
Tips
「回答を1回に制限する」「別の回答を送信するためのリンクを表示」どちらもオフの場合
form.setLimitOneResponsePerUser(true) を追加したものです
createSingleResponseForm() を実行すると
「回答を1回に制限する」がオンになったフォームが作成されます
Code.gs
function createSingleResponseForm() {
const formName = 'Favorite Color Survey';
const description = 'Please tell us your favorite color.';
const title = 'What is your favorite color?';
const color = ['Red', 'Blue', 'Green', 'Yellow'];
const form = FormApp.create(formName);
form.setDescription(description);
form.setLimitOneResponsePerUser(true); // 1人1回に制限(Googleログインが必要)
const item = form.addMultipleChoiceItem();
item.setTitle(title)
.setChoiceValues(color)
.showOtherOption(true)
.setRequired(false);
form.setPublished(false);
Logger.log('Form Edit URL: ' + form.getEditUrl());
}
Tips
「回答を1回に制限する」「別の回答を送信するためのリンクを表示」どちらもオフの場合
回答後に別の回答を送信するためのリンクは表示されませんが
回答を1回に制限していないため
URLを再度開くことで別の回答を送信することが可能です
回答を1回に制限している場合←今回書いたのはこれ
Googleアカウントによるログインが必須になるので
同一アカウントからは2回目以降の回答はできなくなります
Reference
setLimitOneResponsePerUser(enabled)
関連記事