I am new to Google App scripts and I have a few questions (I've done the diligent of going thru the FAQs) that I couldn't find answers yet
I read that Google App scripts are hosted in Google Drive. Where does it actually get executed?
are there any SLA or availability figures for the Google App scripts hosting environment?
can I host the Google App scripts (we will mainly use these as Gadgets for Google Site) on other environment? such as App engine?
many thanks
I've never seen anything official that answer these questions. So the following answers are just from my experience of working with Apps Script and as a Top Contributor.
It gets executed on Google servers, under the "script" subdomain at google.com. There's no info regarding the infrastructure.
There's no SLA. AFAIK it is not even covered in Google support for "Google for Work" (new name of Apps for Business)
No, you cannot host it anywhere else. And also not embed it anywhere expect a Google Site.
Preface
First of all, Google Apps Script seems to be separate from Google Sheets/Docs/Forms/Drive as noted in HIPAA Included Functionality:
As of July 21, 2020, The following functionality is Included Functionality under the applicable HIPAA Business Associate Addendum:
Gmail, Calendar, Drive (including Docs, Sheets, Slides, and Forms), Apps Script, Keep, Sites, Jamboard, Hangouts (chat messaging feature only), Google Chat, Google Meet, Google Voice (managed users only), Google Cloud Search, Cloud Identity Management, Google Groups, Google Tasks and Vault (if applicable).
So, in official docs, Google recognises Apps Script as separate service, as seen in Google Workspace HIPAA Included Functionality terms.
Is there SLA for Apps Script
There is Google Workspace Service Level Agreement (SLA, which is a matter of question), where Apps Script is NOT included in covered services.
From Google Workspace Service Level Agreement
Last modified: July 12, 2021:
"Google Workspace Covered Services" means the Gmail, Currents, Google Calendar, Google Cloud Print, Google Cloud Search, Google Docs, Google Sheets, Google Slides, Google Forms, Google Drive, Google Groups for Business, Google Hangouts messaging and video initiation, Google Chat, Google Meet, Google Keep, Google Sites, Google Jamboard, Google Tasks, Google Vault, and Google Voice components of the Service. This does not include the Gmail Labs functionality, and Google Jamboard Hardware components of the Service.
There is also additional Google Apps Script Additional Terms which have no mention of SLA (as of January 2022).
It's not should be considered any kind of legal advice, but looks like there is no explicit Apps Script SLA.
Related
I know I can use the Google Docs API along with the UrlFetchApp service. But does anyone know if the Google Docs API will be available as an "Advanced Google Service" in Google Apps Script, if so, can you tell when this will happen?
I can't say for sure (I don't work at Google) but there are information channels you can monitor for news and product updates related to Google Apps Script and GSuite products:
Google Apps Script Release Notes
What's New in GSuite
GSuite Updates
Besides, "Advanced Services" are just wrappers for their respective APIs and their main purpose is to provide code completion. Under the hood, you consume the same resources as you would if you called the API directly via UrlFetch (this includes usage quotas).
If you're up to the task you can write your own implementation based on the discovery docs available for the Google Docs API.
How can usage of Google App Script libraries like GmailApp, CalendarApp, and PropertiesService be tracked through the Google API Console?
While Google App Script projects do show up inside the API console, none of them show any activity when selected. I understand that individual Google APIs need to be enabled for a project in order for their usage to be visible in the API console, but none of the App Script APIs seem to be available in the list Google APIs to choose from.
My only guess is that Google App Script usage cannot in fact be tracked through the Google API Console, which is a shame since many users seem to hit their app script quota limits and would benefit from the ability to track and visualize their script's resource usage.
Yes, it is true that you cannot track the usage of individual libraries of Google App Script in the Google Developer Console except for the MailApp. The MailApp has a method of getRemainingDailyQuota() that returns the number of remaining emails a user can send for the rest of the day. You can check in this documentation the different quotas and limitations that you can do with the Apps script. I also suggest you to make a feature request about this issue.
I've been trying to create a Google Spreadsheet plugin from some existing Google App Scripts that I have, and one important part of this app script is Custom Functions.
Though the documentation for the add-ons doesn't indicate that this is supported, the documentation for Custom Functions does indicate that you can.
https://developers.google.com/apps-script/guides/sheets/functions
Through testing, I have not once been able to get Custom Functions exposed through a add-on. Does anyone know the secret sauce to get this to work?
Answer
According to Eric Koleda in [Code.gs - date_add_and_subtract]( https://github.com/google/google-apps-script-samples/blob/master/date_add_and_subtract/Code.gs) to make available the custom fuctions in an add-on it's required to include at least one add-on menu, but this is not working at this time on testing mode.
NOTE: The originally referred page was removed but the Date add and substract add-on sample code is available at https://github.com/googlesamples/apps-script/tree/master/sheets/dateAddAndSubtract.
The "solution" to test a custom function add-on is to publish the add-on privately so you could avoid the Google review of an untested add-on. Related Q&A: Publish an add-on privately
NOTES:
You have to create a Google Cloud Project, set OAuth Consent Screen, add the Google Workspaces Marketplace SDK, complete the configuration page, the listing page and to publish the add-on
Setting the OAuth Consent Screen for Internal Use requires to a Google Workspace Account
Setting the OAuth Consent Screen for External Use limited to test account only doesn't allow to publish the add-on to the GW Marketplace.
One scenario is to use different Google Cloud Projects for testing and production but use the same Google Apps Script project. Another scenario is to have two different Google Apps Script projects each one with their own Google Apps Project and someway copy the code from one to the other i.e. using Google Apps Script GitHub Assistant Chrome Extension, CLASP or the Google Apps Script API.
Remarks
There are a couple of related GAS issues, please star them:
"Test as add-on" from standalone project to Google Sheets doesn't link custom functions
After activating an add-on, custom functions get stuck Loading... until spreadsheet refresh
I am considering using Google Spreadsheets and Google Apps Scripts for our business rules, given that Spreadsheets will make the business rules available and editable to non-technical employees.
My concern is about all the quotas that apply to Google Apps Scripts, as these also might change in the future, and there is no way to upgrade to a "premium" with more liberal quotas.
As a fall-back I am considering using the Google Spreadsheets API, and I assume that there are also quotas on this API, but I cannot find them anywhere. Does anyone know them? Or has anyone hit these quotas?
I am also trying to get some sort of idea of whether it is indeed a good idea to put the business rules in Google Spreadsheets in my question here.
There is an Apps Script Dashboard which identifies any service disruptions, as well as a tab for a breakdown of quotas, based on your Google Apps account type.
Google Apps Script Dashboard
From a quick skim of your posting on StackExchange, one thing to be mindful of is the email quota (1500 total recipients per account each day). You may be able to offset this hurdle (if applicable) using Google Groups, either by creating predefined groups, or programmatically building groups using Advanced Google service in Apps Script (at least for internal communications; direct add accounts for external addresses require a welcome message).
I'm not familiar with Ultradox, but using Apps Script, you can populate Google Doc "Template" files, convert them to PDF, and attach in Gmail (or provide the share link), right from Apps Script.
So I'm developing a Google Marketplace application for my company. In addition to several other features, my boss wants the app to be able to integrate with the Google Drive UI (eg be able to open files from the UI using the app). Now I understand that it's quite possible to use the Google Drive API to pull information from Drive to our Marketplace app, but is it actually possible for a Marketplace App to integrate with the Drive UI, for instance in the manner described above?
Yes, it is possible and there are many apps on market place that uses Drive UI to create or open file such as Docusign, draw.io, and gantter.
Please take a look at this GDL about integrating Drive API with Google Apps Marketplace. This will give you basic idea of how to use Dirve API with Google Apps Marketplace.
Also, take a look at documentation about Drive UI.