C# - 使用 REST 在 SharePoint 上编辑 OneNote 笔记本 API

C# - Edit OneNote Notebook on SharePoint using REST API

我想通过 C# 控制台应用程序编辑存储在 SharePoint 文档库中的 OneNote 笔记本(因为我想用它来将页面批量输入到 Windows 7 机器的笔记本中) . Url 看起来像这样: http_s://COMPANY.sharepoint.com/sites/SITE_ID/Documents/_New%20Tool/NOTEBOOK_NAME?d=SOME_ID

所以我找到了 OneNote REST API 的文档:One Note Api,我有两个问题:

  1. 如何 get/request 不记名令牌?此 SDK 似乎仅适用于通用 Windows 应用程序
  2. 如何获得正确的 API URI?正如它所说 here 我需要 URI 的一些 ID,但我不知道要使用哪些。

如果有人有任何 "quick start code" 开头或博客 post,那就太好了。 GitHub 上的官方例子好像不太符合我的需求...

如果您想从控制台应用程序获取 Bearer 令牌,您可以选择以下选项:

  1. 从其他地方获取令牌(例如,另一个获取令牌的应用程序)并临时将其复制到您的控制台应用程序
  2. 显示(通过网络 control/browser)登录流程并将令牌从中提取到控制台应用程序中。用户必须至少在 UI 中看到一次登录 - 不幸的是,没有办法解决这个问题。我能找到的最好的例子如下:https://github.com/googlesamples/oauth-apps-for-windows/tree/master/OAuthConsoleApp。您只需要更改 URLs/scopes/AppId.

我建议使用 (1) 或不同的路线(windows 通用应用程序),但如果您确实需要它作为控制台应用程序...您基本上需要显示一个web control/browser 登录 URL,然后在用户登录后从中解析代码(或让用户粘贴)。

获得不记名令牌后,您可以阅读我们的 blog post,了解如何使用 FromUrl 来 extract/edit 来自站点的内容。