- Регистрация
- 03.06.2016
- Сообщения
- 312
- Благодарностей
- 410
- Баллы
- 63
Яндекс Диск REST API - может кому пригодится
1. Создание папки C# метод PUT -
2. Запрос на получение ссылки для закачки файла , метод GET
+ user agent
Далее regex вытаскиваем URL
3. Закачка файла по ссылке пункт 2, метод PUT C#
4. Удаление файла C# метод DELETE . Там где НАЗВАНИЕФАЙЛА, ещё должна быть директория.
4 пункт взят с этой темы - https://zennolab.com/discussion/threads/jandeks-api-http-delete-c.53037/#post-395846
1. Создание папки C# метод PUT -
Код:
string url = "https://cloud-api.yandex.net/v1/disk/resources?path=disk%3A%2FНАЗВАНИЕ_ПАПКИ";
string APIKey = "OAuth ТОКЕН";
var response = ZennoPoster.HTTP.Request(ZennoLab.InterfacesLibrary.Enums.Http.HttpMethod.PUT,url,"","","","",
ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderAndBody,30000,"","",true,5,AdditionalHeaders: new []{"Authorization: " + APIKey});
return response;
Код:
https://cloud-api.yandex.net/v1/disk/resources/upload?path=disk%3A%2FНАЗВАНИЕ_ФАЙЛА
Код:
MKCOL /Pictures/ HTTP/1.1
Authorization: OAuth ТОКЕН
3. Закачка файла по ссылке пункт 2, метод PUT C#
Код:
string url = project.Variables["URL_из_второго_пункт"].Value;
string APIKey = "OAuth ТОКЕН";
string direkt = "C:/папка/123.html";
var bf = File.ReadAllBytes(direkt);
var response = ZennoPoster.HTTP.Request(ZennoLab.InterfacesLibrary.Enums.Http.HttpMethod.PUT,url,bf,"","","",
ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderAndBody,30000,"","",true,5,AdditionalHeaders: new []{"Authorization: " + APIKey});
return response;
Код:
string path = project.Variables["НАЗВАНИЕФАЙЛА"].Value;
var encoded = System.Web.HttpUtility.UrlEncode(path);
project.Variables["НАЗВАНИЕФАЙЛА"].Value = encoded;
string url = "https://cloud-api.yandex.net/v1/disk/resources?path=" + encoded;
string content = "";
string contentPostingType = "";
string proxy = "";
string Encoding = "UTF-8";
int Timeout = 10000;
string Cookies = "";
string UserAgent = "";
bool UseRedirect = false;
int maxRedirectCount = 3;
string[] AdditionalHeaders = {
"Connection: keep-alive",
"Accept: application/json",
"Authorization: OAuth ТОКЕН",
"Accept-Language: ru",
"Content-Type: application/json",
"Accept-Encoding: gzip, deflate"};
string DownloadPath = "";
bool UseOriginalUrl = false;
bool throwExceptionOnError = false;
string response = ZennoPoster.HTTP.Request(ZennoLab.InterfacesLibrary.Enums.Http.HttpMethod.DELETE, url, content, contentPostingType, proxy, Encoding, ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderAndBody, Timeout, Cookies, UserAgent, UseRedirect, maxRedirectCount, AdditionalHeaders, DownloadPath, UseOriginalUrl,throwExceptionOnError);
project.Variables["ОТВЕТ"].Value = response;
Последнее редактирование: