2015-11-25 35 views
1

我想使用C#將行添加到onenote頁面中。 爲了使頁面是已知的,但我找不到在現有的onenote頁面插入行。如何使用C#在現有的MS onenote頁面上插入文本行

+0

您是否使用OneNote REST API? (http://dev.onenote.com/docs)還是COM API? –

+0

我不知道OneNote REST API。我嘗試將行插入到OneNote的XML格式。 – iseo

+0

如果您的應用在本地工作,您可以考慮[此評論](http://stackoverflow.com/a/36281473/2609580) – DmitryP

回答

0

我假設你在談論OneNote REST API。要將文本行添加到OneNote中的現有頁面,可以使用PATCH API。 這裏有一個鏈接到官方的文檔:http://dev.onenote.com/docs#/reference/patch-pages

你的要求應該是這個樣子:

PATCH ~/me/notes/pages/{PAGEID} 
Content-Type: application/json 
Body: 
[ 
{ 
    "target":"body", 
    "action":"append", 
    "position":"after", 
    "content":"MySentenceHtmlContent" 
} 
] 

讓我知道如果您有任何問題! 豪爾赫

+0

您的建議表單對我來說是新的。這是C#嗎? – iseo

+0

這是一個可以在C#中完成的HTTP請求。我建議使用OneNote API檢查Windows Store示例 –

+0

https://github.com/OneNoteDev/OneNoteAPISampleWinStore –

0

我有一個解決方案,用於在現有的OneNote頁面上插入文本行。 使用XML格式,列表如下

public static string SetPageContent(string pageId, string msg) 
    { 
     string xml; 
     onenoteApp.GetPageContent(pageId, out xml, PageInfo.piAll); 
     var doc = XDocument.Parse(xml); 

     // make newline with msg input 
     XElement text = new XElement(ns + "OE", 
      new XElement(ns + "T", 
       new XCData(msg))); 

     // insert new line 
     doc.Root.Element(ns + "Outline").Element(ns + "OEChildren").Add(text); 

     // Now update the page content 
     onenoteApp.UpdatePageContent(doc.ToString()); 

     return null; 
    } 
相關問題