Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9055

【JS】Node.js と GoogleSpreadsheet で業務効率化

$
0
0

google-spreadsheetというパッケージを使用し、スプレッドシートへの書き込みの実装をしたので、その備忘録です。
google-spreadsheet - npm

下記の記事をみておけばほぼわかります。
【Node.js】 Googleスプレッドシートを簡易データベースとして使う - 一日一膳(当社比)
GoogleスプレッドシートからNode.jsでシフトデータを読み出す方法 - Twilio

準備

APIの有効化 & 認証

  1. GoogleSpreadsheet API 有効化
  2. サービスアカウントを発行
  3. スプレッドシートに 作成したサービスアカウントを招待(メールアドレス)
  4. アプリケーション側で読み込み

インストール

npm i google-spreadsheet

実装したもの

const{GoogleSpreadsheet}=require('google-spreadsheet');constSHEET_ID=3333053444;constyear=newDate().getFullYear();constmonth=newDate().getMonth()+1;asyncfunctionwriteSheet(){try{constdoc=newGoogleSpreadsheet("Key");awaitdoc.useServiceAccountAuth(require("./gcp-creds.json"));// 認証awaitdoc.loadInfo();// スプレッドシートの読み込みconstsheet=awaitdoc.sheetsByIndex[SHEET_ID];// シートの読み込みawaitsheet.addRows([{年月:`${year}${month}月`,ユーザー名:'Sergey Brin',会社名:'testCompany',url:"url"},{年月:`${year}${month}月`,ユーザー名:'Sergey Brin2',会社名:'testCompany',url:"url"},]);}catch(error){console.log(error)}}writeSheet()

Key

下記のようにスプレッドシートがあった場合、KeywaoooooooooooIsssssssssssが該当します。
https://docs.google.com/spreadsheets/d/waoooooooooooIsssssssssss/edit#gid=3333053444

constdoc=newGoogleSpreadsheet("Key");

SHEET_ID

下記のようにスプレッドシートがあった場合、ID3333053444が該当します。
https://docs.google.com/spreadsheets/d/waoooooooooooIsssssssssss/edit#gid=3333053444

constSHEET_ID=3333053444;

addRows

年月:の箇所は、下記のようにスプレッドシートで記載している情報と合わせる必要があります。
もしあっていなければ、エラーは出力されず、書き込まれず、処理が終了します。
image.png

awaitsheet.addRows([{年月:`${year}${month}月`,ユーザー名:'Sergey Brin',会社名:'testCompany',url:"url"},{年月:`${year}${month}月`,ユーザー名:'Sergey Brin2',会社名:'testCompany',url:"url"},]);

日付処理

【JavaScript】日付処理 - Qiita

アウトプット

node index.jsを実行すると、下記のようなアウトプットが得られます。

image.png


Viewing all articles
Browse latest Browse all 9055

Latest Images

Trending Articles