Эта статья была впервые опубликована в моем блоге WordPress 21 сентября 2014 года.

Несколько месяцев назад я нашел новый сервис под названием Pushbullet. Pushbullet — это простой и удобный сервис, который позволяет не только отправлять уведомления на устройства, но и отправлять файлы. Первоначально я нашел это, когда искал простые в реализации push решения. Мне нужно было что-то, чтобы предупредить меня, когда что-то пойдет не так в одном из приложений, над которыми я регулярно работаю. Электронная почта великолепна; push-уведомления лучше.

Pushbullet предлагает отличный HTTP API, который поможет вам настроить и запустить платформу по вашему выбору. Решил написать свой клиент для их API на C#. В итоге я создал пакет, которым легко могли пользоваться другие. Я решил сделать это открытым исходным кодом и поделиться им со всеми желающими. Вы можете просмотреть проект на GitHub и, пожалуйста, разветвите его, если у вас есть исправления или обновления, которые, по вашему мнению, сделают библиотеку лучше.

Самое забавное во всем этом то, что я написал 90% PushbulletSharp несколько месяцев назад и даже разместил его на GitHub. Я реализовал большинство push-операций. Единственной операцией, которую я не реализовал полностью, была функция отправки файлов. Я как бы начал над ней работать, но так и не закончил. И это быстро стало одной из тех функций я вернусь к этому когда-нибудь. Все изменилось однажды утром перед работой, когда я получил электронное письмо от пользователя на GitHub о новой проблеме.

При предварительном просмотре URL-адреса в браузере отображается ошибка HTTP 403.

При переходе все выглядит нормально.

Код, который я написал на VB:

Private Sub PushFile()
Dim Client As New PushbulletClient(ApiKey)
Dim request As New PushFileRequest() With { _
.device_iden = “xxxxxxxxxxxx”, _
.file_type = "image/png", _
.file_name = "image.png", _
.file_path = Application.StartupPath & "\" & "image.png"
}< br /> Dim response = Client.PushFile(request)
MsgBox("push")
End Sub

Я что-то пропустил?

Я чувствовал себя таким придурком. Изначально я просто поместил код туда для резервного копирования. Вот и так я легко мог получить исходники с разных машин дома.

Я сразу же ответил, сказав, что постараюсь поработать над этим в эти выходные. В итоге я исправил проблему и завершил свою оболочку Pushbullet. Оттуда я решил посмотреть, смогу ли я создать свой собственный пакет NuGet для использования другими разработчиками из Visual Studio. Это оказалось довольно просто с небольшим поиском, и я планирую написать о том, как я упаковал PushbulletSharp, в другом посте в блоге.

Любой, кому нужен простой клиент .NET Pushbullet, может начать использовать PushbulletSharp уже сегодня через NuGet. Самый простой способ добавить его в текущий проект — щелкнуть правой кнопкой мыши проект в Visual Studio и выбрать Управление пакетами NuGet…, а в онлайн-разделе выполнить поиск Pushbullet или PushbulletSharp.

После того, как вы добавили его в свой проект, вы можете быстро приступить к работе, если у вас есть ключ API. Я уже использовал вики-функцию GitHub, чтобы документировать как можно больше о библиотеке, создав PushbulletSharp Wiki. Я задокументировал все, от объектов push-запросов, до объектов-ответов и простых примеров push-уведомлений.