HTML form file-input fields are not converted to compatible blob format when submitted. They are left in application/octet-stream format. The file-input fields are passed as application/octet-stream, so DriveApp.createFile(formBlob) does not work correctly … So the functionality provided by HtmlService is not consistent with the documentation
There was an annoying little Google Apps Script issue which meant when handling file uploads to published Web Apps some additional coding was required rather than just sending the file blob server side. Thankfully the open issue ticket for this has recently been marked and confirmed fixed.
In the current stage, there is not OnEdit trigger for Google Document. But I sometimes have the case that I want to use OnEdit trigger. So, as the current workaround, I created this sample script. I think that this workaround can be also used for Google Slides, Google Form and also Google Spreadsheet. In the case of Spreadsheet, what the existing OnEdit trigger and the time-driven trigger cannot do can be achieved.
Learn how to instantly share newly enrolled teachable students to Google Drive files and folders with Google Sheets and Apps Script.
Scott ‘Yagi’ Donald provides a very thorough walk-through of how he has connected a webhook from a third party service to Google Sheets to share specific Google Drive folders and files with named users. This post is well worth a visit as it contains a number of tips and tricks like using Google Forms to follow-up with user email addresses that are not associated with a Google account.
A nice explanation of how triggers can be used in Google Forms to push new data to other systems. The post is easy to read and includes lots of screenshots to help prevent you getting lost.
They say you only live once, and, with that, you may only once find yourself at a company with a video-game-centric culture. Life at Twitch creates a unique opportunity to bring the magic of gaming to your workday, even when you’re in esoteric corners of the work world such as People Analytics.
The next episode of Totally Unscripted is scheduled usual time Wednesday 24 November. For the episode we are looking at ‘Building successful Add-ons for Google Workspace’, joined by two top add-on developers, Romain Vialard, Founder of Scriptit & John McGowan, CEO of Unicorn Magic, and Elena Kingbo, Program Manager on the Google Workspace Platform team and involved in the Google Workspace Marketplace:
The Google Workspace Marketplace offers users and administrators alike a wide variety of third party solutions that extend Google Workspace. Creating a successful add-on for the Marketplace takes more than a bit of luck to stand out from the crowd. In this episode we will chat with two purveyors of well-known add-ons Romain Vialard, Founder of Scriptit & John McGowan, CEO of Unicorn Magic, to hear what it takes to create a thriving business in the world of Workspace Add-ons. Also joining us will be Elena Kingbo, Program Manager on the Google Workspace Platform team, who helps guide developers through their Add-on journey.
As always the show is broadcast live and you can ask questions via chat, but also interested to hear in advance any of your burning questions for our panel using the comments section below or tweeting them to @AppsScriptInfo. What are your pain points? If you haven’t published a Workspace Add-on what are the blockers? Or anything else you would like to hear more?
Lighthouse is an open-source, automated tool for improving the quality of web pages. You can run it against any web page, public or requiring authentication. It has audits for performance, accessibility, progressive web apps, SEO and more.
Learn how to check indirect membership of users or groups in the context of the Google Groups Service using Apps Script.
This is a great post if you want to learn about how to programmatically navigate the hierarchy of Google Groups, which may also come in handy when you are processing other tree like structures often found in JSON. All the code needed to run this is provided and clearly explained.
This is a sample workaround for letting users running Google Apps Script on Google Spreadsheet without both authorizing the scopes and showing the script.
The post highlights the use of the existing
Google Sheets function and a publish webapp to run a Google Apps Script without the end user having to authorize the script. A limitation of this approach, and also important warning to keep in mind, is the deployed web app needs to be deployed to run as the script owner and by anyone who has the web app link.
For our next episode of Totally Unscripted we look at Google Chat, specifically Google Chat Apps. As part of this we will be joined by Aidha Shaikh who leads the Chat App strategy at Google. This episode will be broadcast live and you can join the conversation in the YouTube Live chat.
Chat bots (aka Chat Apps) offer developers a framework for building solutions within conversations and direct messages inside of Google Chat. As Google Chat has become a more integral part of Google Workspace, Chat Apps have evolved to offer developers new capabilities which in turn creates opportunities for richer interactions, integrations and workflows. In this episode, we will discuss “What’s new in the world of Chat Apps” with Aidha Shaikh, Product Manager on the Google Workspace Platform team, who leads the Chat App strategy at Google.
Learn how to build a Google Sheet journal that accepts new entries via text message. My toddler recently turned two and a half and my second daughter was born three weeks ago, so special moments are abundant but the ability to remember them is severely compromised. His suggestion of recording a memory every day in an Excel sheet or leather bound journal resonated with me, but after a few days of trying to find time to open up Excel and write a memory I realized I needed a more lightweight solution. … Twilio makes it easy and cheap to set up a dedicated phone number that can record those text messages to a Google sheet.
Nice example on the Twilio blog on using their service with Google Sheets. There is little setup required but this can all be achieved in 4 lines of code. Unfortunately, sending/receiving SMS messages with Twilio is not free, but it might be a service you keep in mind for Apps Script projects.
We’re updating the menus in Google Sheets to make it easier to locate the most commonly-used features. Some of your favorite menu items may have moved a little, but all existing functionality is still available. We hope that their new home will be more intuitive and make it easier and faster to navigate the product.
Google Workspace Updates
Google have updated the menus in Google Sheets to help with discoverability. For Google Workspace Developers one of the big changes is the new Extensions menu which replaces ‘Add-ons’ and includes links to Macros, Script Editor and AppSheet. Whilst painful if you need to update support documentation the new structure will hopefully make the location of these tools more intuitive. We covered the Google Sheets menu update in the latest episode of Totally Unscripted:
We welcome two amazing members from the DevRel (Developer Relations) team this episode.
Charles Maxson is a Developer Advocate at Google where focuses on inspiring developers of all types to build solutions that leverage Google Workspace as a platform.
Steve Bazyl is a Developer Relations Engineer and Advocate at Google and has worked with various Google Workspace APIs and partners for over a decade. Google Workspace Developer Links
Totally Unscripted co-host, Charles Maxson, and regular guest Steve Bazyl recently featured on the Google Workspace Recap podcast talking about recent trends and development within the Google Workspace developer ecosystem.
Totally Unscripted returns on 03 November at 1200 PDT / 1500 EDT / 1900 GMT (earlier time for those not watching in North America), this time joined by guests Kelly Wright (Director of Google Workspace, SADA) and Kevin Tuuri (Solutions Architect, SADA):
SADA is a Google Cloud Premier Partner that focuses on Google Cloud consulting, migration and deployment, custom development, user adoption, and change management services. As an industry leader in helping organizations implement Google Workspace, SADA has developed a practice area that builds custom solutions as unique as their customers. In this episode of Totally Unscripted, we will hear from Kelly Wright, Director of Google Workspace, and Kevin Tuuri, Solutions Architect, about how they help customers get more out of Google Workspace by customizing they way they use it. This episode will be broadcast live and you can join the conversation in the YouTube Live chat. – https://youtu.be/b_wiI8InwC0
Learn how to append a date-time stamp to list items, paragraphs and more in Google Docs with Google Apps Script
A very slick example from Scott ‘Yagi’ Donald which shows a very simple method for appending text at the current cursor position and all achieved in just over 50 lines of code, with comments. Head over to the source for the full code and explanation.
The AppsScriptPulse website was launched in 2019, providing a curated collection of the latest Google Apps Script contributions from both Google, but focusing on community contributions. The site now has over 600 solutions, snippets, tutorials and resources updated almost daily. In this episode of Totally Unscripted we are joined by Romain Vialard, Phil Bainbridge and Scott ‘Yagi’ Donald who have individually provided the top 3 Pulse contributions for 2021.
We will discuss the solutions they have created which range from offline Apps Script development with VS Code/clasp to document automation to creating games in Google Slides. This episode will be broadcast live and you can join the conversation in the YouTube Live chat.
At Pulse we recently discovered that Bruce was getting close to his 1,000th post. This milestone has now been reached with Bruce’s latest contribution ‘Creating a connector for Data Studio‘. To help mark this achievement we got in touch with some of the many ‘Bruce fans’ to reflect on Bruce’s work to date and the impact it has had on their own work.
If you would like to add your own comment feel free to use the comments section.
Laura Taylor – Google Workspace GDE
Bruce Mcpherson is one of the most prolific technical writers I’ve ever encountered. His intricate systems knowledge along with his unique writing style make for very fascinating and helpful reading. Not only is Bruce a prolific writer but also a prolific developer, contributing a number of open source libraries many of which are used daily in the Apps Script ecosystem. A great debt of gratitude is owed Bruce as he has shared his knowledge with so many. Thank you, Bruce, for your service to the Apps Script community.
Ben Collins – Google Workspace GDE
When I moved from the Microsoft world to the Google world, around 2014, there was one site I kept landing on… and that was Bruce’s! I remember early in my Google Workspace and Apps Script journey, when I was in over my head with a client project, I emailed Bruce to ask if I could use one of his many libraries in the project. He quickly replied “of course!” and proceeded to help me with a few questions I had too. I had the great pleasure of meeting Bruce in person at Next 2019 and he’s a wonderful character with many great stories. We’re lucky to have Bruce as our talisman in the Google Workspace developer group. Cheers to the next 1,000!
Eric Koleda – Former Google Developer Relations
Bruce has been a pillar of the Apps Script community for years, and hitting 1000 posts is but one sign of his love and dedication to the productivity space. My favorite post of Bruce’s ( although it’s so much more than a post) is about cGoa, an OAuth2 library for Apps Script. When the Apps Script engineering team released the /usercallback endpoint they imagined many developers building their own OAuth2 code, but I think Bruce may have been the only person not employed by Google to wade into the murky waters of implementing an authorization library. Throughout this project and others Bruce has always focussed on usability and making sure that users could get to working code quickly. Congratulations Bruce!
Chanel Greco – Google Workspace GDE
I really appreciate how Bruce actively shares his Apps Script knowledge with others through his blog, his books or by answering questions on the different community platforms.
When searching for something Apps Script related, sooner or later, you’ll land on one of Bruce’s many resources. Many of us have developed our own Apps Script skills thanks to his contributions.
Thank you Bruce!
Charles Maxson – Google Developer Relations
Congratulations on 1,000 posts Bruce! (and THANK YOU from everyone who’s ever tried to use Apps Script – your work has no doubt been discovered and essential for all!)
I myself ‘met’ Bruce through his book “Going GAS: From VBA to Google Apps Script” where he became my personal interpreter in translating my years of Office VBA knowledge into Google Apps Script. As one of the original pioneers who started building solutions on Google AppsG Suite Workspace, what’s amazing is how Bruce has continued to give back to the community by sharing posts, libraries, videos, insights and expertise for such a long time. Having the privilege to work with Bruce now as a Google Developer Expert, he continues to amaze me how much knowledge he’s amassed and still humbly shares as regularly as ever.
Looking forward to you rambling on for another 1,000 Bruce!!!
Anu Srivastava – Google Developer Relations
Thank you so much for all your content! Especially for helping out the Apps Script community!
Clark Lind – Google AppsSuite Workspace GDE Hack
Thank you Bruce for all you have done for the GAS community. You have had worldwide impact and influence and continue to do so. I hope you continue influencing the next generation of scripters coming along. I’ve copied learned so much from you over the years, it has helped me in my own work and career. You have shown me just how much there is to learn, and how much I don’t know. ;)
Adam Morris — Google Developer Expert & Integrations Director @ Faria Education Group
I like writing libraries, but what I like even more is not having to write them. It’s a grand world indeed that we live in our current universe where we can run into problems and challenges in code, and embark on a journey that leads us to individuals such as yourself, who by their very prolific endeavours establish an even grander world. Thank you.
Andrew Roberts – Freelance Dev and Google Wordspace GDE
One of the true stalwarts of the Apps Script community, Bruce has been an inspiration and endless source of knowledge for the many years I have been involved in Apps Script. Back in my early days of having to Google for how to do most things, Bruce’s site was inevitably the site I’d end up at. The guy literally wrote the book! Almost getting to 1000s posts is an amazing achievement.
The post that particularly stands out for me, and I had lots of fun deploying, was on parallel processing with Apps Script to get around the execution limit. It even displays a funky little graph you can watch.
Thanks again Bruce for your continued support and contributions.
Riël Notermans – Google Developer Expert and company owner of Zzapps, a Workspace reseller
There are some people that I always look forward to seeing and to spend time with. Bruce is well in that list ;) Actually it has been for too long.
Hanging out in real life or virtually discussing some features that work great or not, or listening to what Bruce has to say about, well, anything, it is a great experience. Professionally I would not know where to begin the ‘thank you’s’, but one of the most recent is with Bruce ‘mentoring’ me on a Kubernetes project. I got a kickstart in understanding the concepts, together with Bruce pieces of great code and his well-known ramblings really got me going. Congrats Bruce and looking forward to meet again!
Amit Agarwal – Founder @ Digital Inspiration and Workspace GDE
Thank you Bruce for your amazing contributions to the Google community. You cannot imagine how much impact your work has had on the lives of so many developers worldwide. Personally, I have admired your coding style and learnt so much by looking at your work. Thank you again!
Martin Hawksey – University of Edinburgh and Google Workspace GDE
One library that I’ve used a lot in my own work is cGoa, which lets you do OAuth2 for Apps Script in a few lines of code. There are a couple of other OAuth2 libraries, but as someone also writing about Google Apps Script solutions, the cGoa setup is straightforward and easy for others to follow. From one post from Bruce it has featured in six of my own, an example of the value of Bruce’s ‘ramblings’ to the community.
This is a sample script for sending Outlook emails using Microsoft account with Google Apps Script. Before you use this script, please install OnedriveApp which is Google Apps Script library. And, please authorize your Microsoft account for using Microsoft Graph API.
The author of this contribution, Kanshi Tanaike, always comes up with interesting Google Apps Script solutions. This particular example uses a OnedriveApp library which makes it easy to interact with other part of the Microsoft Graph API expanding the possibilities.
In this post, we’re going to look at a simple issues reporting system, where the teacher fills out a Google Form to report the issue. This is stored in a Google Sheet, and an email with the summary of the issue is either sent to the maintenance person or IT technician, depending on the type of issue.
This is based on a system I introduced at the academy where I work, which is in Spain but not all the teachers speak Spanish, so the form allows them to report the issue in English and then it’s translated into Spanish for the relevant person to resolve the issue.
In this post Baz Roberts highlights the benefits of Google Apps Script Language Service to translate Google Form responses into another language.
As part of our last episode of Totally Unscripted we spoke to former Google Workspace DevRel Eric Koleda about his new role supporting the Coda community.
Coda provides word-processing, spreadsheet, and database functions. It’s a canvas that blends spreadsheets, presentations, apps, and documents together. The software can integrate with third-party services like Slack and Gmail.
Eric gave a fantastic overview of the Coda platform highlighting opportunities for developers to integrate with services like Google Apps Script via the Coda REST API and the new Coda Packs, which are currently in beta.
The clip is an excerpt from the full show where we get to see these features in action and some additional resources referenced are linked below:
This is a sample script for sending multiple emails using the batch request with Gmail API using Google Apps Script. When multiple emails are sent using “
” and “
”, a loop is used. But in this case, the process cost becomes high. In this post, I would like to introduce the sample script for reducing the process cost under this situation. Gmail API can be requested with the batch request. The batch request can be processed with the asynchronous process. By this, I thought that the process cost for sending multiple emails. So, this sample script sends multiple emails using the batch request with Gmail API.
I imagine many in the Apps Script developer community have a script or two that sends email. This post highlights a solution using the Gmail API to send emails in a batch, keeping in mind the limitations highlighted in the post.
Google Workspace Marketplace is proud to announce the availability for developers to display pricing for their applications published in the Google Workspace Marketplace, and the date their application listing was last updated.
Monetization of Google Workspace Marketplace Add-ons is a topic that has often been raised. This latest update from Google doesn’t directly address in-app purchasing but it does provide a way for listings to be more transparent about pricing. Check the source post for more details on this and other Google Workspace Marketplace updates.
In this episode of Totally Unscripted, we will catch up with Eric Koleda who has been a well known fixture to Google Workspace Developers for the better part of a decade. Now that his legendary career as a Google Workspace Developer Relations Engineer has come to a close, we will reminisce with Eric about the impact of Apps Script and how Workspace development has evolved. We will also take a look at the future and get some insights about his new role and the breakthrough technology at Coda, where he’s begun his new life after Apps Script.
This episode will be broadcast live TUESDAY 19 Oct. at 1200 PDT / 1500 EDT / 2000 GMT+1 and you can join the conversation in the YouTube Live chat.
I wanted a quick and easy way for my kids to track the books they read, as well as a way for my wife to catalog all the books in the house. I know there are other services out there like Goodreads that can store your book list…but I just wanted to house the data myself, and not have to create accounts for my young kids.
Nice little project that glues together Google Forms and Sheets and the Google Book API with a little but of Google Apps Script. Follow the link for more information and the source code.
Google is proud to announce the Google Forms API! The Forms API is currently available in Restricted Beta, with Open Beta expected to follow in Q4. … The new Google Forms API provides programmatic access for managing forms and acting on responses, empowering developers to build powerful integrations on top of Forms.
The Forms API is currently in Restricted Beta. We encourage you to apply here to be an early adopter to get started with the API today! We’ll also send you important updates about Open Beta and improvements to the API. To keep up to date with all the APIs of your favorite Google Apps, please subscribe to the Google Workspace Developer Newsletter.
On Totally Unscripted we were delighted to have Christian Schalk (Developer Advocate, Google) and Hannah Pho (Software Engineer, Google) as well as early Forms API partners Charles Kemp (Strategic Alliances Manager, Zapier) and Charles Wiles (CEO, Zzish), talk about the new Forms API. A recording of the show is on YouTube and show notes will soon be added to the Totally Unscripted website.
Google Workspace offers developers REST APIs to interact programmatically with nearly every product and feature within the suite. In this episode of Totally Unscripted, we are going to take a first look at a BRAND NEW API for Workspace that is being announced earlier in the day at Google Cloud Next. Curious what that API is? Tune in to the broadcast live where we are joined by guests Christian Schalk (Developer Advocate, Google) and Hannah Pho (Software Engineer, Google) along with early Forms API partners Charles Kemp (Strategic Alliances Manager, Zapier) and Charles Wiles (CEO, Zzish) to find out and you can join the conversation in the YouTube Live chat.