Stream

Join this community to post or comment

Romain Vialard
moderator

News  - 
 
 
Installation rate, number of users, list of domains who installed your apps… Do you really know what these figures mean? How many people are really using your add-ons? Don't get it wrong! Discover what they represent in this article, to check properly how you perform on the Google Apps Marketplace.
1
Add a comment...
 
 
If after September 26, 2016, if you have a Google Apps Script that leverages the Google People API, Google CardDAV API, or Google Contacts API v3, and if a user of this script states it longer works, then you may need to ask the domain's Administrator to open the Admin Console and navigate to Apps > Google Apps > Settings for Contacts > Advanced Settings and make sure the "External Directory Sharing" section has the "Domain and public data" selected. Learn more from the blog announcement.
5
Faustino Rodriguez's profile photo
 
Oops, not sure if I am in that case ... another to look after, thanks for the heads up !!
Add a comment...

Eric Koleda
moderator

News  - 
 
More information about the recent deprecation of project keys.
 
Project Key Deprecation Clarification

TL;DR: Nothing will break. Users of OAuth libraries may need to do some extra work when updating to a new version.

As some Apps Script power users have discovered, we recently deprecated ScriptApp.getProjectKey() and added ScriptApp.getScriptId(). Likewise the Project propertied dialog in the script editor now lists the project key as deprecated and also includes the script ID.

Both the project key and the script ID are unique identifiers for an Apps Script project, and the change was made in an effort to standardize on one of them (the script ID). Project keys are shorter and start with an "M", while Script IDs are longer, and are the same as the Drive file IDs (for standalone scripts that exist in your Drive). Here is an example:

Project key: MswhXl8fVhTFUH_Q3UOJbXvxhMjh3Sh48
Script ID: 1ZTZ2vJlryNL0o-qXE3MeD7pFaUXUA4ONiDaaN-bnmDX0yITP4kc_V3oZ

These keys and IDs are used in many places across the Apps Script universe, including:

* Adding libraries in the editor
* Making requests to the Apps Script Execution API
* Building callback URLs

What I want to make clear: we have no plans to turn off or disable the use of project keys. All your code that uses project keys will continue to work for the foreseeable future, and any plans to change that will be formally announced far in advance. Deprecation merely means that we no longer encourage their use, and instead recommend people use the Script ID.

OAuth libraries

Our mistake here was that we originally thought we could silently swap out the IDs in the UI and it wouldn't have a big impact. The one case where this definitely wasn't true is when developers using an OAuth2 library, like the ones I or +Bruce Mcpherson created. Many OAuth providers require that you register your callback URL ahead of time, and enforce that the registered one match exactly with the one sent with the request. This lead to problems when the one used by the developer during registration (fetched from the dialog) and the one sent by the library (fetched via ScriptApp.getProjectKey) started using different IDs.

The solution here was to keep both the project key and script ID accessible in the dialog and ScriptApp, so that libraries and instructions could be gradually updated. A couple of week back I updated my OAuth2 library (https://goo.gl/SEIz8w) to use getScriptId(), and updated my instructions to point to the Script ID in the dialog. Developers already using the older version can continue to do so without worrying, but new users will now be using the more modern Script ID.

The only time you might run into an issue is when you are updating the version of the OAuth2 library you are using, for example to take advantage of a bug fix or new feature. In that case, you may be upgrading from a project-key-based version to a script-ID-based version, and you'll need to make sure that you change the callback URL you have registered with your OAuth provider. The good thing is that this breakage only happens when you choose to change versions, and so will not happen out of the blue one day.

I apologize for any confusion this change has caused, and feel free to reach out to me if you have any follow up questions or find cases where project keys and script IDs aren't working as expected.
12
1
Kathryn Marie's profile photo
 
Thanks for the info. Sharing to myself to refer back to if need be, my oAuth is done in firebase now though so I don't think my scripts will be affected.
Add a comment...
 
If your Google Apps Script functions, web apps, add-ons, etc. are throwing errors today, it "may" be related to a known Google Drive issue:
https://www.google.com/appsstatus#hl=en&v=issue&sid=4&iid=34a2b7e900380d4ab80eb796bf9d0d64
UPDATE 5:11 PM ET
"The problem with Google Drive should be resolved. We apologize for the inconvenience and thank you for your patience and continued support. Please rest assured that system reliability is a top priority at Google, and we are making continuous improvements to make our systems better."
Google Apps Status Dashboard enables users and businesses to monitor the status of individual Google Apps services. Users of Google Apps can now view the status of individual services such as Gmail, Google Calendar, Google Talk, Google Docs, Google Sites and Google Video for businesses. Administrators of Google Apps Premier Edition, Standard Edition, Partner and Education Edition can also view status of the Admin Control Panel.
2
iBO App Service's profile photoBruce Mcpherson's profile photo
2 comments
 
I think if you detect a server error message, as opposed to a rate limit error, you could adapt the number of retries.. Maybe just a couple... and treat it as not a normal backoff situation.
Add a comment...
 
I just joined this. I do a lot of work with spreadsheets for my son's freelance business, which he does with some partner freelancers. Of course, the more we do with google sheets the more things we think of to try doing and as things get complicated it is apparent it will be useful to learn to use scripts. . . which means learning javascript syntax (which I am starting).
3
Alan Wells's profile photo
 
A variable can be defined without a value being assigned.  Defined.  Assigned.  That's one of the first things you should know.  If a variable is defined without a value being assigned, it is "undefined".  If you see an error message, that states that something is "undefined", then you'll know what that means.  While we are on the subject of a variable being assigned a value.  There is an "assignment operator", which is a SINGLE equals sign.

    var putVariableNameHere = "this_is_the_value";

And while we are on the subject of equals signs, you need to know that double and triple equals signs can be used.  Double and triple equal signs are used for an "equality test", to test for whether two values are equal or not.

    if ( 1 === 2 ) { GmailApp.sendEmail(recipient, subject, body) }

Hopefully that line of code will never send an email.

So, if you are looking to learn some basics, people sometimes start writing code without really knowing words like "assignment", or "operator"; or the difference between defining a variable and assigning a value to a variable.  Or the difference between "assignment" and an "equality operator".  You could easily see a single equals sign, and not be thinking "this is an assignment operator".
Add a comment...

Ivan Kutil
owner

News  - 
11
5
Spencer Easton's profile photoiBO App Service's profile photo
15 comments
Add a comment...

Bruce Mcpherson
moderator

News  - 
 
Video for my upcoming Sheets add-on. Chord snip.
as usual, it's open sourced if you want to make your own.

https://youtu.be/T7gt3NVEJOM

#gde #googleappsscript #video #blogpost
12
6
Narley Brittes's profile photoMarcos Gomes's profile photo
3 comments
 
Awesome! Great work!

Add a comment...
 
If you'd like to contribute a translation to our first episode of Totally Unscripted we've enable community contributions in YouTube http://www.youtube.com/timedtext_video?ref=share&v=NlHaLVvneV4 
4
Add a comment...
 
Is there any recent updates to add-on time-based trigger's quota ?

I found that an add-on used to allow multiple time-based triggers previously but now allowing only one. Strange !

Did you also notice the same ?

UPDATE: Add-on is not allowing to create multiple triggers in the SAME DOCUMENT. Wondering, If this quota is explicitly mentioned anywhere ?
6 votes  -  votes visible to Public
Yep, I also noticed
33%
Nope
67%
2
Add a comment...
 
This Friday - see event for time in your region
 
Totally Unscripted is a new Google Apps Script show organized by the community for the community. Each month members of the community will talk through some new developments in Google Apps Script as well as talking about a coding project or problem. There will also be time for some Q&A. Follow the Totally Unscripted Google+ page or the Google Apps Script G+ Community for updates
This Hangout On Air is hosted by Totally Unscripted. The live video broadcast will begin soon.
Q&A
Preview
Live

3
Add a comment...

Bruce Mcpherson
moderator

News  - 
 
Well you asked for it, and here it is.

The first 'Totally Unscripted' hangout on air is scheduled for Friday 15th July, 9am EST (2pm UK time).

+Martin Hawksey put together this exciting trailer of what to expect
https://www.youtube.com/watch?v=nESUzPoc_H8
(with a backing track from his music collection)

The event link is here., and a recording of it will (hopefully) make it to youtube to watch later, if the time doesn't work for you.

https://plus.google.com/events/cmif0htqr6oqemeittmess6h51g

We look forward to seeing you all there.

#gde #googleappsscript #community

26
6
Ben Collins's profile photoBenjamin Reich's profile photo
4 comments
 
Wish I could attend, but work.
Add a comment...

Eric Koleda
moderator

News  - 
 
Really great explanation from +Romain Vialard about the upcoming security change.
 
Are you using Awesome Table in your intranet? Change is coming!
In August 2016, Google announced on the Apps Updates blog "enhanced third-party access protection for Google Sheets". This means that tools like Awesome Table must now ask for explicit authorization before a user can view data from Google Sheets.
9
1
Add a comment...

Martin Hawksey
moderator

News  - 
 
Google announce the end of Chrome apps from the Chrome Web Store for Windows, Mac and Linux.

It's funny in developing a Apps Script web app right now. I did consider publishing to the webstore but decided there was no real benefit and extra work so won't be.

Starting in late 2016, newly-published Chrome apps will only be available to users on Chrome OS. Existing Chrome apps will remain accessible on all platforms, and developers can continue to update them.

In the second half of 2017, the Chrome Web Store will no longer show Chrome apps on Windows, Mac, and Linux, but will continue to surface extensions and themes. In early 2018, users on these platforms will no longer be able to load Chrome apps.


4
Spencer Easton's profile photo
4 comments
 
In google for work domains we get domain specific Chrome store. Its very handy for distribution of App Script tools we use.
Add a comment...
 
In my latest LinkedIn post I share that Google Drive Web Hosting ends after August 31, 2016 and I share alternatives. In other words, some have stored web site files (e.g. index.html, images, etc.) in Google Drive, but Google is ending this capability. Feel free to share.

https://www.linkedin.com/pulse/google-drive-hosting-ends-august-31-2016-steve-webster
Google Drive web hosting ends August 31, 2016. The announcement appeared in this blog last year. In the time since web hosting in Drive was launched, a wide variety of public web content hosting
5
1
Mark van de Pas's profile photo
 
Firebase
GCP
Or option 3

Are options to continue "hosting"


Add a comment...

Bruce Mcpherson
moderator

News  - 
 
Don't forget to join us for the second episode of Totally Unscripted Hangout on Air on Friday 12th at 2pm UK time.

here's the trailer.
https://www.youtube.com/watch?v=BJAOvOM__58

and here's the hangout on air link
https://www.youtube.com/watch?v=JXZXpZl_hmE

#gde #community #video #googleappsscript
8
Add a comment...

Bruce Mcpherson
moderator

News  - 
 
My Chord Snip Sheets addon is now published in the Sheets Add-on store.

Get it here
https://chrome.google.com/webstore/detail/chordsnip/fdnefiodaifakeekehcdpcjibaogogdl?utm_source=permalink

Read it about it here.
http://ramblings.mcpher.com/Home/excelquirks/addons/chordsnip

Watch the video
https://www.youtube.com/watch?v=T7gt3NVEJOM

And of course it's open source, so the code is here if you want to see how its made.
https://github.com/brucemcpherson/ChordSnip

If you already have my Sankey Snip addon, then you'll like this one too.
http://ramblings.mcpher.com/Home/excelquirks/addons/sankeyaddon

#gde #opensourcecode #googleappsscript #addons

11
4
Martin Hawksey's profile photoBruce Mcpherson's profile photo
2 comments
 
The logo is actually a chord diagram I created with the add-on itself. I was able to set it to exactly the right size and add the required transparent border as per the add-on spec requirement just by using the add-on settings.
Add a comment...
 
Is this news to anyone else? It's not in the API Documentation…
5
Jonathon Broughton's profile photoRyan Roth's profile photo
8 comments
 
ScriptApp.getProjectKey() has been deprecated; the new alternative is ScriptApp.getScriptId(). The documentation will be updated soon to reflect this.
Add a comment...
 
Totally Unscripted is back for our second show. In this show with the end of life for Google Drive web hosting we have +Spencer Easton  back demonstrating some cloud options for hosting resources for your Apps Scripts with Google App Engine and Firebase. We've also got Google Add-ons expert +Steve Webster  joining us showing us an easy way to push 'What's New' to your existing add-on users. We expect the hangout will fill up quickly but Q&A will be enabled and we'll be looking out for your comments on this event page.
 
Join us for our next installment of Totally Unscripted. In this show with the end of life for Google Drive web hosting we have Spencer Easton back demonstrating some cloud options for hosting resources for your Apps Scripts with Google App Engine and Firebase. We've also got Google Add-ons expert Steve Webster joining us showing us an easy way to push 'What's New' to your existing add-on users. We expect the hangout will fill up quickly but Q&A will be enabled and we'll be looking out for your comments on this event page.
This Hangout On Air is hosted by Totally Unscripted. The live video broadcast will begin soon.
Q&A
Preview
Live

7
1
Raul Flores, Jr.'s profile photoTotally Unscripted's profile photo
3 comments
 
+Raul Flores, Jr. Next show Fri, 12 Aug, 08:00 CST/14:00 BST :)
Add a comment...
 
In this episode +Bruce Mcpherson talks about the new Google Sheets API and how it can be used sync Google Sheets with other products like Excel as well as how it can be used to handle filtered values in Google Sheets. See http://ramblings.mcpher.com/Home/excelquirks/exceldocsintegration/filters for code examples.

+Spencer Easton  also gave us an example of how oAuth2 can be integrated into Add-ons handling the various authentication states when add-ons are installed, shared and used. This included setting up your project on the developer console setting required variables like the client Id, callback URL and project scopes. A boilerplate add-on using the code demoed by Spencer is available from https://github.com/Spencer-Easton/Addon-OAuthflow-Example

If you have any feedback or suggestions for the next show or would like to get involved sharing some code we have this Google Form http://goo.gl/forms/Mb6LHYcocDOVADph2


[Totally Unscripted is a new Google Apps Script show organized by the community for the community. Each month members of the community will talk through some new developments in Google Apps Script as well as talking about a coding project or problem. There will also be time for some Q&A. Follow the Totally Unscripted Google+ page or the Google Apps Script G+ Community for updates]
23
6
Totally Unscripted's profile photoKwok-leong Tang's profile photo
6 comments
 
+Totally Unscripted , thanks!
Add a comment...

Romain Vialard
moderator

News  - 
 
Yet Another Mail Merge is now compatible with Google Sheets filters!

A few weeks ago I posted about the use of the new Sheets API to get & set filters. Thanks to +Bruce Mcpherson we now have a library to handle the interpretation of the filter options.
https://sites.google.com/site/scriptsexamples/home/announcements/yamm-is-now-compatible-with-google-sheets-filters
http://ramblings.mcpher.com/Home/excelquirks/exceldocsintegration/filters
19
5
Luciano Panepucci's profile photo
Add a comment...