"It's common for Google Analytics users to use spreadsheets to analyze their Google Analytics data or combine it with another data source. But exporting your data from Google Analytics to Google Sheets is a manual process, and it can be tedious if you run reports frequently or manage multiple accounts. With the release of Add-ons for Google Sheets, getting your Google Analytics data into Google Sheets has never been easier!
Add-ons allow you to extend the power of Google Sheets by automating common tasks and integrating with external services. The Google Analytics Spreadsheet Add-on allows you to access your Google Analytics data, right from within a spreadsheet!"
Martin Hawksey's insight:
Great to see Google Apps Script being used and promoted by other Google product teams :)
"Release notes for update to Apps Script DbAbstraction libraries.
Lots of changes - a brief summary of the highlights.. * transactions now implemented, with rollback for selected drivers * a new driver - scratchDB - this is a transient database that sticks around for as long as you use it, otherwise it cleans itself away * updates to Orchestrate to be able to same complex queries as other back ends"
"You are probably familiar with the Google Apps Script Lock Service, which is a way of preventing concurrent access to sections of code. It works well, but the problem is that it's a fairly blunt instrument.
Let's say that you want to use the same code to deal with multiple resources - say a spreadsheet tab. With lock service you'd lock all spreadsheet tabs that were accessed by that code. This is especially a problem if you are using shared libraries which may be accessed by many people accessing many resources."
"In Flattening an object with dot syntax I showed how to take a an object of more than 1 level deep and flatten it so it could be represented in a two dimensional object like a spreadsheet. Now here's the opposite, unflattening an object created that way. I also provide a library you can use for flattening and unflattening, as well as processing objects to and from spreadsheets"
"ScriptDB was officially shut down on November 20th, but we decided to wait until after Thanksgiving to pull the plug. We're going to start by making the service read-only tomorrow, perhaps for a couple of hours to start but eventually permanently. This should help ferret out any places you are still using the service and give you time to export your data" - Eric Koleda – Google+
2014 has been an eventful year for Google Apps Script with some great new capabilities arriving (add-ons), as well some useful ones (ScriptDB) being deprecated. In this post I'll cover my highlights and lowlights of the Apps Script year, and would love to have your opinions on
* did I miss anything significant this year, and do you agree with my comments?
* what do you think the best thing that happened this year in Apps Script?
* .. and the worst ?
* what an 'apps script bucket list' should contain.
A while back, Android added the ability for some of its notifications to be directly acted upon from the notification shade, such as archiving a Gmail message. More recently, this same functionality came to Android Wear.
"If you like to deploy your GAS project with command line tools, you can check the tool, gdcmdtools. It supports the GAS project import and export. After that you can manage your GAS project easily with version control system(ex: git)."
Today, we are introducing an update to HTML service — IFRAME sandbox mode. Using this sandbox mode, you can significantly improve the performance. There are three key benefits.
1. Your UI loads up much faster
3. It requires very few code changes: just set the SandboxMode to IFRAME:
Martin Hawksey's insight:
Post also notes UI and DocsList service is deprecated.
"For a few of my answers on Web Applications, I’m constantly busy finding a solution to retrieve all information via the GmailApp.search() method. As explained in the text, this method is only usable for small amounts of threads. If you query a label containing 1000 emails for example, you will only get 500 items back.
In the meantime, Bruce McPherson, was hitting the road with his awesome posts, starting with the Running things in parallel using HTML service. ... made me think of a way to incorporate some sort of while loop. Basically, I'm re-starting the script to continue working on retrieving the information untill all information is fetched. Read below to find out how I did that""
"When developing Database abstraction with google apps script I had real trouble simulating multiuser interactions, especially when there wasn't a real database behind (like sheets and drive). I had a mechanism in Using named locks with Google Apps Scripts to be able to lock from updating, but it was really hard to get a good multiuser test going.
Using this parallel running mechanism is of course perfect - since it executes as many threads as I want in parallel with each other. If I get then all to hit the same back end at once, then I have a pretty intensive multi user test. "