"In this example you can use this script to send an email based on a drop selection. Here the school is identified as the criteria for who receives the email. The list of schools and the email recipient are listed on a separate spreadsheet called 'Setting' and can be edited as desired. Also the email subject and message can be edited also. At the end of the email message the form items that were selected at appended to the email."
" We recently submitted our product CloudShuttle to the Chrome web store for Google Sheets add-ons. Am I tired? Yes. Did I spend a few too many late nights in front of a code editor? Yes.
Would I do it again? One hundred bajillion percent yes.
So, having spent the last few month with my head way inside the process to integrate Google docs with an SAP backend through NetWeaver Gateway, I humbly offer a few tips to the blogosphere for anyone wanting to do the same thing. "
In Migrate data from scriptDb to Datastore I showed how to copy over data easily from scriptdb to datastore. The good thing about abstracting the database is that code is the same regardless of which database use you are using (once you've got the handle).
"In EzyOauth2 - taking some pain out of Apps Script API authentication, I provided a library to simplify oAuth2, then in EzyOauth2 patterns I showed simple patterns for creating apps. Now you will probably want to have multiple authentication packages for different packages and scopes. Unfortunately, everybody's oAuth2 implementation is a little different, but we can still use a standard pattern to abstract away those differences.
To illustrate, I'm going to add a new oAuth2 package - this time for the soundcloud service. "
"Someone recently asked for the ability to schedule send an email. It was for a link to a class feedback form and ideally they'd like to be able to send it near the end of the class.
We looked at Boomerang, which had issues with authenticating with the York domain, and broke the CSS of Gmail slightly. We tried mx Hero, a Chrome app but after a tip off from a colleague and reading the reviews and discovering it at times didn't send the email, or used http rather than https etc we thought it might be better to look into making our own solution.
"Starting today, we are deprecating the option for developers to publish to the script gallery. No new gallery submissions will be accepted or approved, but scripts already present in the gallery will remain accessible (via the old version of Sheets). "
"The SheetConverter Google Apps Script library provides functions that can retrieve the contents of a spreadsheet range in plain text or html, preserving the formatting that is present in the spreadsheet."
"Our special guest for the show is none other than EdTech royalty, Andrew Stillman, creator of insanely useful scripts and Add-ons … most notably, Doctopus and Autocrat. Andrew talks about some of the tools you might not have heard of like siteMaestro and chromebookInventory. He also chimes in on his unique perspective on Google Classrooms."
YouTube Analytics Channel Reports are restricted to the user authorizing the request must be the owner of the channel. This can cause issues in Apps Script when interacting with other services. This post highlights a workaround where the data is proxied via a separate script published as a web app.
There are regular reporting features built in to Google Analytics but what if you want to do customised reporting? One answer is Google Apps Script and this post walks you through access Google Analytics data in one line of code and setting up automated collection
Martin Hawksey's insight:
Not forgetting you can do some sophisticated data manipulation with built-in Sheet formula like QUERY, SORT and combining others using ARRAYFORMULA
Back in 2011 I showed how you can use Google Apps Script to write POST/GET data to a Google Sheet. Over the years a couple of things have changed in Apps Script so I thought it was worth a revisit. This version uses features like LockService, PropertiesService and ContentService to make it more robust and make it possible to do ajax powered form submissions. The post includes a couple of tips that appear to be catching people out including versioning and permissions scope.
" Using the debugger, you can set break points in the code at places of your choice. When code execution lands on a break point, it halts; while time remains frozen, you can check how your code is operating, examine variable values, read log messages etcetera."