Может ли OneNote API копировать записную книжку или раздел от одного пользователя другому в Office 365

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

message=The specified resource ID does not exist.
@api.url=http://aka.ms/onenote-errors#C20102
code=20102

Если путь, который я использую, имеет вид https://www.onenote.com/api/v1.0/users/ {id} / notes / section / {id} / copyToNotebook, где идентификаторы для исходного раздела.

что предположительно связано с тем, что идентификатор в почтовом запросе представляет записную книжку под другим пользователем.

Если я копировал на сайт или группу SharePoint, тогда в почтовом запросе могут быть дополнительные идентификаторы, чтобы идентифицировать это, поэтому было бы логично, если бы был аргумент для идентификации пользователя для копирования.

Копирование отлично работает, когда обе записные книжки находятся в OneDrive одного пользователя.

Есть ли способ сделать это между пользователями в Office 365 OneDrive?


person Richard Willis    schedule 09.12.2016    source источник


Ответы (1)


Да, вы можете скопировать раздел из одной записной книжки в записную книжку другого пользователя, если у вас есть разрешение на запись в записную книжку этого пользователя (или записную книжку на другом сайте).

В вашем сценарии тело назначения / сообщения должно содержать идентификатор записной книжки, а также siteCollectionId и siteId или groupId. сайта, на котором хранится записная книжка. (Проверьте формат тела сообщения здесь). Если вы хотите скопировать раздел в записную книжку другого пользователя, вам потребуются siteCollectionId и siteId OneDrive для бизнеса этого пользователя; если вы хотите скопировать его в записную книжку, хранящуюся на сайте, вам понадобятся идентификаторы этого сайта.

Причина, по которой вам нужны эти дополнительные идентификаторы, заключается в том, что по умолчанию API копирования считает, что конечная записная книжка хранится в вашем OneDrive для бизнеса. Указав эти идентификаторы, вы сообщаете API, что пункт назначения находится в другом месте. Я предполагаю, что вы не предоставили те идентификаторы, из-за которых возникла ошибка.

Вы получите дополнительную информацию о получении siteCollectionId и siteId здесь.

person qwerty    schedule 09.12.2016
comment
Именно спасибо. Требуются siteCollectionId и siteId личного OneDrive. Ожидается, что там будет какой-то идентификатор пользователя, но он основан только на семействе сайтов SharePoint, так что это имеет смысл. - person Richard Willis; 12.12.2016
comment
@qwerty, это именно то, что мне нужно, и огромная помощь !. Как и Ричард, я думал, что личный сайт - это OneDrive для бизнеса. Это отдельный сайт SharePoint, на который я могу ссылаться, используя myOrganization/siteCollections/{id}/sites/{id} Если бы только Microsoft могла добавить этот комментарий / информацию в свою документацию для разработчиков. - person DeanB_Develop; 16.03.2018