---
# System prepended metadata

title: 活動組文檔-自動填表單腳本
tags: [文檔, 活動組, 文書組]

---

---
title: 活動組文檔-自動填表單腳本
tags:
- 活動組
- 文書組
- 文檔
---
# 自動填表單腳本

`f12` 搜尋 `entry.`

單選表單會有 `entry.xxxxxx_sentinel`

心得欄位的是一般的 `entry.xxxxxx`

```js
// 使用 JavaScript 自動提交 Google 表單

/**
 * 自動提交 Google 表單
 * @param {string} formUrl - 表單的提交 URL
 * @param {Object} formData - 表單的資料對應 (key: entry ID, value: 欲填寫的內容)
 */
async function autoSubmitForm(formUrl, formData) {
  const urlParams = new URLSearchParams();

  // 填充表單資料
  Object.entries(formData).forEach(([key, value]) => {
    urlParams.append(key, value);
  });

  try {
    const response = await fetch(formUrl, {
      method: "POST",
      body: urlParams,
      headers: {
        "Content-Type": "application/x-www-form-urlencoded",
      },
    });

    console.log(`[+] Status: ${response.status} ${response.statusText}`);
    if (response.ok) {
      console.log("[+] 表單已成功提交！");
    } else {
      console.error("[*] 提交失敗，請檢查表單的 URL 和資料格式。");
    }
  } catch (error) {
    console.error("發生錯誤：", error);
  }
}

// 表單 URL 後綴 viewform 改為 formResponse 即可
const FORM_URL = "https://docs.google.com/forms/d/e/1FAIpQLScpDNTLWYbfpaP9YBcnuCaW9udBYgU6-sHP03ESMAVKO55pRA/formResponse";

// 表單資料對應
const FORM_ENTRIES = {
  "entry.238441774": "非常滿意",  // 0.活動整體滿意度
  "entry.717612801": "提升很多",  // 1.能從與他人互動中，汲取正面有用的經驗。
  "entry.1262398917": "提升很多", // 2.能檢討自己能力不足之處，並願意主動學習。
  "entry.238305455": "提升很多",  // 3.能接受、學習新事物，以累積創新能量。
  "entry.1844493298": "提升很多", // 4.能產生新穎且創新的想法。
  "entry.313682288": "提升很多",  // 5.能培養發現問題的靈敏度。
  "entry.905052635": "提升很多",  // 6.能尊重社會的多元群體。
  "entry.337310354": "提升很多",  // 7.能在日常生活中發掘需要幫助與關懷的人。
  "entry.1338249967": "提升很多", // 8.能接納團隊成員意見。
  "entry.816701087": "提升很多",  // 9.能支持團隊的決定，並全力以赴。
  "entry.2037332326": "提升很多", // 10.當問題超出能力解決範圍時，能分析並積極尋求協助。
  "entry.1191116224": "來自機器人的好棒", // 11.請你用20個字說明參與此活動的心得。
};

// 總提交次數
const SUBMISSION_COUNT = 3;

(async () => {
  for (let i = 1; i <= SUBMISSION_COUNT; i++) {
    console.log(`[${i}/${SUBMISSION_COUNT}] 正在提交表單...`);
    await autoSubmitForm(FORM_URL, FORM_ENTRIES);
  }
})();

```

執行
```bash
node script.js
```