Changes for page 2 Script
Last modified by Devin Chen on 2026/03/10 10:53
From version 15.1
edited by Devin Chen
on 2026/03/05 15:06
on 2026/03/05 15:06
Change comment:
There is no comment for this version
To version 17.1
edited by Devin Chen
on 2026/03/05 15:30
on 2026/03/05 15:30
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1947,5 +1947,72 @@ 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 + 2008 +1.5 Click "Deploy" to make a new deployment. Select the 'Web APP' type, set the user permissions, and complete the deployment of the script. 2009 + 2010 +(% style="text-align:center" %) 2011 +[[image:3W00uSwkVQ1.png]] 2012 + 2013 +1.6 In the 'Manage deployments' interface, obtain the URL of the web app. 2014 + 2015 +(% style="text-align:center" %) 2016 +[[image:HoLYu2nzvq.png]] 2017 + 1951 1951