Автор оригинала: Travis Ramos.
Многие люди и бизнес используют листы Google для управления важными данными. Будь то инвентарный счет, история расходов или список клиентов, листы Google – это мощный инструмент, который можно использовать для хранения этих данных и намного больше!
Прошли времена пробы, бесчисленные часы вручную вставляем ваши драгоценные данные. С API Google вы можете автоматизировать определенные задачи, которые в противном случае будут стоить вам время и деньги.
В этой статье я научу вас 3 вещи:
- Как создать новый лист
- Как написать на лист
- Как читать с листа
Прежде чем мы начнем, вам нужно включить API Google Pailets. Зайдите в консоль разработчика, нажмите «Библиотека» в меню и найдите API Google Pailets. Нажмите на него и нажмите «Включить». Это даст вам ваши «конфигурации клиента», которые дадут вашему сценарию или приложению возможность использовать API с вашей учетной записью Google. Загрузите эти конфигурации и сохраните файл «Credgancys.json» в рабочий каталог.
После этого вам нужно будет запустить следующую команду NPM, чтобы установить библиотеки:
«NPM установить GoogleAppis @ 39 –save»
Первый шаг, прежде чем каждый сценарий генерирует аутентификацию, которая зависит от объема, которые вы позволяете иметь ваш скрипт. Мы будем давать нашему скрипту возможность создавать, писать и читать с листа, установив наш объем на « » https://www.googleapis.com/auth/spreadsheapshies ‘ Отказ
Аутентификация в начале каждого сценария будет искать файл под названием «Token.json» для авторизации вашего сценария. Если файл не выдыхает, он предложит вам в консоли для авторизации вашего stup и создать файл. Теперь пришло время начать!
Создать новый лист
const fs = require('fs'); const {google} = require('googleapis'); const readline = require('readline-promise').default; const SCOPES = ['https://www.googleapis.com/auth/spreadsheets']; const TOKEN_PATH = 'token.json'; //authorization async function authorize(credentials) { const { client_secret, client_id, redirect_uris } = credentials.installed; const oAuth2Client = new google.auth.OAuth2( client_id, client_secret, redirect_uris[0] ); try { const token = fs.readFileSync(TOKEN_PATH); oAuth2Client.setCredentials(JSON.parse(token)); return oAuth2Client; } catch (err) { const authorizedClient = await getNewToken(oAuth2Client); return authorizedClient; } }; async function getNewToken(oAuth2Client) { const authUrl = oAuth2Client.generateAuthUrl({ access_type: 'offline', scope: SCOPES, }); console.log('Authorize this app by visiting this url:', authUrl); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); const code = await rl.questionAsync('Enter the code from that page here: '); rl.close(); const { tokens } = await oAuth2Client.getToken(code); oAuth2Client.setCredentials(tokens); fs.writeFileSync(TOKEN_PATH, JSON.stringify(tokens)); console.log('Token stored to', TOKEN_PATH); return oAuth2Client; }; async function createSpreadsheet(sheets, title) { const resource = { properties: { title, } } const { data } = await sheets.spreadsheets.create({ resource }); console.log(`Created new spreadsheet with ID: ${data.spreadsheetId}`); return data.spreadsheetId; } const main = async () => { const content = fs.readFileSync('credentials.json'); const auth = await authorize(JSON.parse(content)); const sheets = google.sheets({ version: 'v4', auth }); const title = "test"; await createSpreadsheet(sheets, title); }; main();
Это создаст новую электронную таблицу и даст вам удостоверение личности, чтобы связать его.
Писать на лист
Используйте лист из предыдущего скрипта для скрипта ниже.
const fs = require('fs'); const {google} = require('googleapis'); const readline = require('readline-promise').default; const SCOPES = ['https://www.googleapis.com/auth/spreadsheets']; const TOKEN_PATH = 'token.json'; //authorization async function authorize(credentials) { const { client_secret, client_id, redirect_uris } = credentials.installed; const oAuth2Client = new google.auth.OAuth2( client_id, client_secret, redirect_uris[0] ); try { const token = fs.readFileSync(TOKEN_PATH); oAuth2Client.setCredentials(JSON.parse(token)); return oAuth2Client; } catch (err) { const authorizedClient = await getNewToken(oAuth2Client); return authorizedClient; } }; async function getNewToken(oAuth2Client) { const authUrl = oAuth2Client.generateAuthUrl({ access_type: 'offline', scope: SCOPES, }); console.log('Authorize this app by visiting this url:', authUrl); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); const code = await rl.questionAsync('Enter the code from that page here: '); rl.close(); const { tokens } = await oAuth2Client.getToken(code); oAuth2Client.setCredentials(tokens); fs.writeFileSync(TOKEN_PATH, JSON.stringify(tokens)); console.log('Token stored to', TOKEN_PATH); return oAuth2Client; }; async function writeToSheet(sheets, spreadsheetId) { const values = [['Name', 'Meals A Day', 'Body Fat Percentage']]; const resource = { values, }; const range = 'A1:C1'; const valueInputOption = 'USER_ENTERED'; const { data } = await sheets.spreadsheets.values.update({ spreadsheetId, range, resource, valueInputOption }) console.log('Updated cells: ' + data.updatedCells); } const main = async () => { const content = fs.readFileSync('credentials.json'); const auth = await authorize(JSON.parse(content)); const sheets = google.sheets({ version: 'v4', auth }); const sheetId = "1UXvLBLbKSUlyQV3A3m-r-lmBoxN2TEUzH6USfc6XF6g"; await writeToSheet(sheets, sheetId); }; main();
Читать с листа
const fs = require('fs'); const readline = require('readline-promise').default; const { google } = require('googleapis'); const SCOPES = ['https://www.googleapis.com/auth/spreadsheets']; const TOKEN_PATH = 'token.json'; //authorization async function authorize(credentials) { const { client_secret, client_id, redirect_uris } = credentials.installed; const oAuth2Client = new google.auth.OAuth2( client_id, client_secret, redirect_uris[0] ); try { const token = fs.readFileSync(TOKEN_PATH); oAuth2Client.setCredentials(JSON.parse(token)); return oAuth2Client; } catch (err) { const authorizedClient = await getNewToken(oAuth2Client); return authorizedClient; } }; async function getNewToken(oAuth2Client) { const authUrl = oAuth2Client.generateAuthUrl({ access_type: 'offline', scope: SCOPES, }); console.log('Authorize this app by visiting this url:', authUrl); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); const code = await rl.questionAsync('Enter the code form that page here: '); rl.close(); const { tokens } = await oAuth2Client.getToken(code); oAuth2Client.setCredentials(tokens); fs.writeFileSync(TOKEN_PATH, JSON.stringify(tokens)); console.log('Token stored to', TOKEN_PATH); return oAuth2Client; }; async function readSheet(sheets) { const ranges = ['Sheet1!A2:B']; const { data } = await sheets.spreadsheets.values.batchGet({ spreadsheetId: '1UXvLBLbKSUlyQV3A3m-r-lmBoxN2TEUzH6USfc6XF6g', ranges, }); console.log(data.valueRanges[0].values); }; const main = async () => { const content = fs.readFileSync('credentials.json'); const auth = await authorize(JSON.parse(content)); const sheets = google.sheets({ version: 'v4', auth }); await readSheet(sheets) }; main();
Вы должны увидеть результаты, отображаемые в вашей консоли, когда вы написали на свою электронную таблицу.
Вот и все!
Если вы заинтересованы в чтении что-нибудь еще, я написал, отправляйтесь на мой блог Чтобы проверить это!
Я надеюсь, что вы нашли эту статью полезную, теперь иди создайте!