Добрый день, простая задача:
в приложении на защищенной странице нужно скачать файл с Яндекс Диска по API.
Яндекс диск выдает для отдельного документа name, path, file.
Хотелось использовать file, содержимое которого — ссылка-загрузчик.
У меня 2 приложения, одно из них написано на Vue,
и здесь проблем нет:
<a class="btn btn-outline-success" title="Скачать" href="https://downloader.disk.yandex.ru/disk/данные файла">
<svg><!--любая иконка--></svg>
</a>
Нажимаешь на ссылку и всё скачивается самим браузером.
Второе приложение на php. Генерится тот же самый html:
<a class="btn btn-default" href="https://downloader.disk.yandex.ru/disk/данные файла" download>
<!--любая иконка-->
</a>
Добавляла атрибут download для ссылки. Тоже не помогло. Скачивание запрещено.
Происходит прямой переход на ссылку с запретом (403) - а надо, чтобы происходило скачивание.
Интересно, что в Firefox есть возможность скачать
хотя бы при клике правой кнопкой мыши -> Открыть в новом приватном окне - всё тоже отлично скачивается.
В других браузерах и это невозможно.
Добывала ссылки на скачивание разными способами: общение с Яндекс Диском через ajax,
напрямую обращалась из php курлом к Api Яндекс. Это не играет роли.
Нужно именно нажать на ссылку и чтобы скачалось, но не получается,
хотя html-код тот же самый, что и в приложении на js (Vue).
Сравнивала метаданные папок, всё как под копирку одинаково:
{
"_embedded": {
"sort": "",
"items": [],
"limit": 20,
"offset": 0,
"path": "disk:/<название>",
"total": 14
},
"name": "<название>",
"exif": {},
"resource_id": "<resource_id>",
"created": "2022-11-15T16:23:36+00:00",
"modified": "2022-11-15T16:23:36+00:00",
"path": "disk:/<название>",
"comment_ids": {
"private_resource": "<private_resource>",
"public_resource": "<public_resource>"
},
"type": "dir",
"revision": 1715957968902901
}
Есть ли возможность обойти запрет (403) и как-то скачать по ссылке?
Можно, конечно, скачать файл на свой сервер, но хотелось бы обращаться напрямую
к Яндекс Api через ajax или php. Все приложения сейчас работают на локалке.
Помогите, плиз, что упускаю?