1

我正在尝试为 OneNote ClassNotebook 构建任务窗格加载项。

我想知道当前用户是老师还是学生。

为此,我的计划是:
1. 从 officeJS 获取 activeNotebook 的 ID
2. 从 OneNote API 获取 ID 为 1 的课堂笔记本
3. 使用来自 2 的学生和教师来检查当前用户是学生还是教师

但是来自 2 的 id 是这样的奇怪形式 -{3b9c6337-cd8c-5c1c-a87b-1a9515237c48}{1}

如何获取具有该 ID 的笔记本?

代码:

let notebook = ctx.application.getActiveNotebook();
notebook.load('id,name,clientUrl');
return ctx.sync().then(() => {
  fetch({
    url: `https://www.onenote.com/api/v1.0/me/notes/classNotebooks/${notebook.id}?expand=students,teachers`
  });
});
4

2 回答 2

2

编辑:我很高兴地说现在可用,为此使用 GetRestApiID。

https://github.com/OfficeDev/office-js-docs/blob/master/reference/onenote/page.md#getRestApiId


此时,OneNote REST API 和 OneNote 加载项的 id 不兼容。有一个用户语音条目: https ://onenote.uservoice.com/forums/245490-onenote-developer-apis/suggestions/17010982-add-onenote-add-ins-to-onenote-api-compatible-ids

现在,您必须依赖 URL 或名称之类的东西。

于 2016-11-08T18:41:34.430 回答
1

REST API 和 JavaScript API 之间的 Id 不兼容。兼容的是 ClientUrl。

在 JavaScript API 中,有 notebook.ClientUrl 在 Rest API 中,有一个NoteClientUrl。

于 2016-11-08T21:30:14.240 回答