Разрабатываем с

Evernote API
Тарас Семененко
Что такое Eve rnote ?
Всё началось с блокнота...
...стало Вашей дополнительной памятью
Хранилище файлов

Протоколирование совещаний

Сканирование договоров

Сохранение рец...
2,3 млн .

пользователей в России и СНГ
Продукты Eve rnote
Evernote

Penultimate

Clearly

Skitch

Food

Hello

Web Clipper

Peek
Приложения , проверенные и работающие с Evernote
Пользователи Evernote хотят еще
больше приложений
Продвигай своё приложение среди сообщества более
75 млн. пользователей
Создай своё
приложение с Evernote
приложение с Evernote
Eve rnote
Два главных фактора перехода на Премиум:
Премиум
• Когда пользователь использует Evernote на
более чем одном уст...
Наша цель
Найти крутые приложения для наших
пользователей, чтобы помочь максимально
эффективно использовать Evernote
Мы хотим
•Разработчики были успешны
•Продвигать крутые приложения
Каналы провижения
• Галерея
• Промо-баннеры на сайте evernote.com
• промо-баннеры в приложениях для Mac OS и Windows Deskt...
Eve rnote API
Ключевые моменты Evernote API
• Ядро нашего продукта : Evernote API используется более 30,000 внешними разработчиками и
на...
Note Store
Note Store
Note Store
Note Store
Note Store
Note Store
Note Store

Thrift

User Store
Eve rnote API: основные функции
• Доступ к пользовательскому или бизнес аккаунту Evernote
• Чтение/Создание/Поиск заметок
...
Eve rnote API: авторизация
• OAuth
• По специальному токену
(для разработчиков)
Eve rnote API: ENML
• <en-note>
• <en-media>
• <en-crypt>
• <en-todo>
Eve rnote API: особые заметки
• Привязаны к конретному приложению
• Доступны только для чтения (из основного клиентского
п...
Eve rnote API: эскизы
• На нашем сервере для каждой заметки создается
эскиз (изображение размером 300x300)
• Эти эскизы мо...
• Создать аккаунт на
sandbox.evernote.com
• Получить ключ

• Загрузить SDK
• Начать использовать API
Evernote API обработка скриншотов
Личный опыт
QuickTime™ and a
Photo - JPEG decompressor
are needed to see this picture.
Eve rnote API: получение заметок

my $user_store_url = 'https://' . $evernote_host . '/edam/user'; 
my $user_store_client ...
Eve rnote API: создание заметки

my $note = EDAMTypes::Note->new();
$note->title($hash_hex);
$note->notebookGuid($nb_guid)...
Eve rnote API: создание заметки
$note->content( '<?xml version="1.0" encoding="UTF-8"?>' .
              '<!DOCTYPE en-not...
Для разработки
Новые ресурсы и средства для сообщества разработчиков Evernote
de v.e ve rnote .c om
• Переформирован и часто обновляется нашими
командами редакторов и технических специалистов
• Докуме...
S DKs & S ample s
github.c om/ ve rnote
e
github.c om/ ve rnote
e
• Репозиторий, поддерживаемый нашим сообществом
разработ...
EVERNOTE
Форумы разработчиков
Форумы разработчиков
• Место, где вы можете получить отзыв и оценку
относительно использован...
Обновления с прошлого года...
• Новые SDK: Ruby, Python, JS (Node/Phonegap/Windows Metro), Android rebuilt, iOS rebuilt
• ...
Мастер-классы API доступны в Интернете
Вы можете скачать слайды, посмотреть видео и послушать обсуждения на http://bit.ly/...
Спасибо !
Тарас Семененко
dev.evernote.com
Тарас Семененко, Evernote
Тарас Семененко, Evernote
Тарас Семененко, Evernote
Тарас Семененко, Evernote
Тарас Семененко, Evernote
Upcoming SlideShare
Loading in …5
×

Тарас Семененко, Evernote

265 views

Published on

Лекция "Разрабатываем приложения с API Evernote"

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
265
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Evernote is a family of products that help you remember everything.
  • We have hundreds of apps in the Evernote Trunk - http://trunk.evernote.com/
  • dec 10: 5.5
    dec 11: 20
  • Evernote has apps for all platforms and is a great way for remembering everything. It is also a robust cloud service and platform for any app that wants to store useful information.
  • Before we talk more about the architecture of the SDK, from an API standpoint these are the two concepts you should know about. This is a very simple representation. The note store is designed to scale. There are fixed number of user per note store. You can think of this as two different logical entities. The note store is where all your notes and information related to the notes is stored. USerStore stores all the user info like email.
  • Тарас Семененко, Evernote

    1. 1. Разрабатываем с Evernote API Тарас Семененко
    2. 2. Что такое Eve rnote ?
    3. 3. Всё началось с блокнота...
    4. 4. ...стало Вашей дополнительной памятью Хранилище файлов Протоколирование совещаний Сканирование договоров Сохранение рецептов
    5. 5. 2,3 млн . пользователей в России и СНГ
    6. 6. Продукты Eve rnote Evernote Penultimate Clearly Skitch Food Hello Web Clipper Peek
    7. 7. Приложения , проверенные и работающие с Evernote
    8. 8. Пользователи Evernote хотят еще больше приложений Продвигай своё приложение среди сообщества более 75 млн. пользователей
    9. 9. Создай своё приложение с Evernote приложение с Evernote
    10. 10. Eve rnote Два главных фактора перехода на Премиум: Премиум • Когда пользователь использует Evernote на более чем одном устройстве • Когда пользователь использует стороннее приложение для синхронизации с Evernote • Когда пользователь использует стороннее приложение для синхронизации с Evernote • Когда пользователь использует стороннее
    11. 11. Наша цель Найти крутые приложения для наших пользователей, чтобы помочь максимально эффективно использовать Evernote
    12. 12. Мы хотим •Разработчики были успешны •Продвигать крутые приложения
    13. 13. Каналы провижения • Галерея • Промо-баннеры на сайте evernote.com • промо-баннеры в приложениях для Mac OS и Windows Desktop • русскоязычный блог, блог на Хабре • почтовая рассылка, твиттер
    14. 14. Eve rnote API
    15. 15. Ключевые моменты Evernote API • Ядро нашего продукта : Evernote API используется более 30,000 внешними разработчиками и нашими собственными приложениями одинаково. (12 млрд. вызовов API делается каждый месяц!) • Apac he Thrift, не Re s t API: Мы сами заботимся о соединении, просто вызывайте методы нашего SDK из вашего приложения • Одинаковая функции: Доступна вся функциональность Evernote (OCR, Files, Audio, etc) • Все платформы : SDK для всех доступных платформ находится на github.
    16. 16. Note Store Note Store Note Store Note Store Note Store Note Store Note Store Thrift User Store
    17. 17. Eve rnote API: основные функции • Доступ к пользовательскому или бизнес аккаунту Evernote • Чтение/Создание/Поиск заметок • Поиск связанных заметок (FindRelated) • Напоминания (Reminders) • Sharing и Business
    18. 18. Eve rnote API: авторизация • OAuth • По специальному токену (для разработчиков)
    19. 19. Eve rnote API: ENML • <en-note> • <en-media> • <en-crypt> • <en-todo>
    20. 20. Eve rnote API: особые заметки • Привязаны к конретному приложению • Доступны только для чтения (из основного клиентского приложения) • Атрибуты: applicationData (4 Кб), contentClass
    21. 21. Eve rnote API: эскизы • На нашем сервере для каждой заметки создается эскиз (изображение размером 300x300) • Эти эскизы можно использовать в вашем приложении • Для получения POST-запрос на URL: https://[sandbox|www].evernote.com/shard/shardID/thm/note/GUID[?size=75]
    22. 22. • Создать аккаунт на sandbox.evernote.com • Получить ключ • Загрузить SDK • Начать использовать API
    23. 23. Evernote API обработка скриншотов Личный опыт
    24. 24. QuickTime™ and a Photo - JPEG decompressor are needed to see this picture.
    25. 25. Eve rnote API: получение заметок my $user_store_url = 'https://' . $evernote_host . '/edam/user';  my $user_store_client = Thrift::HttpClient->new($user_store_url); my $user_store_prot = Thrift::BinaryProtocol->new( $user_store_client ); my $user_store = EDAMUserStore::UserStoreClient->new( $user_store_prot, $user_store_prot ); my $note_store_url = $user_store->getNoteStoreUrl( $auth_token ); my $note_store_client = Thrift::HttpClient->new( $note_store_url ); my $note_store_prot = Thrift::BinaryProtocol->new( $note_store_client ); my $note_store = EDAMNoteStore::NoteStoreClient->new( $note_store_prot, $note_store_prot ); my $notebook = $note_store->getNotebook( $auth_token, $nb_guid ); my $filter = new EDAMNoteStore::NoteFilter({notebookGuid => $nb_guid}); my $spec = new EDAMNoteStore::NotesMetadataResultSpec({includeTitle => 1, includeAttributes => 1}); my $note_metadata_list = $note_store->findNotesMetadata( $auth_token, $filter, $read_notes, 1000, $spec);
    26. 26. Eve rnote API: создание заметки my $note = EDAMTypes::Note->new(); $note->title($hash_hex); $note->notebookGuid($nb_guid);   my $data = EDAMTypes::Data->new(); $data->size(length $image_binary); $data->bodyHash($gd_md5); $data->body($gd_data);   my $resource = EDAMTypes::Resource->new(); $resource->mime("image/$image_ext"); $resource->data($data); $resource->attributes(EDAMTypes::ResourceAttributes->new()); $resource->attributes->fileName($filepath);
    27. 27. Eve rnote API: создание заметки $note->content( '<?xml version="1.0" encoding="UTF-8"?>' .               '<!DOCTYPE en-note SYSTEM "http://xml.evernote.com/pub/enml2.dtd">' . '<en-note><br/><en-media type="image/'.$image_ext.'" hash="' . $gd_hash_hex . '"/></en-note>' ); my $created_note = $note_store->createNote($auth_token, $note); $note_store->deleteNote($auth_token, $note_guid);
    28. 28. Для разработки Новые ресурсы и средства для сообщества разработчиков Evernote
    29. 29. de v.e ve rnote .c om • Переформирован и часто обновляется нашими командами редакторов и технических специалистов • Документация, примеры и пошаговые руководства для лучшего понимания Evernote API • Первый шаг в поиске ответов на вопросы и поддержке от сообщества разработчиков Evernote • Представляет самые новые особенности и функции, доступные для разработчиков
    30. 30. S DKs & S ample s github.c om/ ve rnote e github.c om/ ve rnote e • Репозиторий, поддерживаемый нашим сообществом разработчиков • Документация, примеры и пошаговые руководства для лучшего понимания Evernote API • Первый шаг в поиске ответов на вопросы и поддержке от сообщества разработчиков Evernote • Представляет самые новые особенности и функции, доступные для разработчиков
    31. 31. EVERNOTE Форумы разработчиков Форумы разработчиков • Место, где вы можете получить отзыв и оценку относительно использования Evernote API • Наши команды поддержки активно отвечают и отслеживают изменения в текущих обсуждениях • Разработчики Evernote и ключевые инженеры также просматривают и отвечают на вопросы. • В нашем сообществе на форумах более 150 бета тестеров, которым можно предложить протестировать новые интеграции Evernote
    32. 32. Обновления с прошлого года... • Новые SDK: Ruby, Python, JS (Node/Phonegap/Windows Metro), Android rebuilt, iOS rebuilt • Обновление документации : dev.evernote.com полностью перестроен и курируется нашим техническим редактором • Безопасность / Аутентификация : Улучшена реализация механизма oAuth, добавлена обработка прав доступа • Eve rnote Bus ine s s API: Предоставлена более полная информация о нашем новом Business API • Рост нашей команды : Наша команда опять увеличилась в 3 раза, новые инженеры, дизайнеры и эксперты! • Руководства для быстрого старта : Полные пошаговые инструкции для iOS, Ruby, Javascript и Python
    33. 33. Мастер-классы API доступны в Интернете Вы можете скачать слайды, посмотреть видео и послушать обсуждения на http://bit.ly/144MDjN
    34. 34. Спасибо ! Тарас Семененко dev.evernote.com

    ×