While web interfaces make things easier, it is often much faster to do things on the command line, especially if you are trying to make changes in bulk.
My school recently added Google Calendars for all our sports teams. One trick to make this easier is to use Google Sheets (or Excel) to convert spreadsheet data into commands I can paste into the terminal window of my Mac.
In GAM-ADV-XTD3 you can create a calendar in a user account like so:
gam user athletics-calendars create calendar summary "Sailing - Varsity"
In the example
athletics-calendars is the username of account I wish to create the account in and
Sailing - Varsity is the calendar name.
If I have a Google sheet with a list of sports I need to create a calendars for, I can simply write a formula (like the one below) to generate the commands to create all those calendars.
=" gam user athletics-calendars create calendar summary """ & A1 &""""
This combines the text of the command with the contents of the cell
A1 (which is where the sports team’s name is). To quote a quote is a little tricky but the formula above works. I then fill down for all the sports teams and now I have the commands to create all of the calendars. I can highlight all of the cells with these commands (
B1:B17 in the example below) and paste them into terminal to run them.
After a few seconds I now have 17 calendars created!
Some other handy e GAM-ADV-XTD3 calendar related commands:
Give a user access/permission to a calendar:
gam calendar email@example.com add acls writer firstname.lastname@example.org
email@example.com is the Calendar ID that you want to give access to
writer allows someone to edit a calendar, you need to assign
owner in order for them to change sharing settings.
Make a calendar public:
gam calendar firstname.lastname@example.org add acls reader default
If you want to make a calendar public (so that anyone on the can access it) you use
default as the username. Using
reader provides read-only access.
List all of the calendar in a users account:
gam user sample_user print calendars showhidden todrive
This lists all of the calendars in
sample_user's account in a new Google Sheet (
todrive). This can be handy to find the Calendar ID of a specific calendar.