相关疑难解决方法(0)

Office 365 REST Api和Microsoft Graph之间的区别

我想知道Office 365 REST API和Microsoft Graph之间的区别,因为我们可以找到这两者的类似功能.

https://msdn.microsoft.com/en-us/office/office365/howto/rest-api-overview

以下是上面链接的文字:

Office 365 API功能也可通过Microsoft Graph获得,Microsoft Graph是一种统一的API,包括来自其他Microsoft服务(如Outlook,OneDrive,OneNote,Planner和Office Graph)的API,可通过单个端点和单个访问令牌访问.

如果没有这样的差异,你打算弃用这些吗?

谢谢

api office365 office365api office365connectors microsoft-graph

7
推荐指数
1
解决办法
4153
查看次数

MS Graph VS Outlook REST API,OAuth,Win Store/UWP,Xamarin,WebAPI,SSO,Live SDK已弃用 - 混淆

经过数小时的谷歌搜索,阅读MS文档和代码示例,我现在更加困惑,需要一些架构建议.

基本上我需要弄清楚哪些API适用以及如何从它们开始.

背景

我有一个现有的应用程序(目前是一个XAML + c#win store 8.1应用程序),带有一个WebAPI 2.2 odata(以及一些MVC页面)后端.

客户端应用程序在Win 8.1上运行良好并赢得10台机器服务器端位于天蓝色VM中.

目前

  • 用户使用他们的Microsoft帐户登录应用程序(作为他们登录到Windows的用户)
  • 他们不必键入用户名/密码,他们只接受我用范围指定的权限(1x),例如"wl.basic","wl.emails","wl.calendars"
  • 为此,我使用的是Live Connect库(Microsoft.Live.dll,v5.6.0.0)
  • 然后我从LiveLoginResult获得AuthenticationToken

例如

_loginResult.Session.AuthenticationToken
Run Code Online (Sandbox Code Playgroud)
  • 我将其与odata请求一起传递给服务器.
  • 服务器使用它来查找他们的LiveID/UserID

例如

LiveAuthClient authClient = new LiveAuthClient(clientId, clientSecret, redirectUrl); 
string liveIdGuidAsString = authClient.GetUserId(authenticationToken);
Run Code Online (Sandbox Code Playgroud)
  • 然后我用它来查找我的数据库中的相关用户,并将他们的odata内容提供给客户端应用程序

一切都很好.

我想扩展我的应用程序以与用户的Outlook的日历同步/集成

似乎这些天要做到这一点的合理方法是使用

  • Outlook REST API
  • MS Graph

MS似乎也可能随时关闭我正在使用的Live API?

https://msdn.microsoft.com/en-us/library/hh243641.aspx

额外的复杂性

我也(在几个月的时间内)想要将应用程序扩展到

  • 是X平台(可能使用Xamarin传统的PCL代码共享和用于UI的"xamarin传统"平台特定项目,可能使用MVVMCross)
  • 允许用户使用其他服务进行身份验证(所有OAuth 2.0) - 例如google/gmail帐户

这意味着我希望在可能的情况下将其作为"原始OAuth"以实现兼容性,而不是将自己绑定到任何特定的MS API(显然,outlook/outlook.com日历集成只是具有MS帐户的用户可用的功能)

此外,一些现有用户拥有outlook.com帐户(他们用来登录Windows)但在Hosted Exchange 2010中拥有他们的日历数据

似乎要访问此日历数据,这些用户必须将所有Outlook 2016数据移至outlook.com,或将其设置为office 365帐户并将数据迁移到新帐户.

问题

1.我应该在何处/与谁进行身份验证以获取我的授权码和访问令牌 - MS Graph?或Outlook REST API

我已经看到了这个答案(即基本上更喜欢MS …

office365 live-sdk azure-active-directory auth0 microsoft-graph

5
推荐指数
1
解决办法
1067
查看次数

获取Microsoft Graph和各个服务API端点(Outlook REST API等)的访问令牌

我花了一些时间玩Azure AD OAuth 2.0.

与范围内获取的访问令牌https://outlook.office.com/mail.read抛出401 Unauthorized与微软的图形使用时.

同样,与Outlook REST API端点一起使用时,使用范围获取的访问令牌https://graph.microsoft.com/mail.read也会抛出401 Unauthorized.

另外,如果我在授权用户时提及两个范围,我会收到错误.

是否可以访问允许访问Microsoft Graph和Outlook REST API端点的访问令牌?

我正在构建一个电子邮件应用程序.最初,我将构建基本功能,如同步/发送电子邮件.

我将使用Microsoft Graph,因为它支持我目前需要的所有内容,Microsoft建议将其用于各个服务API端点.

我担心未来.我目前将获得的OAuth访问令牌将具有范围https://graph.microsoft.com/mail.read.将来,可能会发生Microsoft Graph不支持我要构建的新功能,但Outlook REST API端点支持它.在这种情况下,我想使用Outlook REST API端点.

我是否必须为每个用户维护两套OAuth访问令牌?同时要求每个用户重新认证也不是一个好主意.

outlook-restapi microsoft-graph

3
推荐指数
1
解决办法
624
查看次数

如何使用Microsoft Graph授权Outlook.com?

把我的生活变成碎片,这是我的最后一招.

说真的,我无法在任何地方找到这些信息!我认为Graph支持Outlook.com.我看到这个引用Outlook Api和Graph Api的问题,但是如何为此授权Outlook.com帐户呢?

我正在向用户发送https://login.microsoftonline.com/common/oauth2/authorize参数:

response_type = code
client_id = <my client id>
redirect_uri = <my redirect_uri>
state = <csrf>
resource = https://outlook.office.com/
Run Code Online (Sandbox Code Playgroud)

登录.它@outlook.com会将它们带到Office 365登录,当您键入时,它会尝试重定向您,只返回365登录页面并全部执行.

我可以很好地授权Office 365,但不能Outlook.com.如果需要,我可以提供更多信息,我只是觉得我遇到了错误的端点或其他什么.

outlook-web-app outlook.com office365api microsoft-graph

1
推荐指数
1
解决办法
443
查看次数