使用OneNote API创建OneNote(客户端)Notebook

时间:2014-08-03 16:15:09

标签: onenote

我可以使用下面的代码在一个部分中创建一个页面,我可以使用API​​Gee控制台应用程序在OneNote OneDrive中创建一个Notebook,但我无法弄清楚如何在OneNote客户端程序中创建一个新的Notebook。下面是我在Foo部分创建页面的代码片段。

如何修改此代码以在客户端中创建新的Notebook?

private static readonly Uri PagesEndPoint = new Uri("https://www.onenote.com/api/v1.0/pages?sectionName=Foo");

                HttpResponseMessage response;
            using (var imageContent = new StreamContent(await GetBinaryStream("assets\\SOAP.jpg")))
            {
                imageContent.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg");
                HttpRequestMessage createMessage = new HttpRequestMessage(HttpMethod.Post, PagesEndPoint)
                {
                    Content = new MultipartFormDataContent
                    {
                        {new StringContent(simpleHtml, System.Text.Encoding.UTF8, "text/html"), "Presentation"},{imageContent, imagePartName}
                    }
                };


                // Must send the request within the using block, or the image stream will have been disposed.
                response = await client.SendAsync(createMessage);
            }

            tbResponse.Text = response.ToString();
            return await TranslateResponse(response);

2 个答案:

答案 0 :(得分:1)

如果create notebook API调用返回成功(201),则表示已在用户的OneDrive上成功创建笔记本。但是,笔记本电脑不会自动显示在OneNote客户端中。用户需要在其中一个OneNote客户端应用程序中打开新创建的笔记本。

或者,您可以使用API​​响应消息中的 links.oneNoteClientUrl.href 属性为OneNote客户端中的用户打开笔记本。

希望有所帮助。

谢谢, 詹姆斯

答案 1 :(得分:0)

如果安装了OneNote,则可以使用OneNote COM API。你可以在这里修改一个VanillaAddin:https://github.com/OneNoteDev/VanillaAddIn

此外,您可以使用相同的COM API编写一个Console应用程序来执行此操作(因此您无需编写COM加载项)。