2025年5月11日日曜日

Google Formsの回答者を匿名にしたい


Googleフォームでの回答者のメールアドレス収集方法は3つあります
  1. 収集しない: 匿名になる(デフォルトはこれ)
  2. 確認済み: Googleアカウントを収集する
  3. 回答者からの入力: 回答者が入力したアドレス(Googleアカウント以外を含む)

今回は 1. 収集しない: 匿名になる について書いていきます



誰が回答したかわからない状態にしたいときはこれ


回答の「メールアドレスを収集する」で「収集しない」にします



フォームの編集画面

設定 > 回答 > メールアドレスを収集する > 収集しない

この設定でフォームを公開します



フォームの回答画面

Googleにログインしていたらアカウント名が表示されますが収集はされません



回答の要約画面

メールアドレスの情報は取得されていません




Apps Script で作成する場合

以下の Code.gs で formName から colors の値を書き換えて

createAnonymousForm() を実行すると

上記のようなメールアドレスを収集しないフォームが作成されます


デフォルトで「収集しない」になっている場合は
あえてsetCollectEmailを書く必要はないと思います
form.setCollectEmail(false); // メールアドレスを収集しない



Code.gs
function createAnonymousForm() {
const formName = 'Favorite Color Survey';
const description = 'Please tell us your favorite color.';
const title = 'What is your favorite color?';
const colors = ['Red', 'Blue', 'Green', 'Yellow'];

const form = FormApp.create(formName);
form.setDescription(description);

form.setCollectEmail(false); // メールアドレスを収集しない

// 選択式の質問を追加
const item = form.addMultipleChoiceItem();
item.setTitle(title)
.setChoiceValues(colors)
.showOtherOption(true)
.setRequired(false);

form.setPublished(false);

Logger.log('Form Edit URL: ' + form.getEditUrl());
}