Sharing content – not files – with Apps Script
My objective for a project I’m working on was to find a secure and simple way to publish ephemeral content without actually sharing files or hosting it anywhere. I’m not going to lie – this […]
My objective for a project I’m working on was to find a secure and simple way to publish ephemeral content without actually sharing files or hosting it anywhere. I’m not going to lie – this […]
Anaylze and colorize the sentiment of inidivual sentences in Google using Documents Google Language API […]
It’s been a few years since I first created the Goa library. Initially it was mainly to provide OAuth2 authorization and authentication to be able to access Google APIS and services unavailable via App Script. […]
This article will look at some of the opportunities you’ll have when you pull in your libraries inline rather than leaving them as references to external files. It’s a follow on from the articles on […]
This piece of work to create inline libraries was both challenging and a lot of fun to produce, and it’s something I’ve wanted to get round to for a long time. Apps Script libraries are […]
1000 pages and counting Most years I do a post on ‘a year in Apps Script’, looking back over the changes in the platform over the preceding year. As many of you will probably know, […]
This article covers how to pull scripts from multiple projects and import them into another project. You can even use this to make container bound script standalone, or visa versa. My initial motivation for this […]
In Merging sheets from multiple sources and encrypting selected columns I published some code for selectively copying columns from multiple input spreadsheets/sheets to create summary sheets, and optionally encrypting columns. The idea was to distribute the […]
It’s very convenient to use ScriptApp.getOAuthToken() in an addon to reuse the token from the server side in your client side add-on code. However, these have a limited time to live (1 hour), so what […]
If you use some of my libraries, you may have come across the Fiddler class, which abstracts sheet data and provides a more functional way to manage data from multiple sheets in a Google Spreadsheet. […]
Vuex If you use Vue.js, then you probably use (or should consider using) Vuex for state management. Like most Vue.js related things, it’s at its easiest when used with Node tooling, but you can also […]
Include patterns When using HtmlService it can be quite messy to organize your script/js/html/css files and vue components so that they can be inserted into your add-on/webapp. This becomes much more complex when you want […]
When a browser tab goes in and out of view, it’s possible you want to do something differently. If you’re writing Apps Script add-ons this is especially true. TabVisibility is a class to allow […]
If you use some of my libraries, you may have come across the Fiddler class, which abstracts sheet data and provides a more functional way to manage data from multiple sheets in a Google Spreadsheet. […]
Create beautiful Apps Script add-ons with Vuetify and Vue.js The idea of ‘reactive programming’ has been around for many years, but frameworks such as React, Vue and so on have moved it into the mainstream. […]
Important note on my add-ons I’ve (reluctantly) decided to stop supporting all my Apps Script add-ons, as I no longer have the time or inclination to put them through the various verification processes and upcoming […]
Apps Script is inherently synchronous – you cant do lots of things at once. Primarily to get round the execution limit, I did a science project using triggers for parallel processing but the triggers are fairly unpredictable […]
If you have a few add-ons, it’s good to make the Settings a consistent layout and behavior across them. It’s good for the add-on user, since they can go between your add-ons and immediately understand […]
Those of you that write add-ons will know how to test them before deployment using but sometimes this refuses to run. For example, if you have an add-on that includes an installable trigger, […]
In Watching for server side changes from the client html service I showed a method of noticing and reacting to server side data changes from a client side Apps Script add-on. It boiled down to this […]
When you first use the Google Picker with Apps Script it can be quite daunting to figure out how to do what, and in what order, especially as there a few error reported in the […]
Important note on my add-ons I’ve (reluctantly) decided to stop supporting all my Apps Script add-ons, as I no longer had the time or inclination to put them through the various verification processes and upcoming […]
Using promises rather than callbacks is a much cleaner way of dealing with asynchronous activities. Promises were introduced in EcmaScript 6, and of course are not implemented in Server side Apps Script. Since everything is […]
In a recent Totally unscripted broadcast, Steve Webster provided a great introduction to monetizing add-ons, along with some sample code on how to use Stripe to manage payments. Using stripe means that you have to deal with things happening both server […]
In Google Apps Script there are 3 PropertiesServices. Document, User and Script. Office doesn’t have a direct equivalent, but we can create something for the Document and Script/User properties fairly easily. It’s not as good, […]
This isn’t a completed add-on but rather a proof of concept that may give you some hints on how to make your own. You quite often see campus layouts, or site plans or some other […]
If you are porting an Apps Script add-on to an Office add-in, you may find you’ll be dealing with competing load methods if you are using google.load to bring in some google APIS. Office Add-ins […]
Office has the concept of an Add-in (previously these were called Apps for Office as well as the JavaScript API for office). At first sight they look pretty much the same as Apps Script Add-ons – […]
This has been superseded by the add-on version – SlidesMerge add-on, but the below should still works too if you prefer to bake your own simplified version. This isn’t an add-on yet (although I may get […]
This isn’t an add-on yet (although I may get round to making it into one), but it can be used by taking a copy of the script and running it in test add-on mode. I […]
Now available on Add-ons store Dicers are a visual way of filtering rows on Sheets by selecting from lists of values that are present in selected columns.The Dicers add-on provides a simple and visual way of […]
If you already write Apps Script add-ons, you’ll know that debugging can be a little challenging, and although you can use the developer tools in chrome on a running add-on, breakpoints don’t persist between sessions […]
Chord snip is an add-on for Google Sheets that creates a Chord diagram as you type, gives you the SVG code to embed it in a web site and the ability to embed it in […]
In Watching for server-side changes from the client html service, I showed how to watch for server-side positional or data changes from the client and be woken up when they happen. That post covered spreadsheets, but […]
In Pseudo binding in HTML service I showed a way of looking for changes on the server from client side htmlservice apps. I’ve taken that a bit further and created a very straightforward structure to […]
Important note on my add-ons I’ve (reluctantly) decided to stop supporting all my Apps Script add-ons, as I no longer had the time or inclination to put them through the various verification processes and upcoming […]
Here is an index of Apps Script Add-Ons and useful add-on stuff that are distributed around this site Check the menu bar for more add-ons covered on other modules but also listed under this category […]
bruce mcpherson is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Based on a work at http://www.mcpher.com. Permissions beyond the scope of this license may be available at code use guidelines