2025年5月10日土曜日

Google Formsを公開して回答を受け付けたい


フォームを作ったら「公開」して回答を受け付けられるようにします

今回は Google Formsで単一選択の質問を作りたい で作ったフォームを例にします



フォームの編集画面

右上の「公開」ボタンをクリックします
(以前は「送信」ボタンでしたが「公開」ボタンに変更されたようです)


今回は「リンクを知っている全員」が回答できるように公開してみます


公開すると「公開」のボタンの色が変わります



クリックしてみると「回答を受付中」がオンになっています



「回答者へのリンクをコピー」をクリックすると

フォームの回答ページへのリンクが表示されます



「URLを短縮」にチェックを入れるとリンクのURLが短く表示されます



コピーしたリンク先にアクセスするとフォームの回答画面が表示されます


フォームの回答画面





Apps Script で作成する場合

以下の Code.gs で formUrl の値を書き換えて

publishFormByUrl() を実行すると

URLで指定したフォームが「公開」状態になり

ログにその公開されたフォームのURLが出力されます



Code.gs
function publishFormByUrl() {
const formUrl = 'https://docs.google.com/forms/d/FORM_ID/edit';
// URLでフォームを取得
const form = FormApp.openByUrl(formUrl);
// フォームを公開状態に設定
form.setPublished(true);
Logger.log('Form Published URL: ' + form.getPublishedUrl());
}



Tips

現状の自分の理解まとめ
  1. 「公開」したら「回答を受付中」になる
  2. 「公開」したら「非公開」に戻すことはできない
  3. 回答の受付を停止したい場合は「回答を受付中」をオフにする
  4. アクセス権の制限で限定公開できる
  5. Education版 や Business版の場合は管理者が公開範囲を制限できる
  6. フォームを「削除」したらフォームにも回答にもアクセスできなくなる
    • 基本的に公開したフォームは削除しない



Tips 2

フォームを新規作成して一度も編集していない場合

上記の Code.gs を実行すると以下のようなエラーが出ました

Exception: No item with the given ID could be found. Possibly because you have not edited this item or you do not have permission to access it.



Reference

フォームを公開して回答を取得する
関連記事