Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google calendar api 发布可由Outlook 365'订阅的web日历;现代身份验证_Google Calendar Api_Outlook.com_Webcal - Fatal编程技术网

Google calendar api 发布可由Outlook 365'订阅的web日历;现代身份验证

Google calendar api 发布可由Outlook 365'订阅的web日历;现代身份验证,google-calendar-api,outlook.com,webcal,Google Calendar Api,Outlook.com,Webcal,我想在我们的web应用程序中发布一个日历,以便客户可以使用他们最喜欢的软件-Google calendar、Outlook.com等订阅它 我正在从数据库中提取数据,并使用sabre/dav的VObject类创建ics文件,然后通过url为其提供服务: webcal://www.server.com/calendar.php?username=john.doe&cal_id=efccd95ee22917d327e31840fbc1a97936a4 这适用于Google Calendar和Thun

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

我正在从数据库中提取数据,并使用sabre/dav的VObject类创建ics文件,然后通过url为其提供服务:

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

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

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

  • 这些事件不会首先出现在Outlook 365中
  • 即使在24小时后,它们也没有出现
  • 有人问了一个类似的问题,但没有给出答案:

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

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

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

    下面是我的服务器的响应

    卷曲输出:

    < HTTP/1.1 200 OK
    < Date: Mon, 22 Jul 2019 17:52:59 GMT
    < Server: Apache/2.4.18 (Ubuntu)
    < Content-Length: 648
    < Content-Type: text/calendar;charset=UTF-8
    <
    BEGIN:VCALENDAR
    VERSION:2.0
    PRODID:-//Sabre//Sabre VObject 4.2.0//EN
    CALSCALE:GREGORIAN
    BEGIN:VEVENT
    UID:sabre-vobject-f1337426-242c-4c5f-a7af-199ff6aa68d9
    DTSTAMP:20190722T175259Z
    SUMMARY:Super Event
    DTSTART:20190716T131500
    DTEND:20190716T191500
    END:VEVENT
    
    预期结果是,订阅后,事件会添加到Outlook 365日历,实际结果是不会添加任何事件

    我很乐意知道微软使用什么机制来决定是否使用现代身份验证,然后告诉它“不”,我不想使用任何身份验证

    编辑:

    我研究了使用,并最终得出结论,和都希望集成商通过发布的API进行身份验证,然后通过发布的API访问他们的日历(Google也可以选择为此提供一个接口)

    END:VCALENDAR