Desktop Liberation aims to help you use cloud based APIS and services without being constrained by your desktop software. There's a particular emphasis on Google Workspace and Cloud APIs and JavaScript, but there's also plenty of Microsoft and other stuff here too. All code here is unprotected and free to re-use

To support my site, and if you find the material useful, you can buy my Google Apps Script and VBA titles published by O'Reilly media and Manning publications.

Most Recent Articles

sandbox gmail

Securely Testing Gmail Automation with gas-fakes Sandboxing

The ability to automate Gmail is a powerful feature of Google Apps Script. However, running untested scripts—especially those generated by AI—directly on your live Gmail account is risky. A single mistake could lead to damaging consequences, like spamming all your contact, accidentally deleting critical messages or sending 1000 emails to your boss. This is where gas-fakes comes in. It provides a sandboxing environment that allows you to set limits and rules to test your Gmail scripts in a safe, controlled manner. We've already shown how sandboxing can ensure targeted access to workspace files in Fake-Sandbox for Google Apps Script: Granular controls. The gas-fakes sandbox builds on a similar  whitelisting approach, but also adds additional features specific to gmail controls. A Practical Guide to the gas-fakes Gmail Sandbox These are the granular controls available in the gmail sanbox. Any attempt that violates the sandboxing rules will throw an error. Services - you can enable or disable entire ...
Use Apps Script libraries directly from Node

Use Apps Script libraries directly from Node

Now you can write native Apps Script to run on Node and use existing Apps Script libraries directly. Gas-fakes can now read manifest files and pull in and execute Apps Script libraries right in your Node Apps. This allows you to use shared Apps Script as part of a Node ...
anti gravity created routemap

Accessing Workspace resources with Google’s Antigravity and gas-fakes

Google's new agentic Antigravity development platform is a game changer in AI assisted software development. One of the tasks it often needs to be able to perform is to access workspace resources like Drive files, spreadsheets documents and so on. There are already a number of extensions and mcp servers ...
GAS FAKES CLI MCP GEMINI

gas-fakes-cli now has built in mcp server and gemini extension

In other posts on gas-fakes I've covered how to write native Apps Script code, but run it on Node. How to use gas-fakes-cli to run Apps Script Code direct from your terminal, and how to use gas-fakes's sandbox to safely interact with Gemini Cli. Now gas-fakes-cli has a built in ...
gas-fakes-cli

gas-fakes CLI: Run apps script code directly from your terminal

The gas-fakes library provides a secure local sandbox for executing Google Apps Script (GAS) code within a Node.js environment. This tool addresses the security risk of running scripts (especially AI-generated ones) that require broad permissions by emulating the Apps Script environment and translating high-level GAS calls (e.g., DriveApp) into granular, ...
Pull, Test, and Push Apps Script projects with gas-fakes

Pull, Test, and Push Apps Script projects with gas-fakes

Developing for Google Apps Script (GAS) can sometimes feel disconnected from modern development practices. The online editor is convenient for quick changes, but for complex projects, developers often prefer a local environment with version control, robust testing, and powerful build tools. I've written extensively on how to use gas-fakes to ...
upstash gas-flex-cache

Sharing cache and properties between gas-fakes and live apps script

How to integrate gas-fakes (Node-based Apps Script emulation) with the gas-flex-cache library, using a shared Upstash Redis backend to enable cross-platform sharing of Apps Script's Cache and Property stores between your local Node environment and live Apps Script projects ...
How to allow access to sensitive scopes with Application Default Credentials

How to allow access to sensitive scopes with Application Default Credentials

Struggling to use Application Default Credentials (ADC) for Google APIs like Gmail or Drive during local development? If you've hit the 'Google blocked access', learn the critical steps in the Google Cloud Console to create a custom Desktop Client ID and properly authorize your local Node.js application, finally restricted access ...
Apps Script development with gas-fakes-mcp

Apps Script development with gas-fakes-mcp

The gas-fakes-mcp project is an experimental setup that integrates the Gemini CLI with Google Workspace automation (Sheets, Drive) by utilizing the @mcpher/gas-fakes library. It effectively creates a local, sandboxed environment using Node.js where Google Apps Script (GAS) code can be generated, run, and tested via natural language prompts in the ...
Supercharge Your Google Apps Script Caching with GasFlexCache

Supercharge Your Google Apps Script Caching with GasFlexCache

Are you hitting the limits of Google Apps Script's built-in CacheService? Tired of the 6-hour expiration and restrictive size limits? GasFlexCache provides a flexible, drop-in caching layer that connects your Apps Script projects to a powerful, persistent, and scalable Redis database ...
sandbox

Fake-Sandbox for Google Apps Script: Granular controls.

In A Fake-Sandbox for Google Apps Script: Securely Executing Code Generated by Gemini CLI, Kanshi Tanaike described how you could use the sandbox feature of A proof of concept implementation of Apps Script Environment on Node to trial AI generated Apps Script in a safe environment without risk of accidentally ...
gas fakes sandbox

A Fake-Sandbox for Google Apps Script: Securely Executing Code Generated by Gemini CLI

This is a slightly abridged version of this article by Kanshi Tanaike and reproduced here with his permission. Here he documents his innovative use of gas-fakes for providing a safe sandbox environment to test and execute Apps Script code produced by AI Code Assistants such as Gemini. Abstract Generating Google ...
trying to coral all the indices

Inside the volatile world of a Google Document

Explore the complexities of Google Docs' internal structure and how Google Apps Script handles document manipulation. The challenges of managing dynamic content through indices and statefulness, comparing DocumentApp with the Docs API. Learn about stateless vs. stateful systems, and the disconnect between API and DocumentApp. How to use named ranges ...
Turning async into synch on Node using workers

Turning async into synch on Node using workers

Emulating a synchronous service on node can be tricky. This example, emulating Apps Script services on Node, shows how you can use Node workers to pipeline async-sync methods ...
another gas-fakes structure - enums

All about Apps Script Enums and how to fake them

For my gas-fakes side project (A proof of concept implementation of Apps Script Environment on Node) i needed to reverse engineer Apps Script services so you can write synchronous code on Node to call them exactly as you would in the Apps Script IDE. One of the fundamental structures is ...

Or select a Tag in the below cloud

Your browser doesn't support the HTML5 CANVAS tag.

My YouTube Channel

My Publications

  • Going GAS Video

    Going GAS Video

    An accelerated video course over about 8 hours and 70 lessons taking you through JavaScript and Apps Script from start to finish. [...]
  • Going GAS Book

    Going GAS Book

    For those who prefer book and eBook formats, a 450+ page deep dive into Apps Script. Especially useful for those transitioning from another platform. [...]
  • Live Project

    Live Project

    Create, Implement and test a AI Powered Google Workspace Add-Ons. add functionality from a collection of Google Cloud APIs such as Cloud Storage, CardService, Drive and others [...]

Google developers expert program

The Google Developers Experts (GDE) Program is a community of outstanding professionals, developers, and thought leaders. Experts share their expertise and passion with other developers and tech communities.

My GDE profile - member since 2014

Support my research and site

Discover More Content

The most geeky things

  • Using promises in JavaScript and other languages is the preferred way to orchestrate the completion of asynchronous activities. Here’s a (not perfect but fun) Promise implementation in VBA. Example includes getting data from Google Fusion [...]
  • A whole bunch of front end platform libraries that go together really well, but that are hard to grasp and get started with. Here’s a bunch of snippets to help show how all these things [...]
  • The mathematics of color is a complex and interesting topic. Here you’ll find Google Apps Script, VBA and javascript examples of color manipulation including finding the closest match to a given color in a defined [...]
  • Automating document ,creating Google Visualization and static tables of VBA projects, serialize instances of VBA classes and generating Google Apps Script skeleton of VBA projects. […] Share with your network