使用Graph访问OneNote API?令牌(Azure v2.0 auth)

时间:2018-02-21 14:40:55

标签: c# asp.net-web-api microsoft-graph onenote

我正在尝试从我的项目中删除对adal.jsadal-angular.js的依赖,因为我使用的CMS已经提供了支持Azure身份验证。

我做了一些工作来将登录提供程序更新到v2.0:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize
https://login.microsoftonline.com/common/oauth2/v2.0/token

这让我可以利用Graph API。虽然我可以访问OneNote笔记本:

https://graph.microsoft.com/beta/me/onenote/notebooks

我发现自己缺乏区分个人,班级和员工笔记本的能力。

https://www.onenote.com/api/v1.0/me/notes/classnotebooks
https://www.onenote.com/api/v1.0/me/notes/staffnotebooks

我也缺乏能够看到/管理成员(教师,学生,领导者和成员)的能力。

在更新之前,我使用角度代码示例来测试OneNote API和集成。但主要问题是我必须使用adal来获取访问令牌。换句话说,尽管已经登录以便使用OneNote组件,但用户被迫第二次登录。我希望能够取消这一额外的步骤。

根据标题,我正在寻找一种方法来使用从Azure v2.0身份验证过程中获取的访问/刷新令牌来静默交换/获取OneNote访问令牌。

甚至可能吗?如果没有,那么是否有更加用户友好的解决方法?

参考:

  1. 链接到Graph OneNote endpoin
  2. 链接到OneNote ClassNotebooks endpoint
  3. 链接到OneNote StaffNotebooks endpoint
  4. 我正在寻找at this并想一想,为什么在我切换到Azure v2.0之前OneNote API对我不起作用?我也有合适的范围Notes.ReadNotes.Create
  5. ps:如果我在Graph OneNote API中拥有所有必要的端点,我就不会打扰OneNote API。

    pss:如果这很重要,前端是使用AngularJS实现的,AngularJS反过来利用使用Web API框架的Graph API。

    psss:为了更好地了解我在这里谈论的内容,请链接到Graph Explorer

1 个答案:

答案 0 :(得分:0)

很抱歉,Microsoft Graph尚不支持OneNote ClassNotebooks和StaffNotebooks端点。但它是在计划中,所以我们会在它准备好时通知您

此外,目前无法将Azure v2.0令牌用于OneNote API端点。