Skip to content

Repository files navigation

Интеграция модуля google_client.py

Модуль предоставляет удобный интерфейс для работы с Google Sheets и Google Docs. Он используется для:

  • чтения данных из таблицы;
  • получения текста из Google Docs;
  • скачивания медиафайлов по ссылкам;
  • обновления статусов и другой информации в таблице.

1. Установка зависимостей

Выполните в терминале:

pip install -r requirements.txt

2. Настройка доступа к Google API

  1. Создайте проект в Google Cloud Console.
  2. Включите API:
  • Google Sheets API
  • Google Docs API
  • Google Drive API
  1. Создайте сервисный аккаунт:
  • Перейдите в «IAM и администрирование» → «Сервисные аккаунты».
  • Создайте новый аккаунт, скачайте JSON-ключ.
  • Сохраните ключ в корне проекта, например credentials.json (добавьте его в .gitignore!).
  1. Дайте доступ сервисному аккаунту:
  • Откройте Google Таблицу, с которой будете работать.
  • Нажмите «Настройки доступа» и добавьте email сервисного аккаунта (из JSON) как Редактор.
  • Для каждого Google Документа, из которого планируете получать текст, также откройте доступ (роль Читатель).

3. Подключение и использование в коде

Необходимы 2 переменных окружения .env

TELEGRAM_BOT_TOKEN = TELEGRAM_CHAT_ID =

4. Запуск

python main_scheduler.py

Demo

5. Важные замечания

  1. Не коммитьте JSON-ключ! Он должен быть в .gitignore. Используйте переменные окружения или передавайте путь через конфиг.
  2. Доступ к документам: сервисному аккаунту нужно явно открыть доступ к каждому документу (роль «Читатель»), иначе get_text_from_doc вернёт ошибку 403.
  3. Обработка ошибок: методы могут выбрасывать исключения (например, при проблемах с сетью или доступом). Обязательно оборачивайте вызовы в try/except и обновляйте статус в таблице.
  4. Лимиты API: соблюдайте разумные паузы между запросами (например, time.sleep(1) после каждой итерации обработки строк), чтобы не превысить квоты Google.
  5. Хранение ID постов: если нужно сохранять ID опубликованных постов для последующего удаления, используйте update_cell для отдельной колонки (например, I). При необходимости метод можно расширить.

About

Сервис SMM Planer

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages