小编Lee*_*Lee的帖子

发布可通过 Outlook 365 的新式身份验证订阅的 Web 日历

我想在我们的 Web 应用程序中发布日历,以便客户可以使用他们最喜欢的软件(Google 日历、Outlook.com 等)订阅它。

\n

我从数据库中提取数据并使用 sabre/dav 的 VObject 类创建一个 ics 文件,然后通过 url 提供它:

\n
\n

webcal://www.server.com/calendar.php?username=john.doe&cal_id=efccd95ee22917d327e31840fbc1a97936a4

\n
\n

这适用于 Google Calendar 和 Thunderbird,但不适用于 Outlook.com,后者显然尝试执行一些涉及 Oauth 2 的“现代身份验证”(是的,这就是它的名称)。没有错误,但也没有事件。我假设这就是阻止它工作的原因:

\n
\n

https://support.microsoft.com/en-gb/help/4025591/you-can-t-add-an-internet-calendar-in-outlook

\n
\n

据我所知,这不是同步间隔问题,因为:

\n
    \n
  1. 这些事件首先不会出现在 Outlook 365 中
  2. \n
  3. 即使24小时后他们还没有出现
  4. \n
\n

有人提出了类似的问题,但没有给出答案:

\n
\n

为 Outlook Office 365 日历创建日历链接?

\n
\n

我捕获了 Outlook 发送到我的服务器的 HTTP 请求标头,除了用户代理“Exchange”之外,它是一个标准请求,没有额外的标头。

\n

Microsoft 似乎没有准确记录 Outlook 365 的预期。

\n

有一种解决方法说订阅时使用 OWA (Outlook Web Access),我认为这只适用于企业客户。

\n

以下是我的服务器的响应。

\n

卷曲输出:

\n
< HTTP/1.1 200 …
Run Code Online (Sandbox Code Playgroud)

google-calendar-api webcal outlook.com

5
推荐指数
0
解决办法
1172
查看次数

标签 统计

google-calendar-api ×1

outlook.com ×1

webcal ×1