Разработка OneNote
Область применения: пользовательские записные книжки в OneDrive и корпоративные записные книжки в Office 365.
OneNote – популярный инструмент для заметок, который доступен в Интернете и на многих мобильных и планшетных платформах. Интеграция ваших приложений с OneNote значительно упрощает создание на любимых платформах приложений с широкими возможностями, которыми захотят воспользоваться миллионы пользователей во всем мире.
Создайте приложение, в котором пользователям будет удобно планировать и структурировать идеи и информацию. Для этого используйте реализованную в OneNote иерархию: записная книжка – раздел – страница, а также простой в использовании API.
Примечание
Используя API OneNote, вы соглашаетесь с Условиями использования Microsoft API.
Обзор платформы
Служба OneNote реализована в Microsoft Cloud и поддерживает интерфейс на основе REST для программного доступа к содержимому OneNote. Легкий и простой API OneNote основан на JSON, HTML и OData, поэтому вы можете использовать его с любым языком или платформой, поддерживающими HTTP-запросы.—
Вот простой вид стека разработки API OneNote.
Во-первых, пользователь должен пройти аутентификацию и предоставить доступ к вашему приложению. Затем вы получаете маркер доступа, который вы используете для взаимодействия с контентом 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.
- Учебнное руководство по Quick start
- Проверка подлинности и разрешения
- Проверка подлинности и разрешений для приложения Azure AD
- Рекомендации по использованию фирменной символики
- Поддерживаемые операции REST
- Получение содержимого и структуры OneNote
- Запуск клиентов OneNote
- Копируйте записные книжки, разделы и страницы
- Создание страниц
- Обновление содержимого страницы
- Добавление изображений, видео и файлов
- Создание элементов с абсолютным положением
- Извлечение данных
- Использование тегов заметок
- Ввод и вывод данных в формате HTML
- Коды ошибок и предупреждений
- Управление разрешениями на объекты OneNote
- Создать ссылки для совместного доступа
- Работа с записными книжками для занятий
- Работа с асинхронными записными книжками для занятий
- Работа со служебными записными книжками
- Рекомендации LMS API для интеграции записных книжек для занятий
- Руководство по масштабированию LMS для интеграции записных книжек для занятий
- Используйте диалоговое окно "Сохранить"
- Подпишитесь на веб-перехватчик
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.
Обратная связь
Будьте в курсе новых возможностей и улучшений. Мы всегда готовы выслушать ваши вопросы и комментарии, помочь вам разобраться в деталях и держать вас в курсе последних событий. Вот как вы можете связаться с нами:
- Прочтите блог разработчика OneNote для получения новостей и полезных советов.
- Получайте ответы экспертов на Stack Overflow.
- Подпишитесь на нас в Twitter: @onenotedev.
- Отправляйте нам свои идеи и комментарии наUserVoice.
Что изменилось?
В следующих записях мы рассказываем об изменениях API OneNote и документации к нему за последний год:
Июль 2016 г.
- Добавлена тема Работа со служебными записными книжками.
- Документальная поддержка повстроенным видео.
Май 2016 г.
- Добавлена поддержкапредварительного просмотра страницы. Используйте
../pages/{id}/preview
конечную точку, чтобы получать содержимое текста и изображения для предварительного просмотра на странице. Чтобы узнать больше, прочтите запись в блоге API для предварительного просмотра страницы. - Разработана документация по
../users/{id}/notes/
местоположению, которое обеспечивает доступ к содержимому OneNote, которым указанный пользователь (в URL) поделился с текущим пользователем. Только корпоративные записные книжки. - Добавлены API управления разрешениями, которые позволяют устанавливать права доступа к записной книжке, группе разделов или разделу. Только корпоративные записные книжки.
- Добавлены новые операции с записными книжками класса: Вставить разделы из других записных книжек, Добавить группу разделовТолько для учителя, Удалить записные книжки класса, Создать записные книжки класса на определенном языке, Отправить уведомление о новой записной книжке класса по электронной почте. Только корпоративные записные книжки.
- Добавлена поддержка элемента
<pre>
в содержимом страницы HTML. Теперь контент, захваченный с таких сайтов, как MSDN и StackOverflow, отображает правильное форматирование кода.
Март 2016 г.
- Передано
GET /pages/{id}/content?preAuthenticated=true
в производство. Если для извлечения содержимого страницы используетсяpreAuthenticated=true
параметр строки запроса, полученный HTML включает на странице общедоступные URL-адреса на ресурсы с изображениями. Эти URL-адреса, прошедшие предварительную аутентификацию, действительны в течение одного часа. См. статьюОднократная аутентификация для общих ресурсов. - Передано
PATCH /sections/{id}
в производство. Это позволяет вам переименовать раздел, отправив тип содержимого application/json в теле сообщения, например:{ "name": "New section name" }
Февраль 2016 г.
- Добавлены темы Подписка на веб-перехватчик и Работа с записными книжками класса. В настоящее время веб-перехватчики поддерживается только для пользовательских записных книжек в OneDrive.
Январь 2016 г.
- Включено регулирование количества запросов. Узнать больше о регулировании количества запросов в API OneNote и что делать, чтобы избежать его использования.
- Добавлены темы Поддерживаемые операции REST и Копирование записных книжек, разделов и страниц. Пока функция копирования доступна только для записных книжек в Office 365.
Ноябрь 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 г.
- Опубликован раздел Использование тегов заметки.