Giter Site home page Giter Site logo

crystalbit / push-to-spreadsheets Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 44 KB

Limited functionality google spreadsheets lib for JavaScript and TypeScript

Home Page: https://www.npmjs.com/package/push-to-spreadsheets

License: MIT License

TypeScript 100.00%
spreadsheets

push-to-spreadsheets's Introduction

push-to-spreadsheets

Limited functionality google spreadsheets lib for JavaScript and TypeScript

Instruction

Package aim is to push data to a Google Spreadsheet.

Methods

For now there is only one method:

putDataNear(sheet: string, referenceColumn: string, reference: string, targetColumn: string, data: string): Promise<void>;

It puts data in targetColumn in same row with referenceColumn. It tries to find reference value and if doesn't find, it creates a new row with reference and data.

How to get it and connect to google table:

  1. Create a Google Cloud Platform Project:
  1. Enable the Google Sheets API for Your Project:
  • In the Cloud Console, navigate to the "API & Services > Dashboard" panel.
  • Click "+ ENABLE APIS AND SERVICES".
  • Search for "Google Sheets API", select it, and enable it for your project.
  1. Create Credentials:
  • In the Cloud Console, go to "API & Services > Credentials".
  • Click "Create credentials" and choose "Service account" for server-to-server interactions.
  • Fill in the service account details and grant it a role with the appropriate access (e.g., "Editor").
  • Create a JSON key for this service account, which will be downloaded to your system. This file contains your client ID, private key, and other important information.
  1. Share Your Spreadsheet with Your Service Account:
  • Open your Google spreadsheet.
  • Share it with the email address of the service account you created (it will end with @...gserviceaccount.com).

Then install this package

npm i push-to-spreadsheets

Then use it to put data in the table

Example table:
image
Header here was made manually.

Code:

import { Spreadsheet } from "push-to-spreadsheets";

const spreadsheet = new Spreadsheet('eA.....', 'src/constants/google-service-acc.json');

await spreadsheet.putDataNear('Sheet1', 'A', '08.11.2023 00', 'B', '108');
await spreadsheet.putDataNear('Sheet1', 'A', '08.11.2023 00', 'C', '79');

await spreadsheet.putDataNear('Sheet1', 'A', '08.11.2023 01', 'B', '79');
await spreadsheet.putDataNear('Sheet1', 'A', '08.11.2023 01', 'C', '62');

Here:

  • eA..... is identifier from url to your spreadsheet https://docs.google.com/spreadsheets/d/<here>
  • src/constants/google-service-acc.json - your credentials file
  • Sheet1 - name of your sheet in the document
  • A, B, C - vertical column names

Known problems

  • Errors are not caught
  • Only one limited method

push-to-spreadsheets's People

Contributors

crystalbit avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.