Создание ссылок общего доступа на сущностях OneNote

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

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

GET ../sectiongroups/{sectiongroup-id}/Microsoft.OneNote.Api.GetAnonymousSharingLink

POST ../sectiongroups/{sectiongroup-id}/Microsoft.OneNote.Api.GetOrCreateAnonymousSharingLink

DELETE ../sectiongroups/{sectiongroup-id}/Microsoft.OneNote.Api.RevokeAnonymousSharingLink

Примечание

Ссылки общего доступа поддерживаются для персональных, офисных и групповых записных книжек Office 365, но не для потребительских записных книжек в OneDrive. В настоящее время поддерживаются только объекты групп разделов.

Создание URI запроса

  1. Чтобы создать URI запрос, начните с корневого URL-адреса службы для своей платформы:

    Записные книжки OneDrive для бизнеса

    https://www.onenote.com/api/v1.0/me/notes/ https://www.onenote.com/api/v1.0/users/{id}/notes/

    Записные книжки на сайте SharePoint

    https://www.onenote.com/api/v1.0/myOrganization/siteCollections/{id}/sites/{id}/notes/

    Унифицированные групповые ноутбуки

    https://www.onenote.com/api/v1.0/myOrganization/groups/{id}/notes/

  2. Затем добавьте путь к сущности группы разделов, а затем функции ссылки общего доступа.

Ваш полный URI запроса будет выглядеть примерно так:

https://www.onenote.com/api/v1.0/me/notes/sectiongroups/{id}/Microsoft.OneNote.Api.GetOrCreateAnonymousSharingLink

https://www.onenote.com/api/v1.0/users/{id}/notes/sectiongroups/{id}/Microsoft.OneNote.Api.GetOrCreateAnonymousSharingLink

https://www.onenote.com/api/v1.0/myOrganization/siteCollections/{id}/sites/{id}/notes/sectiongroups/{id}/Microsoft.OneNote.Api.GetOrCreateAnonymousSharingLink

https://www.onenote.com/api/v1.0/myOrganization/groups/{id}/notes/sections/{id}/Microsoft.OneNote.Api.GetOrCreateAnonymousSharingLink

Чтобы создать анонимную ссылку для группы раздела, отправьте запрос GET с использованием соответствующей конечной точки.

GET ../sectiongroups/{sectiongroup-id}/Microsoft.OneNote.Api.GetAnonymousSharingLink

Параметр функции accessLevel типа перечисления указывает уровень доступа к ссылке для общего доступа.

Значения элементов типа перечисления параметра accessLevel Уровень доступа для ссылки общего доступа на создание (просмотр или редактирование)
View Создает ссылку на элемент, предполагающую доступ только для чтения.
Edit Создает ссылку на элемент, предполагающую доступ для чтения и записи.

Пример

Запрос

GET ../api/v1.0/me/notes/sectionGroups/{sectiongroup-id}/Microsoft.OneNote.Api.GetAnonymousSharingLink(accessLevel=Microsoft.OneNote.Api.SharingLinkAccessLevel'View') 
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json

Ответ

HTTP/1.1 200 Ok

{
  "@odata.context":"https://www.onenote.com/api/v1.0/$metadata#Edm.String",
  "value":"https://www.contoso.com/_layouts/15/WopiFrame.aspx?folderid=084a6fcc95ab54a678257e1b9cba41e7e&authkey=AXXriBu-O475sT4tfJeJDkA&FixProgId=1"
}

Информация о запросах и ответах

Приведенная ниже информация относится к запросам GET /GetAnonymousSharingLink requests.

Данные запроса Описание
Протокол Все запросы используют протокол SSL/TLS для HTTPS.
Заголовок Authorization Bearer {token}, где {token} — действительный маркер доступа OAuth 2.0 для зарегистрированного приложения.

Если он отсутствует или является недействительным, запрос завершится ошибкой с кодом состояния 401. См. статью Аутентификация с использованием Azure AD (корпоративные приложения).
Область разрешений Notes.ReadWrite или Notes.ReadWrite.All.


Данные в ответе Описание
Код успешного завершения Код состояния HTTP 200
Текст ответа Представление значения OData в формате JSON.
Ошибки В случае сбоя запроса API возвращает ошибки в тексте ответа.
Заголовок X-CorrelationId GUID, уникальный идентификатор запроса. Вы можете использовать это значение вместе со значением заголовка Дата при работе с техподдержкой Microsoft для устранения неполадок.

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

POST ../api/v1.0/me/notes/sectionGroups/{sectiongroup-id}/Microsoft.OneNote.Api.GetOrCreateAnonymousSharingLink

В тексте сообщения отправьте объект JSON с требуемым параметром.

Значения элементов типа перечисления параметра accessLevel Уровень доступа для ссылки общего доступа на создание (просмотр или редактирование)
View Создает ссылку на элемент, предполагающую доступ только для чтения.
Edit Создает ссылку на элемент, предполагающую доступ для чтения и записи.

Пример

Запрос

POST ../api/v1.0/me/notes/sectionGroups/{sectiongroup-id}/Microsoft.OneNote.Api.GetOrCreateAnonymousSharingLink 
Authorization: Bearer {token}
Content-Type: application/json
Accept: application/json

Ответ

HTTP/1.1 200 Ok

{
  "@odata.context":"https://www.onenote.com/api/v1.0/$metadata#Edm.String",
  "value":"https://www.contoso.com/_layouts/15/WopiFrame.aspx?folderid=084a6fcc95ab54a678257e1b9cba41e7e&authkey=AXXriBu-O475sT4tfJeJDkA&FixProgId=1"
}

Информация о запросах и ответах

Приведенные ниже сведения относятся к запросам POST /GetOrCreateAnonymousSharingLink.

Данные запроса Описание
Протокол Все запросы используют протокол SSL/TLS для HTTPS.
Заголовок Authorization Bearer {token}, где {token} — действительный маркер доступа OAuth 2.0 для зарегистрированного приложения.

Если он отсутствует или является недействительным, запрос завершится ошибкой с кодом состояния 401. См. статью Аутентификация с использованием Azure AD (корпоративные приложения).
Область разрешений Notes.ReadWrite или Notes.ReadWrite.All.


Данные в ответе Описание
Код успешного завершения Код состояния HTTP 200
Текст ответа Представление значения OData в формате JSON.
Ошибки В случае сбоя запроса API возвращает ошибки в тексте ответа.
Заголовок X-CorrelationId GUID, уникальный идентификатор запроса. Вы можете использовать это значение вместе со значением заголовка Дата при работе с техподдержкой Microsoft для устранения неполадок.

Чтобы отозвать существующую ссылку для общего доступа для группы раздела, выполните следующие действия.

DELETE ../v1.0/me/notes/sectiongroups/{sectiongroup-id}/Microsoft.OneNote.Api.RevokeAnonymousSharingLink

В тексте сообщения отправьте объект JSON с требуемым параметром.

Значения элементов типа перечисления параметра accessLevel Уровень доступа для ссылки общего доступа на создание (просмотр или редактирование)
View Создает ссылку на элемент, предполагающую доступ только для чтения.
Edit Создает ссылку на элемент, предполагающую доступ для чтения и записи.

Пример

Запрос

DELETE ../v1.0/me/notes/sectiongroups/{sectiongroup-id}/Microsoft.OneNote.Api.RevokeAnonymousSharingLink
Authorization: Bearer {token}
Accept: application/json

{ 
  “accessLevel”: “view” 
} 

Ответ

HTTP/1.1 204 No Content

Информация о запросах и ответах

Следующая информация относится к запросам DELETE /RevokeAnonymousSharingLink.

Данные запроса Описание
Протокол Все запросы используют протокол SSL/TLS для HTTPS.
Заголовок Authorization Bearer {token}, где {token} — действительный маркер доступа OAuth 2.0 для зарегистрированного приложения.

Если он отсутствует или является недействительным, запрос завершится ошибкой с кодом состояния 401. См. статью Аутентификация с использованием Azure AD (корпоративные приложения).
Область разрешений Notes.ReadWrite или Notes.ReadWrite.All.


Данные в ответе Описание
Код успешного завершения Код состояния HTTP 200
Ошибки В случае сбоя запроса API возвращает ошибки в тексте ответа.
Заголовок X-CorrelationId GUID, уникальный идентификатор запроса. Вы можете использовать это значение вместе со значением заголовка Дата при работе с техподдержкой Microsoft для устранения неполадок.

Включение и отключение внешнего общего доступа для среды SharePoint Online

Управление внешним доступом для среды SharePoint Online

Создание корневого URL-адреса службы OneNote

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

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

СегментversionURL-адреса представляет собой версию API OneNote, которую вы хотите использовать.

  • Используйте значение v1.0 для стабильного кода в рабочей среде.
  • Используйте значение beta, чтобы опробовать функцию, находящуюся на стадии разработки. Функции бета-версии могут меняться, поэтому не следует использовать их в рабочем коде.

Сегмент location URL-адреса представляет собой местоположение записных книжек, к которым вы хотите получить доступ.

Записные книжки OneDrive для бизнеса

Использование me для содержимого OneNote, принадлежащего текущему пользователю.

Используйте значение users/{id} для содержимого OneNote, которым указанный (в URL-адресе) пользователь поделился с текущим пользователем. ИспользуйтеAzure AD Graph API для получения идентификаторов пользователей.

Записные книжки на сайте SharePoint

Сайты групп и другие сайты SharePoint могут содержать записные книжки OneNote в своих библиотеках документов.

Использование myOrganization/siteCollections/{id}/sites/{id} для содержимого OneNote на сайте в в клиенте, к которому подключен текущий пользователь. Поддерживается только текущий клиент, доступ к которому осуществляется с помощью ключевого слова myOrganization.

Групповые записные книжки Office 365

Группы Office 365 являются частью взаимодействия, связанного с Office 365. Участники группы могут делиться записными книжками, файлами и электронной почтой.

Использование myOrganization/groups/{id} для содержимого OneNote в указанной группе, членом которой является текущий пользователь. Группы Office 365 (которые возвращают унифицированный groupType) являются единственным поддерживаемым типом группы. Используйте Azure AD Graph API для получения идентификаторов группы.

Используйте метод FromUrlдля получения семейства сайтов и идентификаторов сайта

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

Формат URL-адреса сайта зависит от вашей конфигурации, например, https://domain.sharepoint.com/site-a или https://domain.com/sites/site-a.

Пример запроса

GET https://www.onenote.com/api/v1.0/myOrganization/siteCollections/FromUrl(url='{full-path-to-SharePoint-site}')
Authorization: Bearer {token}
Accept: application/json

Пример ответа

{
  "@odata.context":"https://www.onenote.com/api/v1.0/$metadata#Microsoft.OneNote.Api.SiteMetadata",
  "siteCollectionId":"09d1a587-a84b-4264-3d15-669429be8cc5",
  "siteId":"d9e4d5c8-683f-4363-89ae-18c4e3da91e9"
}

Требования к использованию FromUrl и работа с записными книжками сайта SharePoint:

  • Вы можете создавать только записные книжки OneNote, группы разделов, разделы и страницы на сайтах с библиотекой документов по умолчанию. (Некоторые шаблоны сайтов не создают библиотеку документов по умолчанию.) Однако, запросы GET возвращают содержимое OneNote из всех библиотек документов на сайте.

  • URL-адреса корневого каталога для обслуживания OneNote неизменяем, что означает, что вы не можете использовать путь сайта REST API и затем добавить на него notes конечную точку.

  • Пользователь, от имени которого вы осуществляете вызов, должен быть участником сайта.

  • FromUrl работает только с проиндексированными сайтами. Для индексации нового сайта может потребоваться несколько часов.

См. также