Додавання каналу 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