📊 Google-таблицы и JSON-ключ
Зачем нужна таблица, как создать сервисный аккаунт Google, получить JSON-ключ и подключить всё к программе
Зачем это вам: в Google-таблице лежат ваши запросы, артикулы, прокси и почты, а программа пишет туда результаты. Без таблицы не работают авторегистрация, автовход, проверка аккаунтов и другие модули с аккаунтами.
Настройка делается один раз, минут за 15.
Каким модулям нужна таблица#
| Модуль | Без таблицы |
|---|---|
| Поведенческий фактор | Можно: режим «Внутренний ввод», запросы и прокси вписываются прямо в настройках |
| Позиция в поиске | Можно: источник данных «Внутренний ввод» |
| Авторегистрация, автовход, проверка аккаунтов, чистка корзин, ручное управление, автоотзывы | Нельзя: как минимум прокси эти модули берут только из таблицы |
У проверки аккаунтов вкладку Чекер заполнять не нужно: программа сама пишет туда итоги. Но прокси она всё равно читает из таблицы.
Шаг 1. Почта Google#
Нужен обычный аккаунт Google: accounts.google.com. Лучше завести отдельную почту под работу, чтобы рабочие данные не смешивались с личными.
Шаг 2. Создать сервисный аккаунт#
Сервисный аккаунт — это «робот» Google со своим адресом почты. Программа входит в таблицу от его имени. Ключ от этого робота — JSON-файл (обычный файл с текстом, который вы скачаете).
- Откройте Google Cloud Console → Credentials
- Если консоль открывается впервые — выберите страну (любую, кроме стран СНГ: для них Google Cloud закрыт) и поставьте обе галочки согласия
- Создайте проект и дождитесь, пока он загрузится
- Нажмите Create Credentials → Service account
- Заполните имя (любое) и пройдите шаги мастера до конца
- Откройте созданный сервисный аккаунт → вкладка Keys → Add key → Create new key → тип JSON → Create
Файл скачается сам. Перенесите его в постоянное место, например в папку с программой: путь к нему понадобится дальше.
Кто угодно с этим файлом получит доступ к таблицам, открытым роботу. Не выкладывайте его в чаты. Если файл утёк — удалите ключ в консоли и создайте новый.
Шаг 3. Включить два API#
API — это «вход» в сервис Google для программ. Без этого шага Google откажет программе даже с правильным ключом.
- Откройте Google Sheets API, выберите ваш проект и нажмите ENABLE
- Откройте Google Drive API, выберите тот же проект и нажмите ENABLE
Проверьте название проекта в верхней панели консоли: оно должно совпадать с тем, где вы создавали сервисный аккаунт.
Шаг 4. Скопировать шаблон таблицы#
Готовый шаблон со всеми вкладками: открыть шаблон.
- В шаблоне: Файл → Создать копию
- Копия появится на вашем Google-диске. Работайте с ней, не с оригиналом
Шаг 5. Открыть доступ роботу#
Программа читает таблицу только от имени сервисного аккаунта. Поэтому доступ нужно дать именно ему.
- Откройте JSON-файл Блокнотом и найдите строку
"client_email". Адрес после неё (заканчивается на.iam.gserviceaccount.com) — это почта робота. Её же программа показывает, когда вы выбираете JSON-файл в настройках - В своей копии таблицы нажмите Поделиться
- Впишите почту робота, роль — «Редактор», нажмите Отправить
Программа не только читает таблицу, но и пишет в неё: статусы регистраций, итоги проверки аккаунтов. С ролью «Читатель» запись не пройдёт.
Так тоже заработает, но тогда любой, к кому попала ссылка, увидит и сможет изменить ваши прокси с паролями и почты с паролями. Давайте доступ только почте робота.
Шаг 6. Подключить к программе#
В настройках модуля найдите блок «Google Таблицы» (в ПФ — «Google Таблицы и Прокси», он виден в режиме «📊 Google Таблицы») и заполните:
| Поле | Что вписать |
|---|---|
| Google Sheet ID или ссылка | Ссылку на вашу копию таблицы целиком. Программа сама вырежет из неё ID |
| JSON Key Path | Путь к JSON-файлу. Кнопка с папкой откроет проводник |
Кнопки «Сохранить» нет: изменения применяются сразу.
У авторегистрации, автовхода, проверки аккаунтов, чистки корзин и ручного управления эти поля общие и сохраняются насовсем: заполнили в одном модуле — они появятся и в остальных. У поведенческого фактора и автоотзывов поля свои на каждой вкладке «Сессия»: при запуске программы туда подставляются общие, а правки на вкладке живут, пока программа открыта. Настройки ПФ сохраняйте шаблоном.
Вкладки таблицы#
Программа ищет вкладку по имени. Имена по умолчанию:
| Вкладка | Модуль | Что в ней |
|---|---|---|
ПФ1 | Поведенческий фактор | Запросы и артикулы |
п2 | Все модули, кроме позиции в поиске | Список прокси |
КТ1 | Позиция в поиске | Запросы и артикулы для замера |
Рег | Авторегистрация | Почты для новых аккаунтов |
Вход | Автовход | Почты и пароли готовых аккаунтов |
Чекер | Проверка аккаунтов | Итоги проверки, пишет программа |
Отзывы | Автоотзывы | Описание — в теме Автоотзывы |
Имя п2 пришло из старого шаблона, вкладки «п1» нет. Если переименовали вкладку в таблице, поменяйте имя и в настройках модуля. Лишний пробел или другой регистр букв тоже считаются другим именем.
Первая строка каждой вкладки — заголовки. Программа её пропускает, данные начинаются со второй строки. Исключение — КТ1, см. ниже.
ПФ1 — задания поведенческого фактора#
Что значат колонки, зависит от режима работы ПФ:
| Режим | A | B | C |
|---|---|---|---|
| Пф | Поисковый запрос | Артикул Ozon вашего товара | Размер (необязательно) |
| Пф URL | Ссылка на товар | — | — |
| Карточка конкурента, Похожие аналоги, Похожие по фото | Ссылка на карточку конкурента или её артикул | Ваш артикул | Размер (необязательно) |
| Настройка через таблицу | Поисковый запрос | Ваш артикул | Сколько успешных заходов нужно по этой строке |
Один запрос можно повторить на нескольких строках: все его артикулы воркер будет искать в одной выдаче. Артикул — это номер товара на Ozon, цифры в конце ссылки на карточку (не ваш артикул продавца). Размер нужен только одежде и обуви: пишите его так, как он подписан на карточке.
п2 — прокси#
A — прокси, B — ссылка смены IP (необязательно), C — тип. Формат и примеры — в теме Прокси. В поведенческом факторе строка 2 достаётся потоку 1, строка 3 — потоку 2 и так далее.
КТ1 — позиция в поиске#
| A | B | C | D | E |
|---|---|---|---|---|
| Запрос | Артикул | Прокси (необязательно) | Тип прокси (пусто — socks5) | Заметки |
Строки без запроса или без артикула пропускаются. Заголовок трекер узнаёт по словам: в A должно быть слово «ключ», в B — «артикул» (например, «Ключ» и «Артикул»). Иначе строка заголовка уйдёт в работу как запрос. Прокси трекер берёт из колонки C, вкладку п2 он не читает.
Рег, Вход, Чекер#
Рег: в колонке A — почта в видепочта:пароль. Колонки B–E программа заполняет сама: телефон, имя, пол, статус. Строку со статусом «Зарегистрирован», «уже существует», «неправильный логин или пароль» или «скип» программа больше не берёт. Подробнее — АвторегистрацияВход: в колонке A — почта готового аккаунта и пароль от этой почты (почта:пароль), в колонку B программа пишет статус. Подробнее — АвтовходЧекер: заполнять не нужно. Программа дописывает строки: имя профиля, авторизован ли, есть ли товары, которые ждут отзыва, и сколько их
Возможные ошибки#
| Что происходит | Причина | Что делать |
|---|---|---|
| «Доступ запрещён» при старте | Не включён Sheets API или Drive API, или роботу не дан доступ | Пройдите шаги 3 и 5 ещё раз |
| «Пустые данные Google Sheets» | Во вкладке нет строк под заголовком, или вкладки с таким именем не было | Если вкладки не было, программа сама создала пустую с этим именем. Сверьте имя в настройках и в таблице символ в символ |
| Статусы не появляются в таблице | Роль робота «Читатель» | Поменяйте роль на «Редактор» |
| Ошибка чтения JSON-ключа | Файл переместили или удалили | Укажите новый путь в поле JSON Key Path |
| Работало, потом перестало | Ключ удалён в консоли Google | Создайте новый ключ (шаг 2, пункт 6) |
Программа читает таблицу в момент старта модуля. Правьте данные между запусками, перезапускать саму программу не нужно.
Что дальше#
Таблица подключена — впишите в неё прокси: Прокси: подбор и подключение. Общая схема модулей и словарь терминов — в теме Как устроен NeftBot.