Делаем бота для учета личных расходов на Python используя Google Spreadsheets | by Jamshed Djuraev | Medium – Telegram 安装

Haley

Делаем бота для учета личных расходов на 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

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 安装

Should I buy fake followers for my NFT/Web3 projects Twitter/Telegram accounts? | by Pullinger.eth | Mar, 2022 | Medium – Telegram 安装

About Me

Pretium lorem primis senectus habitasse lectus donec ultricies tortor adipiscing fusce morbi volutpat pellentesque consectetur risus curae malesuada dignissim lacus convallis massa mauris.