||2 years ago|
|.github||2 years ago|
|.gitignore||3 years ago|
|LICENSE||3 years ago|
|README.md||2 years ago|
|index.js||3 years ago|
|package-lock.json||2 years ago|
|package.json||2 years ago|
|sonar-project.properties||2 years ago|
Data Logging Service in Google Sheets (Node.js)
A simple Node.js module for logging in Google Sheets.
Install from command line:
npm install --save google-sheets-logger
Install via package.json:
Add the following to your package.json file under dependencies
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 = require("google-sheets-logger"); var creds = require("./google-generated-creds.json"); // Spreadsheet key is the long id in the sheets URL var Logger = new GoogleSheetLogger("<Spreadsheet Key>", creds); Logger.log("1", "Sample Log Message", "2019-10-08 12:49:44"); // When Timestamp is not passed, it adds the current time as the Timestamp of the Log Message by default. Logger.log("1", "Sample Log Message with no Timestamp"); // 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.log("1", "Sample Log Message", "2019-10-08 12:49:44", 3);
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.
If you find this package useful, please star the project on Github.
And, if you are willing to buy me a coffee, that would be awesome. :)