chore: lint
This commit is contained in:
@@ -12,73 +12,73 @@ const oauth2Client = new OAuth2Client(
|
|||||||
|
|
||||||
// initialize Google OAuth 2.0 flow
|
// initialize Google OAuth 2.0 flow
|
||||||
router.get('/auth/google', (req, res) => {
|
router.get('/auth/google', (req, res) => {
|
||||||
const url = oauth2Client.generateAuthUrl({
|
const url = oauth2Client.generateAuthUrl({
|
||||||
access_type: 'offline',
|
access_type: 'offline',
|
||||||
scope: [
|
scope: [
|
||||||
'https://www.googleapis.com/auth/userinfo.profile',
|
'https://www.googleapis.com/auth/userinfo.profile',
|
||||||
'https://www.googleapis.com/auth/drive.file',
|
'https://www.googleapis.com/auth/drive.file',
|
||||||
'https://www.googleapis.com/auth/spreadsheets'
|
'https://www.googleapis.com/auth/spreadsheets'
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
res.redirect(url);
|
res.redirect(url);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Callback route for Google OAuth 2.0
|
// Callback route for Google OAuth 2.0
|
||||||
router.get('/auth/google/callback', async (req, res) => {
|
router.get('/auth/google/callback', async (req, res) => {
|
||||||
const { code } = req.query;
|
const { code } = req.query;
|
||||||
try {
|
try {
|
||||||
const { tokens } = await oauth2Client.getToken(code);
|
const { tokens } = await oauth2Client.getToken(code);
|
||||||
oauth2Client.setCredentials(tokens);
|
oauth2Client.setCredentials(tokens);
|
||||||
// Store tokens securely (e.g., in a database)
|
// Store tokens securely (e.g., in a database)
|
||||||
res.send('Authentication successful');
|
res.send('Authentication successful');
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error during authentication:', error);
|
console.error('Error during authentication:', error);
|
||||||
res.status(500).send('Authentication failed');
|
res.status(500).send('Authentication failed');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
router.get('/sheets', async (req, res) => {
|
router.get('/sheets', async (req, res) => {
|
||||||
try {
|
try {
|
||||||
const drive = google.drive({ version: 'v3', auth: oauth2Client });
|
const drive = google.drive({ version: 'v3', auth: oauth2Client });
|
||||||
const response = await drive.files.list({
|
const response = await drive.files.list({
|
||||||
q: "mimeType='application/vnd.google-apps.spreadsheet'",
|
q: "mimeType='application/vnd.google-apps.spreadsheet'",
|
||||||
fields: 'files(id, name)'
|
fields: 'files(id, name)'
|
||||||
});
|
});
|
||||||
res.json(response.data.files);
|
res.json(response.data.files);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error listing sheets:', error);
|
console.error('Error listing sheets:', error);
|
||||||
res.status(500).send('Failed to list sheets');
|
res.status(500).send('Failed to list sheets');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
router.get('/sheets/:sheetId', async (req, res) => {
|
router.get('/sheets/:sheetId', async (req, res) => {
|
||||||
try {
|
try {
|
||||||
const sheets = google.sheets({ version: 'v4', auth: oauth2Client });
|
const sheets = google.sheets({ version: 'v4', auth: oauth2Client });
|
||||||
const response = await sheets.spreadsheets.values.get({
|
const response = await sheets.spreadsheets.values.get({
|
||||||
spreadsheetId: req.params.sheetId,
|
spreadsheetId: req.params.sheetId,
|
||||||
range: 'Sheet1', // Adjust range as needed
|
range: 'Sheet1', // Adjust range as needed
|
||||||
});
|
});
|
||||||
res.json(response.data.values);
|
res.json(response.data.values);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error reading sheet:', error);
|
console.error('Error reading sheet:', error);
|
||||||
res.status(500).send('Failed to read sheet');
|
res.status(500).send('Failed to read sheet');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
router.post('/sheets/:sheetId', async (req, res) => {
|
router.post('/sheets/:sheetId', async (req, res) => {
|
||||||
try {
|
try {
|
||||||
const sheets = google.sheets({ version: 'v4', auth: oauth2Client });
|
const sheets = google.sheets({ version: 'v4', auth: oauth2Client });
|
||||||
const response = await sheets.spreadsheets.values.append({
|
const response = await sheets.spreadsheets.values.append({
|
||||||
spreadsheetId: req.params.sheetId,
|
spreadsheetId: req.params.sheetId,
|
||||||
range: 'Sheet1', // Adjust range as needed
|
range: 'Sheet1', // Adjust range as needed
|
||||||
valueInputOption: 'USER_ENTERED',
|
valueInputOption: 'USER_ENTERED',
|
||||||
resource: {
|
resource: {
|
||||||
values: [req.body.values], // Expect an array of values in the request body
|
values: [req.body.values], // Expect an array of values in the request body
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
res.json(response.data);
|
res.json(response.data);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error writing to sheet:', error);
|
console.error('Error writing to sheet:', error);
|
||||||
res.status(500).send('Failed to write to sheet');
|
res.status(500).send('Failed to write to sheet');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
Reference in New Issue
Block a user