我想知道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
经过数小时的谷歌搜索,阅读MS文档和代码示例,我现在更加困惑,需要一些架构建议.
基本上我需要弄清楚哪些API适用以及如何从它们开始.
我有一个现有的应用程序(目前是一个XAML + c#win store 8.1应用程序),带有一个WebAPI 2.2 odata(以及一些MVC页面)后端.
客户端应用程序在Win 8.1上运行良好并赢得10台机器服务器端位于天蓝色VM中.
目前
例如
_loginResult.Session.AuthenticationToken
Run Code Online (Sandbox Code Playgroud)
例如
LiveAuthClient authClient = new LiveAuthClient(clientId, clientSecret, redirectUrl);
string liveIdGuidAsString = authClient.GetUserId(authenticationToken);
Run Code Online (Sandbox Code Playgroud)
一切都很好.
似乎这些天要做到这一点的合理方法是使用
MS似乎也可能随时关闭我正在使用的Live API?
https://msdn.microsoft.com/en-us/library/hh243641.aspx
额外的复杂性
我也(在几个月的时间内)想要将应用程序扩展到
这意味着我希望在可能的情况下将其作为"原始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
我花了一些时间玩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访问令牌?同时要求每个用户重新认证也不是一个好主意.
把我的生活变成碎片,这是我的最后一招.
说真的,我无法在任何地方找到这些信息!我认为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.如果需要,我可以提供更多信息,我只是觉得我遇到了错误的端点或其他什么.