Pull to refresh
Comments 31
>>API которое я написал вы можете скачать
Простите, но, на мой взгляд, вы написали SDK к API, а не API к API облака :)

Кстати, запросы нативного клиента можно почти таким же способом исследовать при помощи fiddler, если, конечно же, там нет проверки SSL сертификата.
Даже, если там есть проверка SSL, всегда можно добавить сертификат fiddler'a в браузер как корневой. Это позволит вам смотреть HTTPs траффик.
Согласен, можно было и поточнее, но API можно и подразделить как на серверную часть так и на клиентскую)
Fiddler — вариант конечно, я выбрал браузер как минимальный инструмент который был под рукой
API — Application programming interface.
Интерфейс. Его реализовали mail.ru. Вы же делаете .NET-обёртку над ним. Можно вспомнить слово wrapper., можно назвать это sdk или client library. Но это не совсем не "написал API".
По сути же статьи:

1. С русским языком совсем беда, но это в личку отправил.
2. Клиент к REST-сервису на синхронных вызовах? Серьёзно?
3. System.Net.Http.HttpClient
1. Спасибо, исправил.
2. Операцию загрузки и выгрузки файлов я обернул в отдельный поток, что не создаст зависания приложения. На остальные операции асинхронность не принципиальна
2016 год, TPL скоро в школу пойдет, а вы решаете, что пользовователям вашей библиотеки
асинхронность не принципиальна
?

И чтобы два раза не ходить:


Не воспринимайте близко к сердцу — если у меня появится время, обязательно пришлю вам начатый мною рефакторинг от слова «переписать». Возможно вам что-то в нем и понравится.
да нет, я совсем не против комментариев, код написан именно так как вы описывайте, рефакторинг необходим. Как-нибудь стоит этим заняться. Код действительно был написан «на лету»
пришлю вам

И с сообществом поделитесь, пожалуйста.
RestSharp тут как раз не совсем при делах. Когда речь идет о работе с бинарными, а не сериализованными данными, то там работа с ними идет через недокументированные костыли, работоспособность которых в следующих версиях никто не гарантирует.
Просто для полноты картины: мои ковыряния в API cloud.mail.ru описаны здесь. Там, например, довольно подробно описан процесс авторзиации и получения токена.
да, большое спасибо за статью, именно из нее я узнал что sdc куки необходимо получить при авторизации, а то по началу не получалось
read/write webdav или fuse модуль все еще далеки и призрачны?
пока молчат, хотя webdav включали какое-то время, но потом свернули обратно, возможно боятся нагрузок
На коленке набросал
Поднимает WebDAV сервер localhost на указанном порту и перенаправляет действия на cloud.mail.ru.
Пишет, читает, удаляет.

https://cloud.mail.ru/public/JaE9/f5Q13SDz9

wdmrc.exe port «login» «password»

Если кому надо, пишите, можно привести в человеческий вид
P.S. логин и пароль в кавычках, только в обычных, а не в тех, которые пост показывает :)
Прошу прощения, не могу отредактировать

Скачать: https://cloud.mail.ru/public/7Yan/ySG67VaUE
Ссылка на вебдав: http://localhost:port/
Более-менее оформился WebDAV
исходники https://github.com/yar229/WebDavMailRuCloud
бинарники https://github.com/yar229/WebDavMailRuCloud/releases/latest
Увы, я не находил, все только самому, только опытным путем
Пишу FUSE-обвязку для Облака, можно пощупать здесь.
Спасибо за отличную статью и репозиторий, помогли разобраться с API. Хорошо что комментируете функции, нечасто вижу такую заботу.
Кстати, я сейчас занимаюсь реализацией новой версии библиотеки под .Net Core, можно будет юзать как под Windows, так и Mac и Linux, думаю месяц-два займет написание. Постараюсь также статью немного накидать и nuget пакет наконец оформить.
Only those users with full accounts are able to leave comments. Log in, please.