От: | vaa | ||
Дата: | 26.04.22 03:31 | ||
Оценка: |
HttpWebRequest Request = (HttpWebRequest)HttpWebRequest.Create("https://caldav.yandex.ru/calendars/login@yandex.ru/events-cal1");
Request.Method = "MKCALENDAR";
Request.Credentials = new NetworkCredential("login", "password");
Request.ContentType = "application/xml";
Request.SendChunked = true;
Request.TransferEncoding = "utf-8";
byte[] encodedBody = Encoding.UTF8.GetBytes(body);
Request.ContentLength = encodedBody.Length;
using (Stream reqStream = Request.GetRequestStream())
{
reqStream.Write(encodedBody, 0, encodedBody.Length);
reqStream.Close();
}
var response = (HttpWebResponse)Request.GetResponse();
String responseString = string.Empty;
using (Stream stream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(stream, Encoding.UTF8);
responseString = reader.ReadToEnd();
}
using var client = new HttpClient();
var login = Convert.ToBase64String(Encoding.ASCII.GetBytes("login:password"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", login);
HttpRequestMessage message = new HttpRequestMessage(new HttpMethod("MKCALENDAR"), "https://caldav.yandex.ru/calendars/login@yandex.ru/events-cal1")
{
Content = new StringContent(data, Encoding.UTF8, "application/xml")
};
message.Headers.Authorization = new AuthenticationHeaderValue("Basic", login);
using var response = await client.SendAsync(message); // UPDATE 4: заменил это на это using var response = await client.SendAsync(message, HttpCompletionOption.ResponseContentRead, CancellationToken.None);
// HttpCompletionOption.ResponseContentRead (!!!)
response.EnsureSuccessStatusCode();
return await response.Content.ReadAsStringAsync();
можно конечно сортировать по events-./calendars/login%40yandex.ru/inbox/
/calendars/login%40yandex.ru/outbox/
/calendars/login%40yandex.ru/events-27127/
/calendars/login%40yandex.ru/events-8486495/
/calendars/login%40yandex.ru/events-8486446/
/calendars/login%40yandex.ru/events-8486467/
/calendars/login%40yandex.ru/events-8486476/
/calendars/login%40yandex.ru/events-8486479/
/calendars/login%40yandex.ru/events-8486741/
/calendars/login%40yandex.ru/events-8486744/
/calendars/login%40yandex.ru/events-8486874/
/calendars/login%40yandex.ru/events-8486886/
/calendars/login%40yandex.ru/events-8486956/
/calendars/login%40yandex.ru/todos-86503/