Делаем бота для учета личных расходов на Python используя Google Spreadsheets
Здравствуйте, совсем недавно у меня появилось потребность вести и контролировать свои расходы в каком нибудь приложении. В маркете GooglePlay можно найти множество бесплатных приложений для решения этой задачи. Но к сожалению не смог для себя выбрать какую нибудь из них, во многих присутствует назойливая реклама, некоторые неудобны, да и отправлять свои данные в какие то незнакомые сервисы не очень желательно.
Тогда появился идея сделать простого бота который хранил бы мои данные в Google Spreadsheet. Идея очень проста: отправляем информацию о расходе в бот, а бот хранить это в Google таблицах.
Итак, начнем!
- Создадим таблицу в https://docs.google.com/spreadsheets и назовем его “Мои расходы”
- Сделаем несколько полей в таблиц, возможно в последующем добавим еще несколько пунктов, но для начало хватить 3–4 поля:
- Чтобы работать с Google Sheets API нам нужно авторизовать наше приложение. Для этого нам нужно включать API
Включаем API доступ для проекта
- Переходим в 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
1144 Minutes to Days | Telegram
TRX1 Dev Blog #9 (September 2021) | by Maksim Koltsov | Medium – Telegram 安装
中国手机号注册telegram账号的若干问题 | – Telegram 安装
How to create a Telegram bot with Python in under 10 min! | by Deniz Shabani | Medium – Telegram 安装
452 Milliseconds to Minutes | – Telegram 下载
用Telegram打造自己的監控機器人 Telegram群組
Nicegram 突破 iOS 老司機群組不能觀看限制,就是要你上車 :: – Telegram 安装
30000 Seconds to Hours | Telegram
Making our First Telegram Bot [Part -2] | by Kalyan Mudumby | Mar, 2022 | Medium – Telegram 安装