我可以使用下面的代码在一个部分中创建一个页面,我可以使用APIGee控制台应用程序在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);
答案 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加载项)。