QEverCloud: Evernote SDK для Qt

На Evernote я сижу весьма плотно, и, будучи программистом, регулярно ощущаю желание что-нибудь в своей работе с этой системой автоматизировать.

Одна проблема: я бы предпочел свои программки на C++/Qt писать. Такие вот у меня извращенные предпочтения. Но создатели Evernote в качестве API к своему сервису для всего C++ предлагают только сгенерированные Thrift компилятором файлики. Это файло и библиотекой назвать нельзя, не то что SDK.

Вы пробовали эти файлики скомпилировать? Если да, то вы поймете всю мощь моего хвастливого заявления: я их скомпилил. И оно у меня даже заработало. По результатам этого эпика я пришел к выводу, что с этим жить нельзя. Последним гвоздем в гроб было отсутствие поддержки HTTP proxy, которое можно пофиксить только серьезным переписыванием HTTP клиента от Thrift. Проще нафик все переписать.

Вот я так и сделал. Нарисовал свой собственный Thrift парсер и сгенерил свою либу: специально для Qt. Сделал я это довольно давно, почти полгода назад, но с народом не делился. Все никак не доходили руки, чтобы это оформить по-человечески, а главное — OAuth запилить. Для своих программулек для личного пользования developer tokens даже удобнее, но для более серьезных программ OAuth необходим.

И вот я взял себя в руки, причесал интерфейс библиотеки, дописал справку, оформил все и выложил на GitHub. Кому интересно — забирайте.

Upd: отметился на хабре.

Upd 2: Прикрутил асинхронное API. Пример использования.

Добавить комментарий