FormEasy
An open-source library to receive forms for static sites using Google Apps Script
AI Summary
FormEasy
GAS library to easily receive forms from static sites to Sheets.
Target Users
Beginner GAS developers building static sites needing serverless form handling.
Problems Solved
Static sites lack backend for form data storage in Sheets and notifications.
Script ID
- In GAS Editor: Click "Libraries +" → Paste into "Script ID" field → Click "Look up"
- "FormEasy" will appear in the search results
- Select the latest version (highest number) from "Version" dropdown
- Click "Add"
Tags
Main Features
1
Easy Setup
Add library, write few lines in doPost to start receiving forms with defaults.
2
Flexible Config
Customize sheet, fields, email via setSheet, setFields, setEmail methods.
3
Spam Protection
Prevent bots with setRecaptcha for Google reCAPTCHA V2 or V3.
Examples
Main Functions
| Function | Description |
|---|---|
| FormEasy.action(req) | Process POST request and save data |
| FormEasy.setFields(...fields) | Specify fields to receive |
| FormEasy.setRecaptcha(secret) | Set reCAPTCHA secret key |
Examples
Basic Form Reception
/**
* 基本フォーム受信
* ・メール通知設定: FormEasy.setEmail('youremail@domain.com')
* ・リクエスト処理: FormEasy.action(req)
* ・結果リターン: return FormEasy.action(req)
*/
function doPost(req) {
FormEasy.setEmail('youremail@domain.com');
return FormEasy.action(req);
}Custom Fields Setup
/**
* カスタムフィールド設定
* ・シート指定: FormEasy.setSheet('Sheet1')
* ・フィールド追加: FormEasy.setFields('name', 'email', 'website', 'message')
* ・アクション実行: FormEasy.action(req)
*/
function doPost(req) {
FormEasy.setSheet('Sheet1');
FormEasy.setEmail('youremail@domain.com');
FormEasy.setSubject('Email subject');
FormEasy.setFormHeading('Form heading inside email');
FormEasy.setFields('name', 'email', 'website', 'message');
return FormEasy.action(req);
}reCAPTCHA Validation
/**
* reCAPTCHA検証
* ・reCAPTCHA設定: FormEasy.setRecaptcha('YOUR_SECRET_KEY')
* ・フィールド設定: FormEasy.setFields('name', 'email', 'message')
* ・処理実行: return FormEasy.action(req)
*/
function doPost(req) {
FormEasy.setRecaptcha('YOUR_SECRET_KEY');
FormEasy.setFields('name', 'email', 'message');
return FormEasy.action(req);
}