Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

auth bugfix #2

Closed
wants to merge 9 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions auth.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env node

const google = require('googleapis');
const {google} = require('googleapis');
const readline = require('readline');
const fs = require('fs');
var OAuth2 = google.auth.OAuth2;
Expand All @@ -11,7 +11,7 @@ const CLIENT_SECRET = process.env.CLIENT_SECRET;
var oauth2Client = new OAuth2(
CLIENT_ID,
CLIENT_SECRET,
"urn:ietf:wg:oauth:2.0:oob"
"https://localhost"
);

// generate a url that asks permissions for Google+ and Google Calendar scopes
Expand Down
43 changes: 27 additions & 16 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/local/bin/node

const google = require('googleapis');
const {google} = require('googleapis');
const googleAuth = require('google-auth-library');
const wanakana = require('wanakana');
const request = require('request');
Expand All @@ -15,6 +15,12 @@ if (!sheet_id) {
process.exit(1);
}


if (!process.env.CLIENT_ID || !process.env.CLIENT_SECRET || !process.env.ACCESS_TOKEN) {
console.log('Please provide ENV variables CLIENT_ID, CLIENT_SECRET and ACCESS_TOKEN');
process.exit(1);
}

// Bearer token for Quizlet
const access_token = process.env.ACCESS_TOKEN;

Expand Down Expand Up @@ -44,18 +50,17 @@ function getOrCreateMetadata() {
spaces: 'appDataFolder',
q: `name = "${sheet_id}"`,
pageSize: 100
}, function(err, res) {
}, function(err, response) {
if (err) return reject(err);

if (res.files.length > 0) {
if (response.data.files && response.data.files.length > 0) {
console.log('found existing metadata file');
drive.files.get({
fileId: res.files[0].id,
fileId: response.data.files[0].id,
alt: 'media'
}, function(err, res) {
}, function(err, response) {
if (err) return reject(err);
console.log('retrieved metadata contents');
resolve(res);
resolve(response.data);
})

} else {
Expand Down Expand Up @@ -88,13 +93,13 @@ function updateSheetMetadata(metadata, sheet_id) {
spaces: 'appDataFolder',
q: `name = "${sheet_id}"`,
pageSize: 100
}, function(err, res) {
}, function(err, response) {
if (err) return reject(err);

console.log('saving metadata...');
if (res.files.length > 0) {
if (response.data.files.length > 0) {
drive.files.update({
fileId: res.files[0].id,
fileId: response.data.files[0].id,
media: {
mimeType: 'application/json',
body: JSON.stringify(metadata)
Expand Down Expand Up @@ -136,7 +141,7 @@ function getOrCreateSetId(metadata, set_name) {
definitions: ['', ''],
terms: ['', ''],
}
}, function(err, resp, body) {
}, function(err, response, body) {
if (err) return reject(err);
let set_id = JSON.parse(body).set_id;
metadata[set_name] = set_id;
Expand Down Expand Up @@ -165,11 +170,11 @@ function updateSet(metadata, set_name, data) {
Authorization: `Bearer ${access_token}`
},
form: set_data
}, function(err, resp, body) {
}, function(err, httpResponse, body) {
if (err) return reject(err);
let response = JSON.parse(body);

if (response.http_code == 404 || response.http_code == 410) {
if (httpResponse.http_code == 404 || httpResponse.http_code == 410) {
// Set not found. Cached set ID may have been deleted.
// Clear metadata cache for tab, and try creating one more time.
console.log('set not found');
Expand Down Expand Up @@ -206,21 +211,27 @@ getOrCreateMetadata().then(function(metadata) {
sheets.spreadsheets.get({
spreadsheetId: sheet_id,
}, function(err, response) {
if (err) {
// TODO: Catch exception correctly
console.log("ERR", err);
return;
}

let sheet_promises = [];
response.sheets.forEach(function(sheet) {
response.data.sheets.forEach(function(sheet) {
sheet_promises.push(new Promise(function(resolve,reject) {
var tab_id = sheet.properties.sheetId;
var tab_name = sheet.properties.title;

console.log('fetching', `${tab_name}!A:B`)
console.log('fetching', `${tab_name}!A:B`);
sheets.spreadsheets.values.get({
spreadsheetId: sheet_id,
range: `${tab_name}!A:B`
}, function(err, response) {
if (err) return reject(err);

let data = [];
response.values.forEach(function(row) {
response.data.values.forEach(function(row) {
let romaji = row[0];
let definition = row[1];
let kana = wanakana.toKana(romaji);
Expand Down