Sheets™ to JSON

OVERVIEW

Sheets™ to JSON is a Google Sheets™ Add-on that converts JSON into named ranges in a Google Sheet™ and vice versa. It features a Github Gist integration which allows the user to instantly publish exported JSON to a publicly-hosted location.

Google Sheets™ is a trademark of Google LLC.

LIMITATIONS

JSON key names cannot contain characters other than letters, numbers, and underscores, and must not be longer than 200 characters.

TUTORIAL

FUNCTIONS

For ease of use it’s recommended that you allow popups from https://docs.google.com.

SOURCE

The source code for Sheets™ to JSON can be found here. This code may not always reflect the published add-on. If you don’t wish to run code you haven’t read, there are instructions in the source code for setting it up yourself.


PRIVACY

With the exception of the Github Gist integration, Sheets™ to JSON does not share your data in any way with any party other than yourself.

DATA READ FROM YOUR SHEETS

Only the sheet you are currently looking at (or, for some functions, the sheet named “JSON”) is examined when the app is invoked, and even then only the contents of named ranges on that sheet are inspected. Functions that read from the sheet named “JSON” are clearly marked - if you have no sheet named “JSON” in the current spreadsheet, they simply won’t work.

Except for the functions that include the text “to PUBLIC Gist”, the data read from your sheet is not stored or shared by the app. It is processed into JSON and then displayed to you, and when you close the JSON window no record remains of the data.

DATA PUBLISHING VIA GITHUB

Some functions allow users to instantly publish JSON based on the named ranges in the current sheet to a publicly-hosted Github Gist. Data posted to Github falls under Github’s privacy policy. The Gists posted by Sheets™ to JSON can be found and viewed by anyone, as they are public.

You do not have to give Sheets™ to JSON Github access in order to use the add-on - only the “Export to PUBLIC Gist” menu items require it. Sheets™ to JSON does not view or modify any of your Github data - it only publishes new Gists.

Should you choose to use it, this functionality involves an OAuth integration with Github. After you have allowed access to Github, Sheets™ to JSON stores an access token for in Google’s PropertiesService User Properties. This access token can only be read when Sheets™ to JSON is used by your account - if you share a sheet with someone else, they won’t be able to post Github Gists on your behalf.

You can revoke Github access at any time via the Github OAuth Apps page. You can also find this page via Add-ons —> Sheets™ to JSON —> Revoke Github access.

SECURITY

GITHUB INTEGRATION

If you choose to use the Github Gist integration, Sheets™ to JSON will only request the “gist” Github scope (which you can verify by reading the Github OAuth screen).  The access token provided to Sheets™ to JSON is stored in Apps Script PropertiesService. The Github OAuth integration is handled by the Google-authored OAuth2 Apps Script library. The minimal Sheets™ to JSON code required to implement the Github integration can be inspected here. This github repo may not always reflect exactly the contents of the published add-on.

CONTACT

If you need help, find a security flaw in the code, or have questions please reach out at sheets-to-json@googlegroups.com.

TERMS OF SERVICE

By using this addon you agree to be bound by these Terms:

Google Sheets™ is a trademark of Google LLC.