Модуль предоставляет удобный интерфейс для работы с Google Sheets и Google Docs. Он используется для:
- чтения данных из таблицы;
- получения текста из Google Docs;
- скачивания медиафайлов по ссылкам;
- обновления статусов и другой информации в таблице.
Выполните в терминале:
pip install -r requirements.txt- Создайте проект в Google Cloud Console.
- Включите API:
- Google Sheets API
- Google Docs API
- Google Drive API
- Создайте сервисный аккаунт:
- Перейдите в «IAM и администрирование» → «Сервисные аккаунты».
- Создайте новый аккаунт, скачайте JSON-ключ.
- Сохраните ключ в корне проекта, например credentials.json (добавьте его в .gitignore!).
- Дайте доступ сервисному аккаунту:
- Откройте Google Таблицу, с которой будете работать.
- Нажмите «Настройки доступа» и добавьте email сервисного аккаунта (из JSON) как Редактор.
- Для каждого Google Документа, из которого планируете получать текст, также откройте доступ (роль Читатель).
Необходимы 2 переменных окружения .env
TELEGRAM_BOT_TOKEN = TELEGRAM_CHAT_ID =
python main_scheduler.py- Не коммитьте JSON-ключ! Он должен быть в .gitignore. Используйте переменные окружения или передавайте путь через конфиг.
- Доступ к документам: сервисному аккаунту нужно явно открыть доступ к каждому документу (роль «Читатель»), иначе get_text_from_doc вернёт ошибку 403.
- Обработка ошибок: методы могут выбрасывать исключения (например, при проблемах с сетью или доступом). Обязательно оборачивайте вызовы в try/except и обновляйте статус в таблице.
- Лимиты API: соблюдайте разумные паузы между запросами (например, time.sleep(1) после каждой итерации обработки строк), чтобы не превысить квоты Google.
- Хранение ID постов: если нужно сохранять ID опубликованных постов для последующего удаления, используйте update_cell для отдельной колонки (например, I). При необходимости метод можно расширить.
