Всем доброго времени суток! Имеется исходящий вебхук на событие ONCRMCOMPANYUPDATE для обновления данных о компании в стороннюю систему. По событию в скрипт приходит id компании, с помощью которого, я загружаю необходимые поля компании уже при помощи входящего хука. У компании имеется пользовательское поле типа "file", скрипт должен этот файл подгружать и парсить. Проблама в том, что когда я пытаюсь скачать файл, подставляя домен битрикса + "DOWNLOAD_URL" поля при помощи file_get_content в ответ приходит форма авторизации в битрикс. Какие есть пути для скачивания файла из пользовательского поля?
Прямую ссылку на скачивание файла можно получить только на диске (disk.file.get), но, насколько мне известно, пользовательское поле такого типа в облаке создать нельзя.
Егор Беккер написал: получил access и refresh токены - файлы скачиваются!
Веб-хук и обычный запрос через OAuth не одно и то же Механизмы разные Но я рад что у Вас получилось
Разницу хука и запроса через OAuth понимаю, кратко опишу мой порядок действий: 1. Создал в Битрикс24 локальное приложение в поле "Укажите ссылку" указал http://127.0.0.1:80; 2. В корень локального хоста добавил index.php с простой формой, передающей на "домен".bitrix24.ru/oauth/token/ client_id и client_secret созданного приложения. В ответ получил access и refresh токены. Все! В дальнейшем авторизовываться не понадобится, т.к. в дальнейшем потребуются только acсess и refresh токены. 3. При запросе компании через хук ссылка на файл приходит в виде -
Достаточно передать access_token в параметре auth этой ссылки (предварительно обновив токены при помощи refresh токена).
4. Т.к. refresh_token действует месяц, можно обновлять его перед каждым запросом компании, для подстраховки добавив задачу по обновлению токенов по крону.
Андрей Николаев, еще раз благодарю за подсказку в каком направлении двигаться, а ответ техподдержки конечно порадовал =)
Спасибо, все получилось. Остался только вопрос, как узнать имя файла в пользовательском поле? Ссылка-то есть, скачать могу, а вот имя файла неизвестно, как и расширение.
с помощью "lists.element.get.file.url", получил ссылку на скачивание - "/company/lists/32/file/0/60/PROPERTY_128/58/?ncc=y&download=y", можно из нее сделать ссылку на просмотр - /company/lists/32/file/0/60/PROPERTY_128/58/
а вот как её в img засунуть что бы отобразилась на странице? по данным путям не выходит(
up. это было серверное приложение, переделал в статичное и все получилось
Доброго времени дня. У меня встала такая же задача, получать файл из пользовательского поля. Ссылку на файл я получаю, но не понимаю, что это за файл, не его наименование не формат. Я получаю ID этого файла в значениях этого пользовательского поля и пытаюсь получить информацию как указано тут https://dev.1c-bitrix.ru/rest_help/disk/file/disk_file_get.php Но он мне пишет "Запрос требует более высоких привилегий, чем предоставлено токеном доступа". И что с этим делать я не знаю. У нас коробочная версия. Как получить информацию по файлу из пользовательского поля?