Microsoft Office是由Microsoft(微軟)公司開發(fā)的一套辦公軟件套裝。常用組件有 Word、Excel、PowerPoint等。Microsoft Office是一套由微軟公司開發(fā)的辦公軟件,它為 Microsoft Windows 和 Mac OS X而開發(fā)。 本文不會具體介紹OneNote,簡單地概括來說,OneNote越用越爽越停不下來,功能很強大,體驗很好。下面的圖示為了說明筆記本(Notebook)、章節(jié)(Section)和頁面(Page)的關(guān)系。  ?我們可以在各種資源上創(chuàng)建創(chuàng)建OneNote的筆記本,包括個人的終結(jié)點、SharePoint Online工作組網(wǎng)站、SharePoint Online個人網(wǎng)站和Office 365組網(wǎng)站。分別對應(yīng)如下終結(jié)點: /me/onenote/notebooks /sites/{id}/onenote/notebooks /users/{id | userPrincipalName}/onenote/notebooks /groups/{id | userPrincipalName}/onenote/notebooks 本文我們將演示如何為給定用戶的個人網(wǎng)站添加OneNote的筆記本、章節(jié)和頁面。了解了它之后,向其他位置添加也是類似的,僅需要很小的改動。 需要的權(quán)限 OneNote的筆記本可以以多種權(quán)限創(chuàng)建。我們?yōu)榱朔奖阊菔緯苯犹砑覰otes.ReadWrite.All這個應(yīng)用程序權(quán)限,這個權(quán)限可以讓我們?yōu)槠渌脩魟?chuàng)建和更新notebooks。當(dāng)然我們還可以使用托管權(quán)限Notes.Create或Notes.ReadWrite去實現(xiàn)類似的操作。 創(chuàng)建OneNote筆記本 為給定用戶創(chuàng)建記事本,我們需要傳入用戶的賬號和筆記本的名字,然后訪問OneNote終結(jié)點進行創(chuàng)建。 public async Task CreateNoteBook(string upn, string notebookName) { var notebook = new Notebook { DisplayName = notebookName }; return (await _graphClient.Users[upn].Onenote.Notebooks.Request().AddAsync(notebook)); } ?創(chuàng)建OneNote章節(jié) 創(chuàng)建筆記本之后,我們在這個筆記本的基礎(chǔ)上創(chuàng)建章節(jié),因此需要引用筆記本對象Notebook。 public async Task CreateSection(string upn, Notebook notebook, string sectionName) { var section = new OnenoteSection { DisplayName = sectionName }; return (await _graphClient.Users[upn].Onenote.Notebooks[notebook.Id].Sections.Request().AddAsync(section)); } 創(chuàng)建OneNote頁面 最后一步就是在章節(jié)中創(chuàng)建頁面了。有趣的是這里我們可以從/Users/OneNote/Sections直接引用/Pages終結(jié)點,而不需要再經(jīng)由/Notebooks終結(jié)點了。為了更直接的說明,創(chuàng)建頁面的代碼我們采用HttpClient的方式。public async Task CreatePage(string upn, OnenoteSection section, string pageName) { Uri Uri = new Uri($"https://graph.microsoft.com/v1.0/users/{upn}/onenote/sections/{section.Id}/pages"); // use a verbatim interpolated string to represetnt the HTML text to be used for page creation var html = $@"
{pageName}
I'm learning about the Microsoft Graph!
"; HttpContent httpContent = new StringContent(html, System.Text.Encoding.UTF8, "application/xhtml+xml"); return (await _httpClient.PostAsync(Uri, httpContent)); } ?總結(jié) 本篇示例中,我們在Helpers文件夾中新建了一個類文件OneNoteHelper.cs,用于執(zhí)行OneNote相關(guān)的操作。并在Program中調(diào)用。 執(zhí)行結(jié)果如下: 
 ?當(dāng)然,如果你本地的Window 10也裝了OneNote的話,體驗一下什么是移動為先,云為先。  ? 示例代碼已更新,戳這里。
Office辦公軟件是辦公的第一選擇,這個地球人都知道。Microsoft Office 2010的新界面簡潔明快,標(biāo)識也改為了全橙色。
|