我正在尝试为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`
});
});
答案 0 :(得分:2)
编辑:我很高兴地说现在已经可以使用GetRestApiID了。
https://github.com/OfficeDev/office-js-docs/blob/master/reference/onenote/page.md#getRestApiId
此时,OneNote REST API和OneNote加载项具有不兼容的ID。有一个uservoice条目: https://onenote.uservoice.com/forums/245490-onenote-developer-apis/suggestions/17010982-add-onenote-add-ins-to-onenote-api-compatible-ids
目前,您必须依赖URL或名称等内容。
答案 1 :(得分:1)
REST API和JavaScript API之间的ID不兼容。 兼容的是ClientUrl。
在JavaScript API中,有notebook.ClientUrl 在Rest API中,它有一个NotClientUrl。