2016-11-08 52 views
1

我正在嘗試爲OneNote ClassNotebook構建任務窗格加載項。OfficeJS和OneNote API的筆記本ID之間的區別

我想知道當前用戶是老師還是學生。

要做到這一點,我的計劃是:從officeJS activeNotebook的
1.使用ID
2.獲取類筆記本採用ID從1從OneNote API
3.使用2學生和老師檢查,如果當前用戶是學生或教師

不過從2號是一個很奇怪的形式,這樣的 - {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` 
    }); 
}); 

回答

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或名稱。

+0

我看過那個uservoice,但我不知道它會發生與否。你有沒有任何線索中的某個人看過它或..? – dongseok0

+0

我們已經開始研究它。即將更新... –

1

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

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

相關問題