Changes for page 2 Script

Last modified by Devin Chen on 2026/03/10 10:53

From version 14.1
edited by Devin Chen
on 2026/03/05 14:41
Change comment: There is no comment for this version
To version 16.1
edited by Devin Chen
on 2026/03/05 15:26
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1947,5 +1947,62 @@
1947 1947  
1948 1948  Google Apps Script Demo
1949 1949  
1950 +{{code language="JavaScript"}}
1951 +/**
1952 + * Handles POST requests: parses JSON data, writes it to the sheet with timestamp
1953 + * Expected JSON format: {
1954 + * sheetName: "Sheet1" (optional, defaults to "Sheet1"),
1955 + * integerNumber: 123,
1956 + * floatingNumber: 45.67,
1957 + * stringData: "example text"
1958 + * }
1959 + */
1960 +function doPost(e) {
1961 + // 1. Parse the JSON data from the request body
1962 + var data;
1963 + try {
1964 + data = JSON.parse(e.postData.contents);
1965 + } catch (error) {
1966 + return ContentService.createTextOutput('Error: Invalid JSON data');
1967 + }
1950 1950  
1969 + // 2. Get the target sheet (defaults to "Sheet1")
1970 + var sheetName = data.sheetName || 'Sheet1';
1971 + var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
1972 + if (!sheet) {
1973 + return ContentService.createTextOutput('Error: Specified sheet not found');
1974 + }
1975 +
1976 + // 3. Verify required fields are present
1977 + if (data.integerNumber === undefined ||
1978 + data.floatingNumber === undefined ||
1979 + data.stringData === undefined) {
1980 + return ContentService.createTextOutput('Error: Missing required fields (integerNumber, floatingNumber, stringData)');
1981 + }
1982 +
1983 + // 4. Generate formatted current timestamp (first column)
1984 + var now = new Date();
1985 + var timeZone = SpreadsheetApp.getActiveSpreadsheet().getSpreadsheetTimeZone();
1986 + var formattedTimestamp = Utilities.formatDate(now, timeZone, "yyyy-MM-dd HH:mm:ss");
1987 +
1988 + // 5. Extract data from JSON
1989 + var integerNumber = data.integerNumber;
1990 + var floatingNumber = data.floatingNumber;
1991 + var stringData = data.stringData;
1992 +
1993 + // 6. Append the data to the sheet with proper column mapping:
1994 + // Column A: Time (timestamp)
1995 + // Column B: Integer number
1996 + // Column C: Floating number
1997 + // Column D: String data
1998 + sheet.appendRow([formattedTimestamp, integerNumber, floatingNumber, stringData]);
1999 +
2000 + // 7. Return success response
2001 + return ContentService.createTextOutput('Success: Data written to Google Sheets');
2002 +}
2003 +{{/code}}
2004 +
2005 +(% style="text-align:center" %)
2006 +[[image:PixPin_2026-03-05_14-40-27.png]]
2007 +
1951 1951  
3W00uSwkVQ1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.DevinChen
Size
... ... @@ -1,0 +1,1 @@
1 +140.1 KB
Content
Doa6Qhp4bS.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.DevinChen
Size
... ... @@ -1,0 +1,1 @@
1 +139.2 KB
Content
HoLYu2nzvq.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.DevinChen
Size
... ... @@ -1,0 +1,1 @@
1 +136.6 KB
Content