【问题标题】:How can i sync users calendars using MS Graph api and Azure如何使用 MS Graph api 和 Azure 同步用户日历
【发布时间】:2018-03-21 21:25:41
【问题描述】:

我正在构建一个服务,其中每个用户都有一个日历,我想将用户 365 日历事件同步到他们的日历中,棘手的部分似乎是,这应该由服务器上的后台作业重复完成,以保持它们是同步的。

我觉得我已经阅读了 Microsoft 的文档圣经,但仍然一无所获。我最终偶然发现了这篇文章https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-client-creds,它允许服务器代表用户查询图形 api。这正是我想要的。

创建了 Azure 帐户和 Active Directory 服务后,我发现只有租户内的用户才能使用它,这使得它相当无用,需要从 azure 面板手动添加用户。

AADSTS50020:来自身份提供商“live.com”的用户帐户“m@****.com”在租户“默认目录”中不存在,并且无法访问应用程序“c0193dea-5145-430a-9c90-325f1229a1fc”在那个租户。需要先将该帐户添加为租户中的外部用户。注销并使用其他 Azure Active Directory 用户帐户重新登录。

所以我回到第一方,我怎样才能实现我所描述的? 我不是在寻找代码实现,只是描述如何驾驭微软的庞然大物。

谢谢

更新:相应于 Marc 链接。我尝试轻弹多租户选项,并将端点更改为使用 common 而不是租户 ID。可悲的是,我仍然遇到同样的错误。

【问题讨论】:

  • 有点好笑,我实际上正在完成一篇关于这个确切场景的博客文章(可能会在几周内发布)。这将是关于添加 AAD 的选择加入功能,在本例中是日历集成,但它也讨论了集成本身。
  • @juunas 无论如何我可以选择你的大脑吗?我觉得我已经尝试了一切,希望得到一些指导。 :-)
  • 好吧,我们可以聊聊:chat.stackoverflow.com/rooms/167326/…

标签: azure-active-directory microsoft-graph-api


【解决方案1】:

您无法使用 v1 端点使用非 AAD 帐户登录 AAD。如果您想使用消费者 Microsoft 帐户(@outlook.com@hotmail.com@live.com),则需要使用 v2 Endpoint 提供的 Converged Auth 模型。

我有一个 v2 端点的演练,您可能会觉得有帮助:Microsoft v2 Endpoint Primer。它类似于 v1 Endpoint,但您需要通过 https://apps.dev.microsoft.com 而不是 Azure 门户进行注册。此外,v2 应用程序使用范围而不是资源,并且是开箱即用的多租户。


对于 Stack Overflow,这是一个广泛的问题。也就是说,您对 Azure AD 的看法不正确。它绝对不限于单租户。但是,您确实需要将其注册为多租户应用程序:

How to sign in any Azure Active Directory (AD) user using the multi-tenant application pattern

【讨论】:

  • 我看不出这太宽泛了?你是说有多种方法可以做到这一点?在那种情况下,我很想知道。我也打开了多租户选项,并切换到公共端点,很遗憾我得到了同样的错误消息。
  • “我如何创建一个服务,将用户日历与我的后端同步”客观上很广泛。有无数种用于在系统之间同步信息的策略。坦率地说,确定应该选择哪一个超出了 Stack Overflow 的范围。
  • 这只是标题,我更改了它以反映正文中实际提出的更具体的问题。
  • 我的意思是你问如何在两点之间同步数据。这是一个非常复杂的话题,有许多不同的观点和策略(更不用说几十篇博士论文了)。您使用哪个 API 来检索源数据有些无关紧要。这些问题往往不适合 SO。但是,您问题的症结在于 AAD 错误,这是 SO 社区可以帮助解决的一个目标狭窄且定义明确的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多