Як інтегрувати Node.js з API Google Таблиць для редагування або створення даних у ваших таблицях?

Отже, ви хочете пов'язати ваші файли node.js з Google таблицями для редагування або додавання тексту? У цьому посібнику ви дізнаєтесь, як саме це зробити.

Крок 1: Створення проекту в Google Cloud

Спочатку потрібно відвідати Google Cloud Console. Це повинно виглядати ось так:

pic

Далі потрібно створити проект (або ви можете використати існуючий). Після цього ви повинні потрапити на головний екран, де є розділ швидкого доступу, як на зображенні вище. Коли проект буде створено, виберіть його зі списку у верхній частині сторінки.

Крок 2: Увімкнення API Google Sheets

У розділі швидкого доступу, який ми згадували, виберіть API та сервіси і потім перейдіть на бічну панель зліва і натисніть на Облікові дані (Credentials). Це виглядатиме ось так:

pic

У рядку пошуку вгорі наберіть “Google Sheets API”. Має з’явитись щось подібне:

pic

Натискайте на перший результат на зображенні, а потім натискайте на синю кнопку Enable.

Крок 3: Налаштування облікових даних

Цей крок на ваш вибір, але я рекомендую створити обліковий запис сервісу замість інших варіантів, він підходить для більшості випадків.

Добре, повертаємось до вкладки облікових даних. Тепер зробимо все швидко:

  1. Перейдіть у API та сервіси > Облікові дані (Credentials).
  2. Натисніть + Створити облікові дані (Create Credentials) і виберіть Обліковий запис сервісу (Service Account).
  3. Заповніть Назву облікового запису сервісу (Service Account Name) і натисніть Створити та продовжити (Create and Continue).
  4. Призначте Роль (Role): Виберіть Редактор (Editor) для надання доступу на запис у Google таблицю.
  5. Натисніть Готово (Done) (на цьому етапі не потрібно призначати користувачів).
  6. Ви побачите обліковий запис сервісу у списку. Натисніть на нього та перейдіть на вкладку Ключі (Keys).
  7. Натисніть Додати ключ (Add Key) > Створити новий ключ (Create New Key).
  8. Виберіть JSON і натисніть Створити (Create). Завантажиться файл .json — він містить ваші облікові дані.

pic

Крок 4: Поділіться таблицею з обліковим записом сервісу

Отже, тепер, коли ми налаштували наше API, давайте перейдемо до налаштування таблиці:

  • Відкрийте свою Google таблицю.
  • Натисніть кнопку Поділитися (Share) у верхньому правому куті.
  • Додайте Email облікового запису сервісу (Service Account Email) (цей email можна знайти у файлі JSON в полі "client_email", яке міститься в завантаженому JSON)._
  • Надайте доступ Редактор (Editor) і натисніть Надіслати (Send).

Крок 5: Встановіть бібліотеку клієнта Google API

Встановіть Google API у вашому проєкті

npm install googleapis

Крок 6: Доступ до Google Sheets програмно

Використовуйте файл облікових даних JSON і бібліотеку клієнта Google Sheets API для взаємодії з таблицею.
Ось простий приклад:

const { google } = require("googleapis");  
const credentials = require("./path-to-credentials.json"); // Замініть на шлях до вашого файлу JSON  
const auth = new google.auth.GoogleAuth({  
 credentials,  
 scopes: ["https://www.googleapis.com/auth/spreadsheets"],  
});  
async function appendDataToSheet() {  
 const sheets = google.sheets({ version: "v4", auth });  
 const SPREADSHEET_ID = "YOUR_SPREADSHEET_ID"; // Замініть на ваш ID таблиці  
 const SHEET_NAME = "Sheet1"; // Замініть на назву вашої вкладки  
 const data = [["Timestamp", "Your Text"], [new Date().toLocaleString(), "Example Text"]];  
 try {  
 const response = await sheets.spreadsheets.values.append({  
 spreadsheetId: SPREADSHEET_ID,  
 range: `${SHEET_NAME}!A:A`, // Додавати до першого стовпця  
 valueInputOption: "USER_ENTERED",  
 resource: {  
 values: data,  
 },  
 });  
 console.log("Дані додано:", response.data);  
 } catch (error) {  
 console.error("Помилка при додаванні даних:", error);  
 }  
}  
appendDataToSheet();

Крок 7: Перевірте і насолоджуйтесь!

Якщо ви дійшли до цього кроку, то вітаємо вас! Перевірте API, використовуючи:

npm start // в вашому терміналі, геній!

ТЕПЕР ПЕРЕВІРТЕ ТАБЛИЦЮ. ЯКЩО ЇЇ НІ, ТО ЦЕ ВАША 🫵ПОМИЛКА

В кінці ви повинні побачити таку відповідь. Або хоча б щось подібне

pic

Перекладено з: How do you integrate Node.js to Google Worksheets API for editing or creating in your spreadsheets?