Skip to content

Добавление канала Dropbox

Что подготовить сначала

Что нужноЗачем это нужно
Аккаунт DropboxДля входа и авторизации app
Dropbox appДля получения App Key и App Secret
Ваш домен ImgHostДля OAuth redirect URI
Доступное хранилище DropboxФактическое место хранения файлов

Настройка

Шаг 1. Создайте Dropbox app

  1. Откройте Dropbox App Console:
text
https://www.dropbox.com/developers/apps
  1. Создайте новый app.
  2. Для access type выберите:
text
App folder
  1. Дайте app понятное имя, например imgbed-app.
  2. После создания откройте страницу деталей app.

Рекомендуемый тип доступа:

Access TypeРекомендация
App folderРекомендуется. Это соответствует тому, как ImgHost хранит файлы.
Full DropboxНе рекомендуется. ImgHost не нужен доступ ко всему аккаунту.

Создание Dropbox app

Шаг 2. Добавьте Redirect URI

На странице деталей Dropbox app найдите настройки OAuth или Redirect URI и добавьте:

text
https://your-domain.com/api/oauth/dropbox/callback

Если админ-панель используется с нескольких доменов, добавьте каждый подходящий callback URL.

Настройка redirect URI

Шаг 3. Настройте permissions app

Откройте вкладку Permissions и включите как минимум такие scopes:

ScopeОбязательноНазначение
account_info.readДаЧитает информацию об аккаунте и квоте
files.metadata.readДаЧитает метаданные файлов и папок для проверки путей
files.metadata.writeДаСоздает папки и записывает метаданные
files.content.writeДаЗагружает файлы. Без этого scope будет ошибка required scope 'files.content.write'.
files.content.readРекомендуетсяПозволяет скачивание, preview и временные ссылки на файлы

После выбора scopes нажмите Submit внизу страницы.

Добавление прав

Важно:

СитуацияЧто сделать
Вы изменили scopesЗапустите authorization flow заново и получите новый Refresh Token.
Вы не авторизовались повторноСтарый token не получит новые permissions, поэтому загрузка все еще может падать.

Шаг 4. Скопируйте credentials app

Сохраните два значения со страницы Dropbox app:

Поле DropboxПоле ImgHost
App keyApp Key
App secretApp Secret

Шаг 5. Заполните канал Dropbox

В настройках загрузки выберите Dropbox и заполните:

Поле ImgHostЧто ввести
Channel nameПонятное имя, например Main Dropbox
App KeyDropbox App key
App SecretDropbox App secret
Refresh TokenПока оставьте пустым
Root directoryНеобязательно. По умолчанию imgbed.
NoteНеобязательно

Получение token

Шаг 6. Получите Refresh Token

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

Копирование token

Как проверить

ПроверкаОжидаемый результат
Карточка каналаDropbox-канал появляется после сохранения.
Переключатель каналаКанал можно включить.
Token сохраненНа странице деталей видно, что Refresh Token сохранен.
Тестовая загрузкаТестовое изображение появляется в app folder Dropbox.

Если включены quota limits, нажмите запрос квоты. После успешного запроса карточка канала показывает использованный объем, общий объем и время последнего обновления.

Успешный запрос квоты

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

ПроблемаКак исправить
ImgHost сообщает, что конфигурация неполнаяПроверьте, что App Key, App Secret и Refresh Token все заполнены.
Авторизация успешна, но Refresh Token не появляетсяНажмите Get Token еще раз и убедитесь, что используется offline authorization flow.
Загрузка падает с required scope 'files.content.write'Включите files.content.write, нажмите Submit, затем получите новый Refresh Token.
Callback не проходитУбедитесь, что redirect URI имеет вид https://your-domain.com/api/oauth/dropbox/callback.
Файлы не находятсяУбедитесь, что Dropbox app создан в режиме App folder.

Короткий сценарий

text
Open Dropbox App Console
-> Create an app
-> Choose App folder access
-> Add https://your-domain.com/api/oauth/dropbox/callback
-> Enable account_info.read / files.metadata.read / files.metadata.write / files.content.write
-> Optionally enable files.content.read
-> Click Submit
-> Copy App Key and App Secret
-> Fill them into ImgHost
-> Click Get Token
-> Copy the Refresh Token from the callback page
-> Paste it back into ImgHost and save

Ссылки

  1. Dropbox App Console: https://www.dropbox.com/developers/apps
  2. Dropbox OAuth Guide: https://developers.dropbox.com/oauth-guide
  3. Dropbox Developer Guide: https://www.dropbox.com/developers/reference/developer-guide

Released as user documentation for ImgHost.