Microsoft Office是由Microsoft(微軟)公司開發(fā)的一套辦公軟件套裝。常用組件有 Word、Excel、PowerPoint等。Microsoft Office是一套由微軟公司開發(fā)的辦公軟件,它為 Microsoft Windows 和 Mac OS X而開發(fā)。 本文不會(huì)具體介紹OneNote,簡(jiǎn)單地概括來(lái)說(shuō),OneNote越用越爽越停不下來(lái),功能很強(qiáng)大,體驗(yàn)很好。下面的圖示為了說(shuō)明筆記本(Notebook)、章節(jié)(Section)和頁(yè)面(Page)的關(guān)系。  ?我們可以在各種資源上創(chuàng)建創(chuàng)建OneNote的筆記本,包括個(gè)人的終結(jié)點(diǎn)、SharePoint Online工作組網(wǎng)站、SharePoint Online個(gè)人網(wǎng)站和Office 365組網(wǎng)站。分別對(duì)應(yīng)如下終結(jié)點(diǎn): /me/onenote/notebooks /sites/{id}/onenote/notebooks /users/{id | userPrincipalName}/onenote/notebooks /groups/{id | userPrincipalName}/onenote/notebooks 本文我們將演示如何為給定用戶的個(gè)人網(wǎng)站添加OneNote的筆記本、章節(jié)和頁(yè)面。了解了它之后,向其他位置添加也是類似的,僅需要很小的改動(dòng)。 需要的權(quán)限 OneNote的筆記本可以以多種權(quán)限創(chuàng)建。我們?yōu)榱朔奖阊菔緯?huì)直接添加Notes.ReadWrite.All這個(gè)應(yīng)用程序權(quán)限,這個(gè)權(quán)限可以讓我們?yōu)槠渌脩魟?chuàng)建和更新notebooks。當(dāng)然我們還可以使用托管權(quán)限Notes.Create或Notes.ReadWrite去實(shí)現(xiàn)類似的操作。 創(chuàng)建OneNote筆記本 為給定用戶創(chuàng)建記事本,我們需要傳入用戶的賬號(hào)和筆記本的名字,然后訪問OneNote終結(jié)點(diǎn)進(jìn)行創(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)建筆記本之后,我們?cè)谶@個(gè)筆記本的基礎(chǔ)上創(chuàng)建章節(jié),因此需要引用筆記本對(duì)象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頁(yè)面 最后一步就是在章節(jié)中創(chuàng)建頁(yè)面了。有趣的是這里我們可以從/Users/OneNote/Sections直接引用/Pages終結(jié)點(diǎn),而不需要再經(jīng)由/Notebooks終結(jié)點(diǎn)了。為了更直接的說(shuō)明,創(chuàng)建頁(yè)面的代碼我們采用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é) 本篇示例中,我們?cè)贖elpers文件夾中新建了一個(gè)類文件OneNoteHelper.cs,用于執(zhí)行OneNote相關(guān)的操作。并在Program中調(diào)用。 執(zhí)行結(jié)果如下: 
 ?當(dāng)然,如果你本地的Window 10也裝了OneNote的話,體驗(yàn)一下什么是移動(dòng)為先,云為先。  ? 示例代碼已更新,戳這里。
Office辦公軟件是辦公的第一選擇,這個(gè)地球人都知道。Microsoft Office 2010的新界面簡(jiǎn)潔明快,標(biāo)識(shí)也改為了全橙色。
|