Разработка OneNote

Область применения: пользовательские записные книжки в OneDrive и корпоративные записные книжки в Office 365.

OneNote – популярный инструмент для заметок, который доступен в Интернете и на многих мобильных и планшетных платформах. Интеграция ваших приложений с OneNote значительно упрощает создание на любимых платформах приложений с широкими возможностями, которыми захотят воспользоваться миллионы пользователей во всем мире.

Образец страницы OneNote.

Создайте приложение, в котором пользователям будет удобно планировать и структурировать идеи и информацию. Для этого используйте реализованную в OneNote иерархию: записная книжка – раздел – страница, а также простой в использовании API.

Примечание

Используя API OneNote, вы соглашаетесь с Условиями использования Microsoft API.

Обзор платформы

Служба OneNote реализована в Microsoft Cloud и поддерживает интерфейс на основе REST для программного доступа к содержимому OneNote. Легкий и простой API OneNote основан на JSON, HTML и OData, поэтому вы можете использовать его с любым языком или платформой, поддерживающими HTTP-запросы.—

Вот простой вид стека разработки API OneNote.

Стек разработки для приложений OneNote на разных платформах. Для доступа к содержимому OneNote в приложениях используется OAuth 2.0.

Во-первых, пользователь должен пройти аутентификацию и предоставить доступ к вашему приложению. Затем вы получаете маркер доступа, который вы используете для взаимодействия с контентом OneNote. Помимо поддержки CRUD для ресурсов OneNote, API также предоставляет такие возможности как оптическое распознавание символов (OCR), полнотекстовый поиск и извлечение визитных карточек.

Совет

Для упрощения процесса аутентификации вы можете использовать SDK.

Использование API OneNote

Чтобы использовать API OneNote, вы отправляете HTTP-запросы на определенные конечные точки с корневого URL-адреса службы OneNote:

https://www.onenote.com/api/{version}/{location}/notes/...

Вы можете использовать API OneNote, чтобы пользователи могли создавать, просматривать и работать со страницами в личных, локальных и групповых записных книжках. Чтобы вы получили представление о том, как работает API, вот простой запрос POST, который создает страницу в записной книжке текущего пользователя по умолчанию.

POST https://www.onenote.com/api/v1.0/me/notes/pages

Authorization: Bearer {token}
Content-Type: text/html; charset=utf-8
Accept: application/json
 ...

<!DOCTYPE html>
<html>
    <head>
    <title>My new OneNote page</title>
    <meta name="created" content="2015-09-9T12:45:00.000-8:00"/>
    </head>
    <body>
        <p>This is a simple HTML page.</p>
    </body>
</html>

Успешный запрос возвращает следующий ответ —в этом случае представление OData новой страницы в формате JSON.

HTTP/1.1 201 Created
Location:https://www.onenote.com/api/v1.0/me/notes/pages/0-37e6dad...
X-CorrelationId:8943c159-ee49-4c71-8cd0-ebf0861d07a6
Date:Sun, 09 Aug 2015 21:36:40 GMT
Content-Type:application/json; odata.metadata=minimal; odata.streaming=true
 ...

{
  "@odata.context": "https://www.onenote.com/api/v1.0/$metadata#me/notes/pages/$entity",
  "title": "My new OneNote page",
  "createdByAppId": "WLID-0000000048219837",
  "links": {
    "oneNoteClientUrl": {
      "href": "onenote:https://d.docs.live.net/73dbaf9b..."
    },
    "oneNoteWebUrl": {
      "href": "https://onedrive.live.com/redir.aspx?cid=73dbaf9b..."
    }
  },
  "contentUrl": "https://www.onenote.com/api/v1.0/me/notes/pages/0-37e6dad.../content",
  "lastModifiedTime": "2015-09-09T12:45:00Z",
  "id": "0-37e6dad8c6eb489294656ad878431666!209-73DBAF9B7E5C4B4C!153",
  "self": "https://www.onenote.com/api/v1.0/me/notes/pages/0-37e6dad...",
  "createdTime": "2015-09-09T12:45:00Z"
}

См. Создание страниц, чтобы внимательнее изучить запросы Страницы POST.

Зачем создавать приложения OneNote?

Интегрируйте OneNote, чтобы создавать приложения, которые действительно будут нравиться пользователям. С помощью API OneNote можно создавать заметки, списки, изображения, файлы и другие элементы записных книжек OneNote.

Сбор и упорядочение заметок и идей

OneNote можно использовать как холст, где пользователи будут добавлять и упорядочивать содержимое. API OneNote позволяет легко создавать приложения, в которых студенты смогут вести конспекты или писать курсовые, семьи – делиться планами и идеями, покупатели – фотографиями,—все то, что больше всего интересует людей. Приложение может собирать нужные пользователям сведения, отправлять их в OneNote и помогать упорядочивать их.

Запись данных во множестве форматов

Записывайте HTML-код, внедряйте изображения (с локального компьютера или общедоступного URL-адреса), видео, звуковые файлы, электронные сообщения и другие файлы распространенных типов. В OneNote даже могут отображаться веб-страницы и PDF-файлы в виде моментальных снимков. API OneNote поддерживает набор стандартных тегов HTML и CSS для разметки страниц OneNote, так что вы можете создавать нужное оформление с помощью таблиц, встроенных рисунков и базового форматирования.

Расширение основных сценариев с помощью экосистемы OneNote

Воспользуйтесь широкими возможностями API OneNote. API запускает OCR для изображений, поддерживает полнотекстовый поиск и автосинхронизацию клиентов, обрабатывает изображения и извлекает снимки визитных карточек, онлайн-списки продуктов и рецептов. Вы можете использовать OneNote в качестве цифрового хранилища в облаке для заметок и небольших файлов мультимедиа, а также в качестве канала для данных, относящихся к определенным доменам.

Доступ для миллионов пользователей OneNote на всех основных платформах

С помощью OneNote вы можете сделать свое приложение более популярным. OneNote предварительно устанавливается на новых устройствах Windows, доступен на популярных платформах, в Интернете как OneNote Online и входит в составOffice 365. —OneNote активно используют более 100 миллионов человек по всему миру. Нельзя игнорировать объем кросс-платформенного рынка для приложений, которые используют многофункциональную среду OneNote.

Начало работы с API OneNote

Используйте образцы и руководства, чтобы быстро писать программный код, попробуйте наши интерактивные консоли в действии или подробно изучите нашу документацию.

Примеры и руководства OneNote

Эти примеры и учебные пособия показывают основы использования OneNote API на разных платформах (см. все наши образцы на GitHub).

Платформа Примеры и руководства
"iOS"; IOS-REST-API-Explorer (только MSA)
Руководство
"Windows"; OneNoteAPISampleWinUniversal
Android Android-REST-API-Explorer
PHP OneNoteAPISamplePHP (только MSA)
Node.js OneNoteAPISampleNodejs (только MSA)
Ruby OneNoteAPISampleRuby (только MSA)
ASP.NET MVC Руководство (только Azure AD)

*MSA = проверка подлинности учетной записи Microsoft, Azure AD = проверка подлинности Azure Active Directory

Теория и практика

Когда вы будете готовы к подробному изучению темы, ознакомьтесь с нашими инструкциями и концептуальными статьями, чтобы узнать больше о том, что вы можете сделать с OneNote.

SDK для разработки OneNote

Приложения OneNote могут использовать SDK OneDrive API для получения маркеров доступа, необходимых для всех запросов API OneNote. SDK упрощает для вас проверку подлинности. Вы просто предоставляете свою идентификационную информацию и объединяете несколько вызовов, а SDK обрабатывает все, начиная с входа и соглашаясь на получение, хранение и обновление маркеров. Затем вы можете осуществить REST-вызовы к API OneNote. Наше руководство по iOS показывает, как вы можете использовать SDK в приложении OneNote.

Все версии SDK поддерживают проверку подлинности учетной записи Microsoft (для потребительских записных книжек), а некоторые также поддерживают Azure Active Directory (для корпоративных записных книжек). См. Документация OneDrive для текущего списка поддерживаемых платформ.

Примечание

SDK OneDrive API заменяет Live SDK. Live SDK устарел, но будет продолжать поддерживать существующие приложения OneNote, которые его используют. Для новой разработки используйте OneDrive API SDK.

В какой-то момент мы можем предоставить библиотеки, которые обрабатывают проверку подлинности и поддерживают собственные вызовы в OneNote API, но пока вы можете использовать OneDrive API SDK.

Или же, корпоративные приложения могут использовать Библиотеку проверки подлинности Active Directory (ADAL) для доступа к записным книжкам, размещенным на Office 365 и SharePoint. Вы можете использовать ADAL напрямую, если SDK не доступно для вашей платформы, или если вы хотите больше контролировать процесс проверки подлинности. Нашеруководство по ASP.NET MVCпоказывает, как вы можете использовать ADAL в приложении OneNote.

Важно!

Чтобы взаимодействовать с содержимым и ресурсами OneNote, вы всегда должны использовать API OneNote. Не используйте API OneDrive.

Для получения дополнительных сведений см. Ресурсы OneNote.

Обратная связь

Будьте в курсе новых возможностей и улучшений. Мы всегда готовы выслушать ваши вопросы и комментарии, помочь вам разобраться в деталях и держать вас в курсе последних событий. Вот как вы можете связаться с нами:

Что изменилось?

В следующих записях мы рассказываем об изменениях API OneNote и документации к нему за последний год:

Июль 2016 г.

Май 2016 г.

Март 2016 г.

  • ПереданоGET /pages/{id}/content?preAuthenticated=true в производство. Если для извлечения содержимого страницы используется preAuthenticated=true параметр строки запроса, полученный HTML включает на странице общедоступные URL-адреса на ресурсы с изображениями. Эти URL-адреса, прошедшие предварительную аутентификацию, действительны в течение одного часа. См. статьюОднократная аутентификация для общих ресурсов.
  • ПереданоPATCH /sections/{id} в производство. Это позволяет вам переименовать раздел, отправив тип содержимого application/json в теле сообщения, например: { "name": "New section name" }

Февраль 2016 г.

Январь 2016 г.

Ноябрь 2015 г.

  • Поддержка записных книжек в Office 365 теперь включена в серийную версию, а не предварительную. Включает поддержку записных книжек на сайтах SharePoint и в группах Office 365, а также права Notes.Read.All и Notes.ReadWrite.All, которые необходимы для доступа к этим записным книжкам на уровне организации.
  • Выпущены POST /sectiongroups/{id}/sections , POST /notebooks/{id}/sectiongroups и POST /sectiongroups/{id}/sectiongroups переданы в производство.
  • В серийные записные книжки в Office 365 включеныCopyNotebook, CopyToNotebook, CopyToSectionGroup, CopyToSection.
  • В страницы добавлены свойства навигации parentSection и parentNotebook. По умолчанию GET pages запрос разворачиваетparentSection и выбирает имя раздела ****, его идентификатор и собственные свойства.
  • На страницы добавлены свойства level и order. Чтобы извлечь эти свойства, включите параметр pagelevel в запросе к коллекции страниц в разделе или к определенной странице. Пример: GET ../sections/{id}/pages?pagelevel=true или GET ../pages/{id}?pagelevel=true
  • Максимальное количество символов в названии записной книжки увеличилось с 50 до 128.
  • Перемещено в инструкции и концептуальную документацию. Новая документация охватывает API OneNote как для пользовательских, так и корпоративных записных книжек.

Сентябрь 2015 г.

  • Максимальное количество страниц, возвращаемых в запросе GET pages с использованием параметра строки запроса top, изменилось с 500 до 100.

Июль 2015 г.

  • Выпущено два примера приложений OneNote REST API Explorer:
    - iOS REST API Explorer
    - Android REST API Explorer
  • ПереданоDELETE pages в производство.
  • Обновлен URL-адрес корневого сервиса в темах инструкций для использования нового рекомендованного /me/notes/ маршрута: https://www.onenote.com/api/v1.0/me/notes/

Июнь 2015 г.

См. также