├── .markdownlint.json ├── .vscode └── settings.json └── readme.md /.markdownlint.json: -------------------------------------------------------------------------------- 1 | { 2 | "default": true, 3 | "MD013": false, 4 | "MD034": false 5 | } -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.eol": "\n" 3 | } -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # 1. Google Apps Script List 2 | 3 | 4 | 5 | - [1.1. Resources](#11-resources) 6 | - [1.1.1. Useful sites & blogs](#111-useful-sites--blogs) 7 | - [1.1.2. Awesome code & things](#112-awesome-code--things) 8 | - [1.1.3. Lists](#113-lists) 9 | - [1.2. Development](#12-development) 10 | - [1.2.1. Starter Kits](#121-starter-kits) 11 | - [1.2.2. Shims and polyfills](#122-shims-and-polyfills) 12 | - [1.3. Libraries & Modules](#13-libraries--modules) 13 | - [1.3.1. Using databases](#131-using-databases) 14 | - [1.3.2. ORM (O/RM and O/R mapping tool)](#132-orm-orm-and-or-mapping-tool) 15 | - [1.3.3. Utility](#133-utility) 16 | - [1.3.4. Parsing](#134-parsing) 17 | - [1.3.5. oAuth](#135-oauth) 18 | - [1.3.6. Images & Pictures](#136-images--pictures) 19 | - [1.3.7. Data Studio community connectors](#137-data-studio-community-connectors) 20 | - [1.3.8. Pack modules and universal libraries](#138-pack-modules-and-universal-libraries) 21 | - [1.4. Open Source Apps & Add-ons](#14-open-source-apps--add-ons) 22 | - [1.5. Testing](#15-testing) 23 | - [1.6. Logging](#16-logging) 24 | - [1.7. Snippets and assorted](#17-snippets-and-assorted) 25 | - [1.7.1. Snippets](#171-snippets) 26 | - [1.7.1.1. Lists & collections](#1711-lists--collections) 27 | - [1.7.1.2. Spreadsheets](#1712-spreadsheets) 28 | - [1.7.1.3. XML](#1713-xml) 29 | - [1.7.2. Assorted](#172-assorted) 30 | 31 | 32 | 33 | ## 1.1. Resources 34 | 35 | - [Google Apps Script Community](https://groups.google.com/forum/#!forum/google-apps-script-community) Google Groups 36 | - Search by label [[google-apps-script]](https://github.com/search?q=topic%3Agoogle-apps-script) on GitHub 37 | - SO [[google-apps-script]](http://stackoverflow.com/questions/tagged/google-apps-script) tag 38 | - Google Apps Script communities collection [#85](https://github.com/oshliaer/google-apps-script-awesome-list/issues/85) This repo's issue 39 | 40 | ### 1.1.1. Useful sites & blogs 41 | 42 | - [Digital Inspiration](https://www.labnol.org/topic/google-apps-script) Amit Agarwal's site 43 | - [mashe.hawksey.info](https://mashe.hawksey.info/category/google/google-apps-script) Martin Hawksey's site 44 | - [ramblings.mcpher.com](http://ramblings.mcpher.com/) Desktop Liberation - the definitive resource for Google Apps Script and Microsoft Office automation 45 | - [googleappscripting.com](http://googleappscripting.com) Google Apps Script Tutorials and Examples • Making Google Apps Script Accessible to Eveybody 46 | - [scriptsexamples](https://sites.google.com/site/scriptsexamples/custom-methods) A set of code samples and libraries to foster programming in Google AppsScript to be easy 47 | - [tanaikech.github.io](https://tanaikech.github.io/tags/google-apps-script/) The `Google Apps Script` tag of the Kanshi's blog 48 | - [andrewroberts.net](http://www.andrewroberts.net) The Andrew Roberts's site 49 | - [kutil.org](http://www.kutil.org/search/label/google%20apps%20script) The `google apps script` tag of Ivan Kutil's blog 50 | - [googleappsscript.org](http://www.googleappsscript.org/) Google Apps Script Tutorial 51 | - [scriptingwithshiva.blogspot.com](https://scriptingwithshiva.blogspot.com/) Scripting With Shiva It will help those wants to start Google Apps script Development from scratch 52 | - [benlcollins.com](https://www.benlcollins.com/) Ben Collins's site 53 | - [pulse.appsscript.info](https://pulse.appsscript.info/) User contributed tutorials and news 54 | 55 | ### 1.1.2. Awesome code & things 56 | 57 | - [Making a virtual machine in Google Sheets](http://briansteffens.com/2017/07/03/google-sheets-virtual-machine.html) Register of Apps Script consultants 58 | - [Easy data scraping with Google Apps Script in 5 minutes](http://www.kutil.org/2016/01/easy-data-scrapping-with-google-apps.html) 59 | - [Send SMS with Google Sheets and your Android Phone)(https://www.labnol.org/send-sms-google-sheets-200402) 60 | 61 | ### 1.1.3. Lists 62 | 63 | - [Apps Script consultants](https://docs.google.com/presentation/d/1U1y6Vjf5ClEof15JLw4qg7tpjpo4MHk7uhVKpjVkA9M/edit?usp=sharing) 64 | - [Learning Google Apps Script](https://gist.github.com/labnol/0b67f812a827fd9babc5) The best resources for learning Google Apps Script, the glue that connects GSuite services including Gmail, Google Drive, Calendar, Maps, Analytics and more 65 | 66 | [goto top ⇑](#google-apps-script-list) 67 | 68 | ## 1.2. Development 69 | 70 | - [google/clasp](https://github.com/google/clasp) Develop Apps Script projects locally using clasp (Command Line Apps Script Projects) CLI 71 | - [gas-local](https://github.com/mzagorny/gas-local) Execute and test your google app scripts locally in node.js 72 | - [gamified_journal](https://github.com/brainysmurf/gamified_journal) Proof of concept of a local development / push toolchain for Google Apps Scripting 73 | - [gas-github](https://github.com/leonhartX/gas-github) Chrome-extension to manage Google Apps Script(GAS) code with github/github enterprise 74 | - [ggsrun](https://github.com/tanaikech/ggsrun) This is a CLI tool to execute Google Apps Script (GAS) on a terminal 75 | - [gdrive](https://github.com/prasmussen/gdrive) Google Drive CLI Client 76 | - [MaartenDesnouck/google-apps-script](https://github.com/MaartenDesnouck/google-apps-script) gas, for locally developing Google Apps Script projects 77 | - [gas-lib](https://www.npmjs.com/package/gas-lib) NPM package to add code auto-completion for Google AppsScript in your prefered code editor 78 | - [AppsScriptColor](https://chrome.google.com/webstore/detail/appsscript-color/ciggahcpieccaejjdpkllokejakhkome) _(3 700+ users)_ This Chrome extension provide 2 dark color themes for the google apps script editor. It also allows to use folders to sort your files more cleanly 79 | - [KaiShoya/autocomplete-gas](https://github.com/KaiShoya/autocomplete-gas) Google Apps Script autocompletions for [Atom editor](https://atom.io/packages/autocomplete-gas) 80 | - [rudimusmaximus/DevFlow](https://github.com/rudimusmaximus/DevFlow) A Dev Flow for Google Appscript 81 | - [fossamagna/gas-webpack-plugin](https://github.com/fossamagna/gas-webpack-plugin) Webpack plugin for Google Apps Script 82 | - [Andrew Roberts' Dev Flow](https://docs.google.com/document/d/1GgTZmY4VFzejVl7cTeKOc7PWtyZnhu-fFhysZ2ShRN4/edit#heading=h.v2f4oyhmg3cs) - Description of a dev flow using Github assistant. 83 | - [Set up a Local Development Environment for Apps Script](https://www.youtube.com/watch?v=KxdCIbeO4Uk) - Write code faster inside VS Code. 84 | - [maelcaldas/clasp-types](https://github.com/maelcaldas/clasp-types) A d.ts generator for clasp projects 85 | 86 | ### 1.2.1. Starter Kits 87 | 88 | - [apps-script-starter](https://github.com/labnol/apps-script-starter) A starter kit for building Google Apps Script projects with modern JavaScript ES6, Webpack, Babel and ESLint inside Visual Studio Code 89 | - [realworld-apps-script](https://github.com/lastlink/realworld-apps-script) JWT REST API following the RealWorld API spec 90 | - [gas-minimal-boilerplate](https://github.com/asciian/gas-minimal-boilerplate) A minimal boilerplate with webpack for Google Apps Script 91 | - [google-apps-script-template](https://github.com/nirazul/google-apps-script-template) A feature rich task runner for Google Apps Script to write, lint and push modern code to your documents 92 | - [gas-shell](https://github.com/JeanRemiDelteil/gas-shell) Starter template to develop locally Google AppsScript project with your prefered code editor (include build and publish as Add-on commands) 93 | - [artnc/gas-es6-webpack](https://github.com/artnc/gas-es6-webpack) ES6+Webpack boilerplate for Google Apps Script 94 | - [google-app-script-ts-jest](https://github.com/lastlink/google-app-script-ts-jest) Rest api in typescript with jest unit tests working with vscode debugger 95 | - [howdy39/gas-clasp-starter](https://github.com/howdy39/gas-clasp-starter) A starter template for Google Apps Script by clasp 96 | - [zaki-yama/webpack-google-apps-script-template](https://github.com/zaki-yama/webpack-google-apps-script-template) Template for developing Google Apps Script with Webpack 97 | - [JeanRemiDelteil/gas-starter-kit](https://github.com/JeanRemiDelteil/gas-starter-kit) Empty projet to start develop in Google AppsScript locally 98 | - [faresd/google-apps-script_travis-ci](https://github.com/faresd/google-apps-script_travis-ci) Automating Apps Script build, test, deployment and publishing in Chrome Webstore as an add-on using Travis CI 99 | - [sao-clasp](https://github.com/takanakahiko/sao-clasp) With one command, Generate a Google Apps Script project that uses clasp 100 | 101 | ### 1.2.2. Shims and polyfills 102 | 103 | - [cEs6Shim. Using Es6 with Apps Script](http://ramblings.mcpher.com/Home/excelquirks/gassnips/es6shim) 104 | 105 | [goto top ⇑](#google-apps-script-list) 106 | 107 | ## 1.3. Libraries & Modules 108 | 109 | ### 1.3.1. Using databases 110 | 111 | - [FirebaseApp](https://github.com/RomainVialard/FirebaseApp) The Google Apps Script binding for the Firebase Realtime Database 112 | - [oshliaer/alasqlgs](https://github.com/oshliaer/alasqlgs) AlaSQLGS is a library that enables the use of the AlaSQL.js library in Google Apps Script 113 | 114 | ### 1.3.2. ORM (O/RM and O/R mapping tool) 115 | 116 | - [Goodel](https://github.com/7imon7ays/Goodel) An ORM for Google Apps scripts 117 | - [gs-spreadsheet-manager](https://github.com/jsoma/gs-spreadsheet-manager) A slightly more object-oriented, ORM-y, and altogether pleasant way of dealing with Google Spreadsheets when using Google Apps Script 118 | - [Sheetfu](https://github.com/socialpoint-labs/sheetfu) An ORM to treat spreadsheet as database tables using Google Apps Scripts. [Sheetfu's Python version](https://github.com/socialpoint-labs/sheetfu) 119 | - [itmammoth/Tamotsu](https://github.com/itmammoth/Tamotsu) Object-Spreadsheet Mapping for Google Apps Script 120 | - [Gexpress-middleware-RESTsheet](https://github.com/coderofsalvation/Gexpress-middleware-RESTsheet) Spreadsheet exposed as http REST endpoints (based on tamotsu) 121 | 122 | ### 1.3.3. Utility 123 | 124 | - [gas-underscore](https://github.com/simula-innovation/gas-underscore) Underscore for Google Apps Script 125 | - [lodashgs](https://github.com/oshliaer/lodashgs) Lodash for Google Apps Script is a library that enables the use of the lodash.js library in Google Apps Script 126 | - [brucemcpherson/cUseful](https://github.com/brucemcpherson/cUseful) Various dependency free useful functions 127 | - [Gexpress](https://github.com/coderofsalvation/Gexpress) Express-ish middleware for google appscript (build NODEJS-ish applications) 128 | - [tanaikech/RangeListApp](https://github.com/tanaikech/RangeListApp) RangeListApp is a GAS library for retrieving, putting and replacing values for Spreadsheet by a range list with a1Notation using Google Apps Script (GAS) 129 | - [syslogic/google-apps-script](https://github.com/syslogic/google-apps-script) CloudDatastore.gs is a client for Google Cloud Datastore, which runs as a Service Account 130 | - [Sheetbase](https://sheetbase.dev) Build REST API server, websites and apps using Google Apps Script. 131 | 132 | ### 1.3.4. Parsing 133 | 134 | - [Apps-Script-htmlparser2-library](https://github.com/Spencer-Easton/Apps-Script-htmlparser2-library) A browserified version of fb55/htmlparser2 modified to work in Google Apps Script 135 | - [cheeriogs](https://github.com/asciian/cheeriogs) HTML manipulation library with jQuery-like interface 136 | 137 | ### 1.3.5. oAuth 138 | 139 | - [apps-script-oauth1](https://github.com/gsuitedevs/apps-script-oauth1) An OAuth1 library for Google Apps Script 140 | - [apps-script-oauth2](https://github.com/gsuitedevs/apps-script-oauth2) An OAuth2 library for Google Apps Script 141 | - [brucemcpherson/cGoa](https://github.com/brucemcpherson/cGoa) OAuth2 for Apps Script in a few lines of code 142 | 143 | ### 1.3.6. Images & Pictures 144 | 145 | - [ImgApp](https://github.com/tanaikech/ImgApp) This is a library of image tools for Google Apps Script 146 | - [GPhotosApp](https://github.com/sudtanj/gas-GPhotosApp) This is a Google Photos REST API library for Google Apps scripts 147 | - [InstagramApp](https://github.com/sudtanj/gas-InstagramApp) Instagram images API for Google Apps scripts to download images and video 148 | 149 | ### 1.3.7. Data Studio community connectors 150 | 151 | - [googledatastudio/community-connectors](https://github.com/googledatastudio/community-connectors) This repository contains open source content for Google Data Studio 152 | 153 | ### 1.3.8. Pack modules and universal libraries 154 | 155 | - [classroomtechtools/modularLibraries](https://github.com/classroomtechtools/modularLibraries.gs) A collection of importable, modular libraries for any gas project 156 | 157 | [goto top ⇑](#google-apps-script-list) 158 | 159 | ## 1.4. Open Source Apps & Add-ons 160 | 161 | - [google-docs-add-on](https://github.com/Automattic/google-docs-add-on) Publish to WordPress from Google Docs 162 | - [email-studio-gmail-addon](https://github.com/labnol/email-studio-gmail-addon) Gmail add-on for Mail Merge and Email Scheduler 163 | - [erickoledadevrel/crop-sheet](https://github.com/erickoledadevrel/crop-sheet) An add-on for Google Sheets that allows you to easily remove extra rows and columns 164 | - [ericyd/gdrive-transfer](https://github.com/ericyd/gdrive-transfer) Web app to transfer ownership of a Google Drive folder, including all sub-folders and documents 165 | - [ericyd/gdrive-copy](https://github.com/ericyd/gdrive-copy) Google Drive Copy Folder 166 | - [stardotbmp/slack-gas-signup](https://github.com/stardotbmp/slack-gas-signup) Google Apps Script Html Webapp as sign-up page for a slack channel 167 | - [Atlassian Cloud for Gmail add-on](https://bitbucket.org/atlassian/atlassian-cloud-for-gmail) An add-on to view information about items from Jira Cloud & Bitbucket Cloud, and take action on them from Gmail. 168 | - [Davepar/gcalendarsync](https://github.com/Davepar/gcalendarsync) Apps Script for syncing a Google Spreadsheet with Google Calendar 169 | - [Google Forms](https://github.com/labnol/google-forms) Google Scripts for sending emails, generating PDFs and setting response limits inside Google Forms. 170 | - [Website Monitor](https://github.com/labnol/website-monitor) Apps Script for monitoring the uptime of websites inside Google Sheets. 171 | - [Gmail Unsubscriber](https://github.com/labnol/unsubscribe-gmail) Google Script for unsubscribing from emails newsletters and other bulk email in Gmail with one click. 172 | 173 | 174 | [goto top ⇑](#google-apps-script-list) 175 | 176 | ## 1.5. Testing 177 | 178 | - [gast](https://github.com/zixia/gast) Google Apps Script TAP Testing-framework 179 | - [GSUnit](https://sites.google.com/site/scriptsexamples/custom-methods/gsunit) is a Google Apps Script based testing framework based on JUnit by Kent Beck and JSUnit by Edward Hieatt. It will allow one to run tests while developing 180 | - [classroomtechtools/modularLibraries.gs/UnitTesting](https://github.com/classroomtechtools/modularLibraries.gs/tree/master/UnitTesting) Assertion and unit testing of modular libraries 181 | - [simula-innovation/qunit](https://github.com/simula-innovation/qunit) An easy-to-use JavaScript Unit Testing framework 182 | 183 | [goto top ⇑](#google-apps-script-list) 184 | 185 | ## 1.6. Logging 186 | 187 | - [gasl](https://github.com/zixia/gasl) Google Apps Script Logging-framework 188 | - [BetterLog](https://github.com/peterherrmann/BetterLog) Logging library that extends the native apps script Logger, mainly to allow logging to a GSheet 189 | - [BBLog](https://github.com/andrewroberts/BBLog) Logging library that further extends BLog to give 190 | - logging to a Firebase DB 191 | - multiple logging instances 192 | - logging of function names and line numbers 193 | - log the user's email address or ID, in a full or disguised format 194 | - automatically format log GSheet 195 | 196 | [goto top ⇑](#google-apps-script-list) 197 | 198 | ## 1.7. Snippets and assorted 199 | 200 | ### 1.7.1. Snippets 201 | 202 | #### 1.7.1.1. Lists & collections 203 | 204 | - [Google Apps Script Cheat Sheet](https://github.com/jychri/google-apps-script-cheat-sheet) 205 | - [Andrew Roberts' Scripts and Snippets](http://www.andrewroberts.net/scripts-and-snippets/) 206 | 207 | #### 1.7.1.2. Spreadsheets 208 | 209 | - [[Apps Script] Getting the unmerged ranges within a range](https://gist.github.com/erickoledadevrel/6fa9b256f41b5d7646ba6ed37e0f8018) 210 | - [Google Apps Script to fill in a Document template with Spreadsheet data](https://gist.github.com/mhawksey/1170597) 211 | 212 | #### 1.7.1.3. XML 213 | 214 | - [A function to convert an XML string to a JSON object in Apps Script, using logic similar to the sunset method Xml.parse()](https://gist.github.com/erickoledadevrel/6b1e9e2796e3c21f669f) 215 | 216 | ### 1.7.2. Assorted 217 | 218 | - [GoogleSheets](https://github.com/Max-Makhrov/GoogleSheets) best code I've tested in Google Sheets 219 | - [google-apps-script-snippets](https://github.com/oshliaer/google-apps-script-snippets) Google Apps Script Snippets 220 | - [google-docs](https://github.com/fastfedora/google-docs) Libraries and functions used within Google Docs 221 | - [youtube/api-samples/apps-script](https://github.com/youtube/api-samples/tree/master/apps-script/snippets) The youtube-data-api.gs file in this directory contains code snippets that are generated by the Data API code snippet tool at: https://developers.google.com/youtube/v3/code_samples/code_snippets 222 | - [google/google-apps-script-samples](https://github.com/google/google-apps-script-samples) Various sample code and projects for the Google Apps Script platform 223 | - [googlesamples/apps-script-templates](https://github.com/googlesamples/apps-script-templates) This repository contains a number of code templates for Google Apps Script that provide example frameworks for Apps Script projects 224 | - [derekantrican/Google-Apps-Script-Library](https://github.com/derekantrican/Google-Apps-Script-Library) A variety of functions/programs written for Google Apps Script and Google services 225 | - [stardotbmp/google-sheet-functions](https://github.com/stardotbmp/google-sheet-functions) A single repository for open sharing of custom functions I have found to be useful generally 226 | - [googlesamples/apps-script](https://github.com/googlesamples/apps-script) Sample code for Google Apps Script, a cloud-based scripting service for Google Apps 227 | - [An Example of using an HTML form (e.g: "Contact Us" on a website) to send Email without a Backend Server (using a Google Script)](https://github.com/dwyl/html-form-send-email-via-google-script-without-server) 228 | - [googlescriptreference.com](http://googlescriptreference.com/) Google Script Reference 229 | - [rudimusmaximus/BurningGAS](https://github.com/rudimusmaximus/BurningGAS) Demonstrate various google apps script using a menu of functions inside a fresh google sheet and container bound editor 230 | - [GAS-Framework](https://github.com/andrewroberts/GAS-Framework) - library boilerplate that provides logging ([BBLog](https://github.com/andrewroberts/BBLog)) and error handling ([Assert](https://github.com/andrewroberts/Assert)) 231 | - [JSONPath](https://script.google.com/a/google.com/d/1BtmcVnmTKAxqdiHN9Q5cM6M6E5MUMzVtQjSfav-OIQxNIoACkDdlst53/edit) Extract data from complex data structures with simple expressions. Google Apps Script version of [this](https://github.com/dchester/jsonpath) library. 232 | - [AutoSteamGifts](https://github.com/sudtanj/AutoSteamGifts) A Modified version based on Python script by joaopsys that run on Google server using Google App Script to automatically enter every giveaway that you can afford on SteamGifts.com 233 | 234 | [goto top ⇑](#google-apps-script-list) 235 | --------------------------------------------------------------------------------