OAuth2/Google CalDAV-用户日历列表 [英] OAuth2/Google CalDAV - List of calendars for user
本文介绍了OAuth2/Google CalDAV-用户日历列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我过去常常请求CalDAV服务器提供给定用户的所有已定义日历。这适用于Fruux/ownCloud(Sabre)和经典方法GCalendar。 请求如下:
method: PROPFIND headers:Depth: 1
urlstr:https://www.google.com/calendar/dav/{theUserName}@gmail.com/
contentType:application/xml
content:
<d:propfind xmlns:d="DAV:" xmlns:cs="http://calendarserver.org/ns/" xmlns:c="urn:ietf:params:xml:ns:caldav">
<d:prop>
<d:resourcetype />
<d:displayname />
<cs:getctag />
<c:supported-calendar-component-set />
</d:prop>
</d:propfind>
移到Google OAuth2有不同的调用,ulrstr:会不会是这样的
https://apidata.googleusercontent.com/caldav/v2/{Calid}/用户这里的"Calid"必须是特定的日历[1] 上面说:
其中Calid应替换为要访问的日历的"日历ID"
其意图是获取用户帐户的所有日历!所以这些电话帮不上忙。
有什么建议如何让他们进入Google/CalDAV/V2世界?
Günter
另请参阅: [1]https://developers.google.com/google-apps/calendar/caldav/v2/guide推荐答案
答案注释中的链接已断开。 所以我在这里写了一个有效答案。
- 使用PROPFIND查找当前用户的主体。
PROPFIND https://apidata.googleusercontent.com/caldav/v2
<?xml version="1.0" encoding="utf-8" ?>
<D:propfind xmlns:D="DAV:">
<D:prop>
<D:current-user-principal/>
</D:prop>
</D:propfind>
2.PROPFIND CALENALY-HOME-使用我们在上述请求响应中获得的主体URL设置。
PROPFIND https://apidata.googleusercontent.com/{user-principal-path}
<?xml version="1.0" encoding="utf-8" ?>
<D:propfind xmlns:D="DAV:">
<D:prop>
<C:calendar-home-set xmlns:C="urn:ietf:params:xml:ns:caldav"/>
</D:prop>
</D:propfind>
cf)使用报告主体匹配查找日历主页集的另一种方法在我的情况下不起作用。
- PROPFIND Calendar-Home-Set with Depth Header Value%1。
PROPFIND https://apidata.googleusercontent.com/{calendar-home-set-path}
Depth: 1
<?xml version="1.0" encoding="utf-8" ?>
<D:propfind xmlns:D="DAV:"
xmlns:C="urn:ietf:params:xml:ns:caldav">
<D:prop>
<D:displayname/>
<D:resourcetype/>
<C:supported-calendar-component-set/>
</D:prop>
</D:propfind>
这篇关于OAuth2/Google CalDAV-用户日历列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文