-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathupload-to-spreadsheet.js
50 lines (42 loc) · 1.24 KB
/
upload-to-spreadsheet.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
var GoogleSpreadsheet = require('google-spreadsheet');
var upload;
var async = require('async');
// Check if args are correct
console.log(process.argv);
if (process.argv.length !== 3) {
console.log('Usage: upload-to-google-spreadsheets.js <filename>');
process.exit(-1);
} else {
upload = require(process.argv[2]);
}
console.log(upload);
// spreadsheet key is the long id in the sheets URL
var doc = new GoogleSpreadsheet(upload.document);
var sheet;
async.series([
function setAuth(step) {
// see notes below for authentication instructions!
var creds = require('./parse-vaamo-a988cb5f1c01.json');
doc.useServiceAccountAuth(creds, step);
},
function getInfoAndWorksheets(step) {
doc.getInfo(function(err, info) {
// Get sheets
sheets = info.worksheets;
// Search for the sheets
var sheet = null;
for (var i = 0; i < sheets.length; i++) {
if (upload.sheet === sheets[i].title) {
sheet = sheets[i];
}
}
// Add rows from upload file
for (var e = 0; e < upload.rows.length; e++) {
var row = upload.rows[e];
sheet.addRow(row, function(err) {
});
}
step();
});
}
]);