Делаем бота для учета личных расходов на Python используя Google Spreadsheets – Telegram Group

Делаем бота для учета личных расходов на Python используя Google Spreadsheets

Здравствуйте, совсем недавно у меня появилось потребность вести и контролировать свои расходы в каком нибудь приложении. В маркете GooglePlay можно найти множество бесплатных приложений для решения этой задачи. Но к сожалению не смог для себя выбрать какую нибудь из них, во многих присутствует назойливая реклама, некоторые неудобны, да и отправлять свои данные в какие то незнакомые сервисы не очень желательно.

Тогда появился идея сделать простого бота который хранил бы мои данные в Google Spreadsheet. Идея очень проста: отправляем информацию о расходе в бот, а бот хранить это в Google таблицах.

Итак, начнем!

  • Создадим таблицу в https://docs.google.com/spreadsheets и назовем его “Мои расходы”
  • Сделаем несколько полей в таблиц, возможно в последующем добавим еще несколько пунктов, но для начало хватить 3–4 поля:
  • Чтобы работать с Google Sheets API нам нужно авторизовать наше приложение. Для этого нам нужно включать API

Включаем API доступ для проекта

  1. Переходим в Google Developers Console и создаем новый проект (или можно выбрать существующий).

2. Добавляем Google Drive API и Google Sheets API в проект

3. После добавления API, нужно добавить учетные данные, делается это нажатием на кнопку “Создать учетные записи” в странице “API и сервисы”

4. Заполняйте поля как показано ниже и результате ваш браузер скачает JSON файл с доступами API

5. Далее, переименуйте и разместите скачанный JSON файл в папку “~/.config/gspread/service_account.json”. Пользователи Windows должны разместить в папку “%APPDATA%\gspread\service_account.json”

6. Запомните путь к загруженному файлу учетных данных. Кроме того, на следующем шаге вам понадобится значение client_email из этого файла.

Очень важно! Перейдите в свою электронную таблицу и поделитесь ею с client_email из шага выше. Как и с любой другой учетной записью Google. Если вы этого не сделаете, вы получите исключение gspread.exceptions.SpreadsheetNotFound при попытке доступа к этой таблице из приложения или скрипта.

Подготовим Python для работы с Google Spreadsheet и попробуем работать с таблицей

Есть отличная библиотека для работы с GoogleSpreadsheet, называется она gspread. Установим библиотеку с помощью pip:

pip install gspread

Все готово для начало работы, попробуем прочитать первую строку нашей таблицы:

import gspreadgc = gspread.service_account()sh = gc.open_by_key(“YOUR_KEY”)print(sh.sheet1.get(‘A1:D1’))

Результатом должна быть первая строка нашей таблицы:

[['№', 'Дата', 'Тип расхода', 'Сумма']]

Отлично! На этом этапе мы создали таблицу, настроили API с доступом, установили библиотеку и написали простенькую программу для чтение данных с таблицы. Мы увидели, как легко управлять Google таблицами из приложений Python. На следующем этапе мы начинаем создания бота и будем добавлять записи через наш бот.

Ten articles before and after

data-rh=”true”>Telegram Bot и отчётность по проекту – ToBe – Medium – Telegram Group

Делаем бота для учета личных расходов на Python используя Google Spreadsheets (часть 2) – Telegram Group

Controlling Light using Telegram Bot – Telegram Group

Telegram’da Benim de Bir Tuzum Olsun – Telegram Group

How to send photos to Telegram in Ruby – Telegram Group

[BEST] Tricks To Rank #1 Your Telegram Channel (2022) – Telegram Group

data-rh=”true”>Telegram channel – KYC COIN – Medium – Telegram Group

Telegram Marketing: How to Promote a Startup Channel – Telegram Group

Emprendedores. Usa Telegram para promocionar tu contenido. – Telegram Group

Emprendedores. Bots de Telegram para moderar grupos – Telegram Group