Data Logging Service in Google Sheets (node.js)
A simple Node.js module for logging in Google Sheets.
Create a Google Sheets File and give access to the Service Account as described in the Authentcation secion.
Add the following headers (case-sensitive) to your sheet:
- Log Id
- Log Message
- Log Time
Import the module and use as shown below.
var GoogleSheetLogger = ;var creds = ;// Spreadsheet key is the long id in the sheets URLvar Logger = "<Spreadsheet Key>" creds;Logger;// When Timestamp is not passed, it adds the current time as the Timestamp of the Log Message by default.Logger;// To add logs in sheets other than the first one of your workbook, pass the sheet index as the 4th argument.// Index starts at 1.Logger;
IMPORTANT: Google recently deprecated their ClientLogin (username+password) access, so things are slightly more complicated now. Older versions of this module supported it, so just be aware that things changed.
Service Account (recommended method)
This is a 2-legged oauth method and designed to be "an account that belongs to your application instead of to an individual end user". Use this for an app that needs to access a set of documents that you have full access to. (read more)
- Go to the Google Developers Console
- Select your project or create a new one (and then select it)
- Enable the Drive API for your project
- In the sidebar on the left, expand APIs & auth > APIs
- Search for "drive"
- Click on "Drive API"
- click the blue "Enable API" button
- Create a service account for your project
- In the sidebar on the left, expand APIs & auth > Credentials
- Click blue "Add credentials" button
- Select the "Service account" option
- Select "Furnish a new private key" checkbox
- Select the "JSON" key type option
- Click blue "Create" button
- your JSON key file is generated and downloaded to your machine (it is the only copy!)
- note your service account's email address (also available in the JSON key file)
- Share the doc (or docs) with your service account using the email noted above
Further possibilities & to-do
- Enable logging on public sheets.
- Create Header automatically using the module.
google-sheets-logger is published under the MIT license. For more information, see the accompanying LICENSE file.