
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.75] |
![]() |
|
Сообщ.
#1
,
|
|
|
Друзья. Нигде не могу найти хоть какой-нибудь информации о методе PROPPATCH. Подскажите как правильно передать требуемые параметры? Список конкретных вопросов в конце.
ЗАДАЧА: Получить в ответ от сервера https://webdav.yandex.ru/ публичную ссылку на файл, хранящийся на яндекс-диске. БИБЛИОТЕКА: Synaps УДАЛОСЬ СДЕЛАТЬ: Реализовать метод MKCOL. Успешно создаются папки. Код: ![]() ![]() Var HTTP : THTTPSend; // class(TSynaClient) модуля unit httpsend; CatName: string; with HTTP do begin Headers.Clear; // очищаем заголовки, если ранее были заполнены другим запросом Headers.Add('Authorization: Basic ' + FToken); // FToken – зашифрованные пароль и логин, Headers.Add('Accept: */*'); // хрен знает что такое CatName := ‘Тестовый каталог’; URL := ‘https://webdav.yandex.ru/’+ CatName; if HTTPMethod('MKCOL', URL) then showmessage(‘Каталог создан’); End; ОПИСАНИЕ МЕТОДА ОТ ЯНДЕКС https://yandex.ru/dev/disk/doc/dg/reference/publish.html Публикация файлов и папок Файлы и папки, загруженные на Яндекс.Диск, можно опубликовать: сгенерировать ссылку, по которой они будут доступны не только владельцу Диска. Опубликованным файлам и папкам можно вернуть статус личных — сгенерированные публичные ссылки перестанут работать. Признак публичности устанавливается и редактируется с помощью метода PROPPATCH. Чтобы опубликовать файл или папку, свойству public_url в пространстве имен urn:yandex:disk:meta следует присвоить любое непустое значение. Пример публикации папки Публикуется папка /public_folder/, расположенная в корневом каталоге Диска пользователя. ![]() ![]() PROPPATCH /public_folder/ HTTP/1.1 User-Agent: my_application/0.0.1 Host: webdav.yandex.ru Authorization: OAuth 0c4182a7c2cf4521964a72ff57a34a07 Content-Length: 158 <propertyupdate xmlns="DAV:"> <set> <prop> <public_url xmlns="urn:yandex:disk:meta">true</public_url> </prop> </set> </propertyupdate> ЧТО Я ХОЧУ ВООБЩЕ: Написать клиента для яндекс-диска. В описаниях яндекса все что нужно есть, но мне нужно научится «переводить» требования описанные в описании яндекс API на язык дельфи. ВОПРОСЫ |
Сообщ.
#2
,
|
|
|
Разобрался сам. Ответы:
1. xml 2. вопрос актуален 3. В теле 4. Нужно в тело добавить код, приведенный в яндекс-примере 5. вопрос актуален 6. Спецификации протоколов hhtp и webDav |
Сообщ.
#3
,
|
|
|
2 - приблуда xml, не заморачивайся
5 - консоль веб-разработчика, вкладка Network |