Использование тегов div API OneNote для извлечения данных из записанного содержимого

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

Используйте API OneNote, чтобы извлекать данные визитных карточек с изображения или данные из рецептов и описаний товаров по URL-адресу.

Атрибуты извлечения

Чтобы извлекать и преобразовывать данные, просто включите элемент div, указывающий исходный контент, метод извлечения и резервное действие в запрос create-page или update-page. API отображает извлеченные данные на странице в простом для чтения формате.

<div
  data-render-src="image-or-url"
  data-render-method="extraction-method"
  data-render-fallback="fallback-action">
</div>

data-render-src

Источник контента. Это может быть изображение визитной карточки либо абсолютный URL-адрес страницы с рецептом или описанием товара. Обязательный.

Для наилучших результатов используйте канонический URL-адрес, указанный в HTML-коде исходной веб-страницы (если он указан). Например, канонический URL-адрес может быть задан в исходной веб-странице следующим образом:

<link rel="canonical" href="www.domainname.com/page/123/size12/type987" />

data-render-method

Метод извлечения, который необходимо запустить. Обязательный.

Значение Описание
extract.businesscard Извлечение данных визитной карточки.
extract.recipe Извлечение рецепта.
extract.product Извлечение описания товара.
extract Неизвестный тип извлечения.

Для наилучших результатов укажите тип контента (extract.businesscard, extract.recipe или extract.product), если вы его знаете. Если тип контента неизвестен, используйте метод extract, и API OneNote попытается автоматически его определить.

data-render-fallback

Резервное действие при неудачном извлечении. Если атрибут не указан, по умолчанию используется значение render.

Значение Описание
render Отображает исходное изображение или снимок веб-страницы с рецептом или товаром.
Нет Не выполняет никаких действий.

Этот параметр удобно использовать, если вы хотите всегда размещать снимок визитной карточки или веб-страницы на странице (в дополнение к извлеченному контенту). Обязательно отправляйте отдельный элемент img в запросе, как показано в примерах.

Извлечение данных визитной карточки

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

  • Имя
  • Название
  • Организация
  • Номер телефона/факса
  • Почтовый и фактический адрес
  • Адреса электронной почты
  • Веб-сайты
Пример извлечения бизнес-карта

VCard (. VCF-файл) с извлеченными контактными данными также встраивается в страницу. VCard — это удобный способ получения контактных данных при получении HTML-содержимого страницы.

Стандартные сценарии извлечения элементов визитных карточек

Извлечение данных визитной карточки и отрисовка ее изображения

Укажите метод extract.businesscard и резервное действие none. Кроме того, отправьте элемент img с атрибутом src, который также ссылается на изображение. Если API не может извлечь какой-либо контент, он отрисовывает только изображение визитной карточки.

<div
    data-render-src="name:scanned-card-image"
    data-render-method="extract.businesscard"
    data-render-fallback="none">
</div>
<img src="name:scanned-card-image" />

Извлечение данных визитной карточки и отрисовка ее изображения только при неудачном извлечении

Укажите метод extract.businesscard и используйте резервное действие по умолчанию render. Если API не может извлечь какой-либо контент, он отрисовывает изображение визитной карточки.

<div
    data-render-src="name:scanned-card-image"
    data-render-method="extract.businesscard">
</div>

При извлечении данных визитной карточки изображение отправляется в виде именованной части в составном запросе. Примеры отправки изображения в запросе см. в статье Добавление изображений и файлов.

Извлечение рецептов

На основе URL-адреса рецепта API OneNote пытается найти и отобразить указанные ниже сведения.

  • Изображение главного имиджевого баннера
  • Оценка
  • ингредиенты;
  • Инструкции
  • время подготовки, приготовления и общее;
  • Сервировка
Пример извлечения рецепта

API оптимизирован для работы с рецептами со многих популярных сайтов, например Allrecipes.com, FoodNetwork.com и SeriousEats.com.

Стандартные сценарии извлечения рецептов

Извлечение рецепта и отображение снимка веб-страницы с рецептом

Укажите метод extract.recipe и резервное действие none. Кроме того, отправьте элемент img с атрибутом data-render-src, в качестве значения которого используется URL-адрес рецепта. Если API не может извлечь какой-либо контент, он отображает только снимок веб-страницы с рецептом.

Потенциально этот сценарий дает максимальное количество сведений, так как на веб-странице может быть дополнительная информация, например отзывы и предложения клиентов.

<div
    data-render-src="https://allrecipes.com/recipe/guacamole/"
    data-render-method="extract.recipe"
    data-render-fallback="none">
</div>
<img data-render-src="https://allrecipes.com/recipe/guacamole/" />

Извлечение рецепта и отображение снимка веб-страницы с рецептом только в случае неудачного извлечения

Укажите метод extract.recipe и используйте резервное действие по умолчанию. Если API не может извлечь какой-либо контент, он отображает снимок веб-страницы с рецептом.

<div
    data-render-src="https://www.foodnetwork.com/recipes/alton-brown/creme-brulee-recipe.html"
    data-render-method="extract.recipe">
</div>

Укажите метод extract.recipe и резервное действие none. Кроме того, отправьте элемент a с атрибутом src, в качестве значения которого задан URL-адрес рецепта (вы также можете отправить любую информацию, которую необходимо добавить на страницу). Если API не может извлечь какой-либо контент, отображается только ссылка на рецепт.

<div
    data-render-src="https://www.seriouseats.com/recipes/2014/09/diy-spicy-kimchi-beef-instant-noodles-recipe.html"
    data-render-method="extract.recipe"
    data-render-fallback="none">
</div>
<a href="https://www.seriouseats.com/recipes/2014/09/diy-spicy-kimchi-beef-instant-noodles-recipe.html">Recipe URL</a>

Извлечение описания товара

  • Название
  • Оценка
  • первичное изображение;
  • Описание
  • Возможности
  • Спецификации
Пример извлечения списка продуктов

API оптимизирован для работы с товарами со многих популярных сайтов, например Amazon.com и HomeDepot.com.

Стандартные сценарии извлечения рецептов

Извлечение информации о товаре и отображение снимка веб-страницы товара

Укажите метод extract.product и резервное действие none. Кроме того, отправьте элемент img с атрибутом data-render-src, в качестве значения которого используется URL-адрес страницы товара. Если API не может извлечь какой-либо контент, он отображает только снимок веб-страницы товара.

Потенциально этот сценарий дает максимальное количество сведений, так как на веб-странице может быть дополнительная информация, например отзывы и предложения клиентов.

<div
    data-render-src="https://www.amazon.com/Microsoft-Band-Small/dp/B00P2T2WVO"
    data-render-method="extract.product"
    data-render-fallback="none">
</div>
<img data-render-src="https://www.amazon.com/Microsoft-Band-Small/dp/B00P2T2WVO" />

Извлечение информации о товаре и отображение снимка веб-страницы с товаром только в случае неудачного извлечения

Укажите метод extract.product и используйте резервное действие по умолчанию. Если API не может извлечь какой-либо контент, он вместо этого отображает снимок веб-страницы товара.

<div
    data-render-src="https://www.sears.com/craftsman-19hp-42-8221-turn-tight-174-hydrostatic-yard-tractor/p-07120381000P"
    data-render-method="extract.product">
</div>

Укажите метод extract.product и резервное действие none. Кроме того, отправьте элемент a с атрибутом src, в качестве значения которого задан URL-адрес страницы товара (вы также можете отправить любую информацию, которую необходимо добавить на страницу). Если API не может извлечь какой-либо контент, отображается только ссылка на страницу.

<div
    data-render-src="https://www.homedepot.com/p/Active-Ventilation-5-Watt-Solar-Powered-Exhaust-Attic-Fan-RBSF-8-WT/204203001"
    data-render-method="extract.product"
    data-render-fallback="none">
</div>
<a href="https://www.homedepot.com/p/Active-Ventilation-5-Watt-Solar-Powered-Exhaust-Attic-Fan-RBSF-8-WT/204203001">Product URL</a>

Извлечение содержимого неизвестного типа

Если вы не знаете тип контента (визитная карточка, рецепт или товар), который вы отправляете, вы можете использовать неполный метод extract и разрешить API OneNote автоматически определять тип контента. Вы можете сделать это, если ваше приложение отправляет изображения различных типов.

Примечание.

Если вы знаете тип содержимого, который вы отправляете, следует использовать extract.businesscardметод , extract.recipeили extract.product . В некоторых случаях это позволяет оптимизировать результаты извлечения.

Стандартные сценарии извлечения контента неизвестного типа

Отправка изображения или URL-адреса и отображение предоставленного изображения или снимка веб-страницы при неудачном извлечении

Укажите метод extract, чтобы API автоматически определял тип контента, и используйте резервное действие по умолчанию. Если API не может извлечь какой-либо контент, он отображает предоставленное изображение или снимок веб-страницы.

<div
    data-render-src="some image or url"
    data-render-method="extract">
</div>

Информация в ответе

Данные в ответе Описание
Код успешного завершения действия Код состояния HTTP 201 при успешном выполнении запроса POST и код состояния HTTP 204 при успешном выполнении запроса PATCH.
Ошибки Дополнительные сведения об ошибках OneNote, которые может возвращать Microsoft Graph, см. в статье Коды ошибок для API OneNote в Microsoft Graph.

Разрешения

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

Разрешения для запросов POST со страницами

  • Notes.Create
  • Notes.ReadWrite
  • Notes.ReadWrite.All

Разрешения в случае запросов PATCH для страниц

  • Notes.ReadWrite
  • Notes.ReadWrite.All

Дополнительные сведения об областях разрешений и принципе их использования см. в справочнике по разрешениям Microsoft Graph.