Перейти к основному содержимому

Настройка OAuth 2.0

Это руководство поможет вам настроить учётные данные Google OAuth 2.0 для доступа C4G к вашим Google Sheets.

Обзор

C4G использует Google Sheets API для чтения данных конфигурации из ваших таблиц. Для доступа к этому API вам необходимо:

  1. Создать проект в Google Cloud
  2. Включить Google Sheets API
  3. Создать учётные данные OAuth 2.0
  4. Скачать файл с учётными данными
  5. Настроить C4G для использования учётных данных

Пошаговая настройка

Шаг 1: Создание проекта в Google Cloud

  1. Перейдите в Google Cloud Console

  2. Войдите в свою учётную запись Google

  3. Нажмите на выпадающий список проектов вверху страницы

  4. Нажмите «Новый проект»

  5. Введите данные проекта:

    • Название проекта: C4G Game Configs (или любое другое)
    • Организация: Оставьте по умолчанию (опционально)
    • Местоположение: Оставьте по умолчанию (опционально)
  6. Нажмите «Создать»

  7. Подождите, пока проект будет создан (обычно несколько секунд)

Шаг 2: Включение Google Sheets API

  1. В Google Cloud Console убедитесь, что выбран ваш новый проект

  2. Перейдите в APIs & Services → Библиотека

    • Или воспользуйтесь строкой поиска и введите «Google Sheets API»
  3. Найдите «Google Sheets API»

  4. Нажмите на «Google Sheets API»

  5. Нажмите кнопку «Включить»

  6. Подождите, пока API будет включён (несколько секунд)

Шаг 3: Создание учётных данных OAuth 2.0

  1. Перейдите в APIs & Services → Учётные данные

  2. Нажмите «+ СОЗДАТЬ УЧЁТНЫЕ ДАННЫЕ» вверху

  3. Выберите «Идентификатор клиента OAuth»

  4. Если будет предложено настроить экран согласия OAuth:

    • Нажмите «Настроить экран согласия»
    • Выберите тип пользователя «Внешний»
    • Нажмите «Создать»

    Заполните экран согласия OAuth:

    • Название приложения: C4G Game Configs
    • Адрес электронной почты для поддержки: Ваш email
    • Контактный email разработчика: Ваш email
    • Нажмите «Сохранить и продолжить»
    • Пропустите «Области» (нажмите «Сохранить и продолжить»)
    • Пропустите «Тестовых пользователей» (нажмите «Сохранить и продолжить»)
    • Нажмите «Вернуться на панель управления»
  5. Вернитесь в Учётные данные и снова нажмите «+ СОЗДАТЬ УЧЁТНЫЕ ДАННЫЕ»

  6. Выберите «Идентификатор клиента OAuth»

  7. Настройте клиент OAuth:

    • Тип приложения: Выберите «Приложение для ПК»
    • Имя: C4G Desktop Client (или любое другое)
  8. Нажмите «Создать»

  9. Появится диалог с вашим идентификатором клиента и секретом клиента

Шаг 4: Скачивание файла с учётными данными

  1. В диалоговом окне нажмите «Скачать JSON»

  2. Сохраните файл под понятным именем:

    • Пример: c4g_credentials.json
    • Пример: google_sheets_oauth.json
  3. Храните этот файл в безопасном месте — никогда не добавляйте его в систему контроля версий!

  4. Рекомендуемое расположение:

    YourUnityProject/
    └── Credentials/
    └── c4g_credentials.json
  5. Добавьте в .gitignore:

    # Учётные данные Google OAuth
    Credentials/
    *_credentials.json

Шаг 5: Настройка C4G с учётными данными

  1. Откройте Unity Editor

  2. Откройте настройки C4G:

    • Window → C4G → Settings
  3. В окне настроек найдите поле «Client Secret»

  4. Нажмите на значок папки или вставьте полный путь к JSON-файлу с учётными данными:

    C:/YourProject/Credentials/c4g_credentials.json
  5. C4G проверит файл с учётными данными

Формат файла учётных данных

Скачанный JSON-файл должен выглядеть следующим образом:

{
"installed": {
"client_id": "YOUR_CLIENT_ID.apps.googleusercontent.com",
"project_id": "your-project-id",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_secret": "YOUR_CLIENT_SECRET",
"redirect_uris": ["http://localhost"]
}
}

Важно: C4G ищет раздел "installed" для настольных приложений.

Первичная авторизация

При первой генерации конфигов через C4G:

  1. C4G откроет ваш браузер по умолчанию

  2. Google попросит вас войти в аккаунт (если вы ещё не вошли)

  3. Google покажет экран согласия:

    • Может появиться предупреждение «Это приложение не проверено»
    • Нажмите «Дополнительные параметры»
    • Нажмите «Перейти на C4G Game Configs (небезопасно)» (это ваше собственное приложение, оно безопасно)
  4. Ознакомьтесь с разрешениями:

    • C4G запрашивает: «Просмотр ваших таблиц Google»
    • Это доступ только для чтения
  5. Нажмите «Разрешить»

  6. В браузере появится сообщение об успешной авторизации

  7. Вернитесь в Unity — теперь C4G имеет доступ к вашим таблицам

  8. Токен авторизации сохраняется локально, повторная авторизация не потребуется, если вы не отзовёте доступ

Рекомендации по безопасности

ДЕЛАЙТЕ ✅

  • Храните учётные данные за пределами папки Assets Unity — для удобного управления .gitignore
  • Сразу добавляйте файлы с учётными данными в .gitignore
  • Используйте отдельный аккаунт Google для разработки игр при работе в команде
  • Отзывайте и пересоздавайте учётные данные при случайном раскрытии
  • Храните учётные данные в безопасном месте с ограниченным доступом
  • Документируйте расположение учётных данных для команды (но не сам файл)

НЕ ДЕЛАЙТЕ ❌

  • Никогда не добавляйте учётные данные в систему контроля версий (Git, SVN и т.д.)
  • Никогда не передавайте файлы с учётными данными по email или в мессенджерах
  • Никогда не встраивайте учётные данные в скрипты
  • Не используйте личные аккаунты Google для продакшн/командных проектов
  • Не давайте больше разрешений, чем доступ на чтение Google Sheets API

Устранение неполадок

Ошибка «Invalid credentials»

Причина: Файл с учётными данными имеет неверный формат

Решение:

  • Повторно скачайте учётные данные из Google Cloud Console
  • Убедитесь, что вы выбрали «Приложение для ПК» (не «Веб-приложение»)
  • Убедитесь, что JSON-файл содержит раздел "installed"

Ошибка «Access denied»

Причина: Google Sheets API не включён

Решение:

  • Перейдите в Google Cloud Console
  • Откройте APIs & Services → Библиотека
  • Найдите «Google Sheets API»
  • Нажмите «Включить»

«Браузер не открывается для авторизации»

Причина: Браузер по умолчанию не задан или брандмауэр блокирует запрос

Решение:

  • Вручную скопируйте URL авторизации из консоли Unity
  • Вставьте его в браузер
  • Завершите процесс авторизации

Предупреждение «Это приложение не проверено»

Причина: Ваше OAuth-приложение не прошло верификацию Google

Решение:

  • Это нормально для личных/разрабатываемых приложений
  • Нажмите «Дополнительные параметры» → «Перейти на [название приложения] (небезопасно)»
  • Для продакшн-приложений рассмотрите прохождение верификации Google

Ошибка «Credentials file not found»

Причина: Неверный путь к файлу или файл был перемещён

Решение:

  • Убедитесь, что файл находится по указанному пути
  • Используйте абсолютные пути (не относительные)
  • Проверьте правописание пути
  • Убедитесь, что Unity имеет права на чтение файла

Отзыв доступа

Если вам нужно отозвать доступ C4G к вашим Google Sheets:

  1. Перейдите в Разрешения аккаунта Google

  2. Найдите приложение C4G в списке

  3. Нажмите на него и выберите «Удалить доступ»

  4. При следующем использовании C4G потребуется повторная авторизация

Настройка для команды

Для командных проектов:

  1. Вариант А: Каждый разработчик создаёт свои учётные данные

    • Плюсы: Более высокий уровень безопасности, индивидуальный контроль доступа
    • Минусы: Каждый должен настроить OAuth
  2. Вариант Б: Общий сервисный аккаунт (Продвинутый уровень)

    • Используйте сервисный аккаунт Google вместо OAuth
    • Безопасно передайте ключ сервисного аккаунта
    • Не рассматривается в данном руководстве

Рекомендация: Вариант А для небольших команд, Вариант Б для крупных организаций

Следующие шаги