Охохо... интересная задачка! Особенно когда документации не то, что по диску, по корпоративному порталу не проработано.
Насколько я знаю все сущности диска (папки и файлы) являются обьектами и хранятся в b_disk_object. Высокоуровнего доступа (с Drive по цепочке в Storage и т.д.) к этим данным пока еще нет (и неизвестно будут ли). Значит пойдем другим путем. Предположим мы хотим достать все файлы, загруженные в хранилище "Маркетинговые документы".
Поехали:
Код
<?php
// Будем считать что пролог уже подключен
// Для уменьшения кода
use \Bitrix\Main\Loader;
use \Bitrix\Disk\Internals\ObjectTable as Objects;
// 492 - идентификатор хранилища "Маркетинговые документы" в b_disk_storage
$iStorage = 492;
if ( Loader::IncludeModule('disk') ) {
$resObjects = Objects::getList([
'select' => ['ID'], // Для простоты - будем доставать только ID
'filter' => [
'STORAGE_ID' => $iStorage,
'>=CREATE_TIME' => date('d.m.Y 00:00:00',strtotime('now - 120 days')), // предположим что достаем все события за 120 дней с текущей даты
'TYPE' => Objects::TYPE_FILE, // Доставать будет только файлы (папки трогать не будем)
]
]);
while( $arObject = $resObjects->fetch() ) {
// как-то работаем с Id файла
// например var_dump($arObject['ID']);
}
} else {
// вывод ошибки
}?>
Ну вот собственно и все Класс Objects это описание таблицы (d7), так что можно дальше извращаться как угодно. В решение есть несколько, если уж не костылей, то "палок" уж точно. Хардкодить конечно не очень хорошо, но что делать, если своего инструмента нет.
Достаточно создать файл: /home/bitrix/www/.htsecure
Даже скажу чуть больше. Ошибка 400 возникает (по крайней мере у нас) когда вы пытаетесь обратиться с портом 443 по протоколу httP или по порту 80 с httPS. У вас даже в Location: http://test.com:443/xyz/ прописано