Диск — хранилища, папки, файлы

Список хранилищ и содержимого папок, создание подпапок, просмотр файлов. Загрузка файлов (multipart) намеренно вне области.

Что делает

Затрагивает все операции чтения/записи Bitrix24 Диска без multipart: disk.storage.getlist, disk.folder.getchildren (постранично через actions.v2.callList.make), disk.folder.addsubfolder, disk.file.get. Включает пример actions.v2.batch.make, объединяющий список хранилищ и корневой папки в один round-trip.

Стек

Node.js 18+. Без внешних зависимостей.

Переменные окружения

export B24_HOOK='https://your.bitrix24.com/rest/1/secret'

Нужен scope вебхука: у входящего вебхука должен быть включён scope disk. Портал Bitrix24 → Ресурсы разработчика → Входящие вебхуки → изменить → отметьте Диск (disk). Без него все вызовы Disk API возвращают insufficient_scope (HTTP 401).

Запуск

npx tsx 05-disk-files.ts

Исходник

skills/b24jssdk-recipes/examples/05-disk-files.ts.

Примечания

  • Загрузка бинарника требует disk.folder.uploadfile с multipart/form-data. SDK может это через нижележащий транспорт Http, но это не «drop-in» вызов actions.v2.call.make — такой рецепт в списке предложений.
  • Методы Диска используют классические поля в верхнем регистре: ID, NAME, PARENT_ID, ROOT_OBJECT_ID. v3 Disk API не существует.
  • disk.folder.getchildren постраничный — всегда идите через actions.v2.callList.make (или actions.v2.fetchList.make для больших папок), а не через одиночный actions.v2.call.make.