Very cool! I made some changes on my personal copy with this:
function refreshJSON()
{
var d = new Date();
var currentTime = Utilities.formatDate(d, SpreadsheetApp.getActive().getSpreadsheetTimeZone(), "yyyy-MM-dd hh:mm a");
SpreadsheetApp.getActiveSheet().getRange('LastUpdated').setValue(currentTime);
}
(instead of L1, I'm using a named range "LastUpdated")
The button works great, but I learned you have to go to spreadsheet settings to set your timezone as you want it.
Here's the main problem with this approach:
I really don't like having to grant access to a script and I'm sure others won't either. :(
It won't let you use NOW() directly:
So... yeah. I'm thinking most people will probably just want to leave it as is instead of granting a script they didn't write access to their stuff.