I saw that the top requested pack for coda is google sheet. So I thought I would take it up and build it.
What it does
Users can import and sync google spreadsheet either selecting the spreadsheet from a list of recently updated sheets or by giving the url of a spreadsheet. Also they can get the value of single cell or values of multiple cells via formula. Using actions they can either create a new spreadsheet in google drive or update an existing spreadsheet.
How we built it
The coding was done in Pack Studio itself. An project in google developer console with all the required apis enabled. The OAuth client id, secret are updated in the pack settings. All the operations in the pack is done with Google Sheet's Rest API.
Initially the setUserAuthentication is configured to connect the google account to coda.
A dynamic sync table with dynamic urls is used to list the recently modified google spreadsheets from google drive. It works with an assumption that the first row in the sheet will be the header, which will be used as a column name in the table. Using the sync parameter users can switch sheets which will rendered in the table.
Another dynamic sync table which asks the user to enter the spreadsheets url manually. The rest of it works as same as before.
Couple of formulas - one to get the value of a single cell and another to get a list of values from the sheet is available.
An action is available to create a spreadsheet in google drive with given title and lists of column values in array. Another similar action to update a existing spreadsheet is available as well.
Accomplishments that we're proud of
This is my first time working in Coda and I am happy that I was able build a pack and get it ready to publish.
What we learned
The code pack sdk seems to one of the easiest available out there for building plugins in apps. I am excited to work on this and build more apps.
What's next for Google Sheets for Coda
My next step is to publish the pack. Right now since the authorization url and token url is diff for google account I am getting a error when I try to publish. Will soon connect with the Coda team to get it published.