AppsScriptPulse

One Code to Rule Them All: Deploying Editor Add-Ons Across Google Sheets, Docs, Slides, and Forms

Mastering Google Apps Script: Deploy Once, Run Everywhere 🚀

What’s The Issue? 🤔

Building add-ons with Google Apps Script is akin to owning a magic wand for distributing your application. And if you’re like me, you’ve probably created an army of internal add-ons for clients and personal use, especially those sweet editor add-ons. But here’s the catch: every time you deploy your add-on, you need to specify the script ID and the deployment version for each context (Docs, Sheets, Slides, and Forms). Keeping up with 4 different files isn’t just tedious; it’s like trying to juggle flaming swords while on a unicycle 🙃. But don’t worry, there’s a better way!

Source: One Code to Rule Them All: Deploying Editor Add-Ons Across Google Sheets, Docs, Slides, and Forms

Easily merge data from Google Sheets into Google Docs and Slides with the TemplateApp Google Apps Script

This report introduces the method for easily processing the template of Google Documents and Google Slides using Google Spreadsheet as a database using Google Apps Script. Google Spreadsheet is used as a database. Google Documents and Google Slides are used as templates. The simple method for creating new Google Documents and Google Slides using the database and the templates is introduced.

Latest Apps Script magic from Kanshi Tanaike, this time they turn their addition to an easy way to use data from Google Sheets as a ‘document merge’ for templates created in Google Docs and Google Slides. This is achieved by using the TemplateApp Apps Script library, which has lots of useful features including simply methods for sheetRangeToDocuments() as well as the ability to embeded and fixed width images from placeholders. There are some llimitations documented in the GitHub repo, as well as examples for all the methods available in the library.

[In other ‘merge’ news Google have announced that you can now use Google Sheets with Google official mail merge in Gmail]

 

Source: Easily Processing Templates of Google Documents and Google Slides using Google Spreadsheet with Google Apps Script

List all files and folders in a selected folder’s directory tree in Google Drive using Google Apps Script

A fast approach to get all items in a directory tree in Google Drive with Google Apps Script. Contains video and edge case handling.

This is an excellent detailed step-by-step tutorial from Scott Donald all about how to efficiently list all files and folders in a folder’s directory tree in Google Drive using Google Apps Script. The in parents method is one we’ve covered before in Pulse, but Scott provides a very comprehensive explanation of what’s going on, plus all the code is available if you would like to reuse in your own projects.

Source: List all files and folders in a selected folder’s directory tree in Google Drive: Apps Script – Yagisanatode

Master Google Apps Script UIs — Part 8: Deploying Across Multiple Environments

Streamlining Your Development Workflow with Multiple Deployment Environments 🚀

Kickoff: Marching Towards Deployment

Welcome back, dear coders! Our Emojibar is not just a fun prototype anymore — it’s a full-fledged tool ready to be unleashed into the wild. But before we let it run free, we need to get our house in order, or in our case, our environments. And no, I’m not talking about recycling, though you should be doing that too!

Professional development calls for setting up different environments — it’s a bit like having different outfits for different occasions. At the very least, you’ll want to have a development environment where you experiment and break things (yes, it’s encouraged!), a User Acceptance Testing (UAT) environment where your users can give your app a test drive, and a production environment, the red carpet where your app shines.

Source: Master Google Apps Script UIs — Part 8: Deploying Across Multiple Environments

New Google Apps Script library to convert files with the Drive API (including OCRing image file formats)

Apps Script library to convert between file types, including OCR for image to documents, with a huge repertoire of conversion combinations.

The Drive API offers a whole range of conversions between mimeTypes, but it’s a little fiddly to figure out exactly how. This library takes a file and an a desired output format and converts it for you. Sometimes, there’s not a direct route – for example if you need to convert a word file to a pdf, it first needs to get converted to a Google Doc, then to a Pdf. This library automatically works out and actions any intermediate conversions required.

For those who are unfamiliar MIME types (mimeTypes) is a standard way of identifying a file’s content type, such as text, image, or audio. The MIME type for a file is usually used by applications to determine how to open and display the file. Google Drive is able to convert various files, such as a MS Word document to Google Docs.

Sometimes there isn’t a direct route and this clever library from Bruce Mcpherson can help alleviate the pain. The library works by first checking if there is a direct route between the input and output file formats. If there is, it simply converts the file. If there is no direct route, the library will use the Drive API to first convert the file to a format that can be converted to the output format. For example, if you need to convert a Word file to a PDF, the library will first convert the Word file to a Google Doc, and then convert the Google Doc to a PDF.

Knowing what mimeType to use can be a bit of a challenge but you can also use the library to give a list of known types, or if you prefer a more readable list of Google Drive export MIME types.

Source: Convert any file with Apps Script – Desktop Liberation

Using Apps Script tasks as part of Google Cloud Application Integration workflows

Application Integration is an Integration-Platform-as-a-Service (iPaaS) solution in Google Cloud that offers a comprehensive set of core integration tools to connect and manage the multitude of applications and data required to support various business operations.

The Application Integration platform provides a unified integration designer with out-of-the-box triggers, custom-configurable tasks, and plug-n-play connectors. The integration designer is a drag-and-drop interface that lets you create your entire integration flow with little or no code. You can create, modify, and run all your integrations in the integration designer.

I recently rediscovered Google’s new Application Integration service, which is currently in preview. If you are unfamiliar with this service it in part “offers a drag-and-drop visual interface that lets you create an entire integration flow with little or no code. Connectors also allow you to call and perform operations on various entities”.

There are a long list tasks that can be configured for Google Cloud services, but you are not limited to just these and you can add your own data sources. As a Google Workspace Developer, it’s been interesting to look at the Apps Script task integration. With this you can get task parameters from your integration, run any operations as you would with any other Apps Script project, with the option to set integration variables for the rest of your workflow.

The linked documentation page provides setup instructions. When you setup the Apps Script integration it creates a project with some boilerplate including adding a AppsScriptTask library. Lots of possibilities to use the Apps Script built-in and advanced services to rapidly create applications. I’m looking forward to seeing what the community come up with.

Source: Apps Script task | Application Integration  |  Google Cloud

Management of rich text cell formatting in Google Sheets with Google Apps Script

In order to add and delete a text for the rich text in a cell, it is required to create a script while the current text style is kept. This is actually complicated. In this post, I would like to introduce the enriched management of rich text on Google Spreadsheet using Google Apps Script. In order to enrich the management of Rich Text using Google Apps Script, I created a library RichTextAssistant.

Some very clever work from Kanshi Tanaike which can help with the management of cell text formatting in Google Sheets.  The RichTextAssistant Apps Script library included in the post has some nice methods for both handling and preserving cell text formatting. It’s worth spend a little time checking the various samples provided to see what is possible and how these might enhance one of your own script projects.  If you are curious the source code for the library is also on GitHub and linked from the post.

Source: Enriched Management of Rich Text on Google Spreadsheet using Google Apps Script

Two ways to remove duplicate rows from Google Sheets using Google Apps Script

For many years users had to find a variety of workarounds if they wanted to remove duplicate rows from Google Sheets. This all changed in 2019 when Google announced new features, which included removing duplicates from Google Sheets. Recently I got tagged in a conversation with Andrea Guerri who shared some ‘remove duplicate’ example scripts. This sent me down a bit of a rabbit hole looking at various ‘remove duplicate’ Apps Script solutions and I’ll share two of my favourites.

Source: Two ways to remove duplicate rows from Google Sheet using Google Apps Script

How to monitor your MongoDB with Google Sheets and Apps Script 

Conduct app monitoring, data backup, and data analysis for your MongoDB … This article shares a simple way to achieve this using Google Sheets and Apps Script. In this article, you will learn how to:

  1. Populate MongoDB data in Google Sheets for analysis
  2. Receive daily reports of your app’s growth metrics via email

Often the hardest part of interacting with other services using Google Apps Script is working out the payload you need to send with UrlFetchApp. Despite having almost 1,000 posts in AppScriptPulse, this is the first post featuring MongoDB. The source post has all the code and setup instructions to start collecting MongoDB data into Google Sheets as well as sending a daily email report of selected metrics.

Source: How to Track Your App’s Growth Using Google Sheets and Apps Script

Building a YouTube comments dataset with Google Apps Script

The first step in conducting research involves acquiring an appropriate dataset. .. Apps Script is a scripting platform developed by Google, that provides a user-friendly interface that enables easy automation and interaction with various Google services, including YouTube’s API.

For many years I was custodian of TAGS, a Google Sheets solution to archive Twitter searches. This came to an abrupt end when Twitter put a hefty paywall on API access. I’m sure there were ‘bad actors’ using TAGS, but I was also aware there were a number of academics and students using this solution to help make the world a little better. As noted in this source post “Dataset plays a crucial role in ensuring the accuracy and dependability of the results we obtain”.

For social scientists looking for new datasets this post from Randie Pathirage highlights how you can use Google Apps Script to get comments on YouTube videos using the YouTube Data API.

Source: YouTube Comment Scraping Made Easy with Apps Script