Добавление канала Google Drive
Что подготовить сначала
Перед началом подготовьте:
| Что нужно | Зачем это нужно |
|---|---|
| Аккаунт Google | Для доступа к Google Cloud и авторизации Google Drive |
| Проект Google Cloud | Для включения Drive API и создания OAuth credentials |
| OAuth 2.0 client | ImgHost использует его для получения Client ID, Client Secret и Refresh Token |
| Ваш домен ImgHost | Для OAuth redirect URI. Он должен совпадать с доменом, который вы реально используете. |
Настройка
Шаг 1. Включите Google Drive API
- Откройте Google Cloud Console.
- Создайте новый проект или выберите существующий.
- Перейдите в
APIs & Services. - Нажмите
Enable APIs and Services. - Найдите
Google Drive API. - Откройте его и нажмите enable.
Шаг 2. Настройте OAuth Consent Screen
- В Google Cloud откройте
Google Auth Platform. - Заполните базовую информацию
Branding: имя app, support email и developer contact email. - Откройте
Audience. - Для большинства личных self-hosted развертываний выберите
External. - Если выбран
External, добавьте Google-аккаунт, который хотите авторизовать, вTest users. - Откройте
Data Access. - Добавьте нужные permissions для Google Drive.
Шаг 3. Создайте OAuth 2.0 Client
- В
Google Auth PlatformоткройтеClients. - Создайте новый client.
- Установите application type как
Web application. - Дайте client понятное имя.
- Для authorized JavaScript origins введите URL ImgHost, например:
text
https://img.example.com- Для authorized redirect URIs введите:
text
https://img.example.com/api/oauth/google/callback

После создания client скопируйте:
| Сгенерированное значение | Поле ImgHost |
|---|---|
| Client ID | Client ID |
| Client Secret | Client Secret |
Шаг 4. Заполните канал Google Drive
В настройках загрузки выберите Google Drive и заполните:
| Поле ImgHost | Что ввести |
|---|---|
| Channel name | Понятное имя, например Main Google Drive |
| Client ID | Client ID из Google Cloud |
| Client Secret | Client Secret из Google Cloud |
| Refresh Token | Пока оставьте пустым. Получите его на следующем шаге. |
| Root directory | Необязательно. По умолчанию imgbed. |

Шаг 5. Получите Refresh Token
- Нажмите
Get Token. - Выберите Google-аккаунт, который хотите подключить.
- Пройдите подсказки авторизации.
- На callback-странице появится
Refresh Token. - Скопируйте его.
- Вернитесь в ImgHost и вставьте его в поле
Refresh Token.

Если позже вы смените Google-аккаунт, OAuth client или старая авторизация истечет, удалять канал не нужно. Откройте страницу редактирования и нажмите Reauthorize.
Шаг 6. Сохраните канал
Когда все поля заполнены, сохраните канал.
Короткий сценарий
text
Open Google Cloud
-> Create or select a project
-> Enable Google Drive API
-> Configure Google Auth Platform
-> If Audience is External, add your Google account to Test users
-> Create a Web application OAuth client
-> Use https://your-domain.com/api/oauth/google/callback as the redirect URI
-> Fill Client ID and Client Secret into ImgHost
-> Click Get Token
-> Sign in with Google and authorize
-> Copy the Refresh Token from the callback page
-> Paste it back into ImgHost and save
-> Upload a test imageСсылки
- Google OAuth Web Server Applications: https://developers.google.com/identity/protocols/oauth2/web-server
- Google Workspace OAuth Consent Configuration: https://developers.google.com/workspace/guides/configure-oauth-consent
- Google Drive API Auth Scopes: https://developers.google.com/workspace/drive/api/guides/api-specific-auth