当前位置: 首页 > 知识库问答 >
问题:

OAuth2/Google Caldav-用户日历列表

子车灿
2023-03-14

我曾经请求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}/user的内容
这里的“calid”必须是一个特定的日历[1]iis说:

其中calid应该被要访问的日历的“日历ID”替换

有什么建议可以让他们进入Google/Caldav/v2世界吗?

京特

共有1个答案

屠坚壁
2023-03-14
    null
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>
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>
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>
 类似资料:
  • 我正在从V2-V3迁移谷歌日历API的过程中。我需要更新另一个用户日历列表。在V2中,通过重写OAuth令牌上的requestor_id字段,这是可能的。但是现在我也在使用OAuth2,这个技术不起作用了。 列出日历列表的请求是: 使用Calendar API V3可以实现此功能吗?

  • 我正在尝试访问Google API v3日历列表,但我不断收到401/404响应,尽管我为用户提供了有效的AccessToken (我完成了Web服务器应用程序的OAuth2协议,并收到https://www.googleapis.com/auth/calendar权限) 这方面很难找到好的文档,谷歌网站本身也不是很有帮助,搜索中充满了旧的v2信息或使用SDK。通常我可以将python回复翻译成c

  • 我们需要获取Office 365日历帐户中的所有日历 我们基本上对endpointhttps://graph . Microsoft . com/v 1.0/users/[log-in-user-id]/calendars进行api调用 但是当我们调用API时,它只返回10个日历(最多)!? 任何帮助/提示表示赞赏!

  • 简单得可笑的问题,我似乎找不到任何答案: 通过oauth2三条腿的身份验证,我有userId+accessToken+refreshToken来访问google用户的日历范围。 现在,我想列出该用户的所有日历。 google calendar api参考(https://developers.google.com/google-apps/calendar/v3/reference/)谈到了cale

  • 我目前正在尝试这样做,当我在日历视图中选择一天时,该天的所有事件都会列出。我很难让它显示一天中的所有事件(看起来它在上午12点到11点59分不起作用?)。这里是我目前拥有的。 和 如果我有12am-11:59am的事件1和12pm-11:59pm的事件2,则仅列出事件2。

  • 我们正在尝试使用EWS管理的应用编程接口集成办公365。我们使用办公365管理中心创建了一个具有模拟角色的服务号。现在,我们如何使用该服务号访问应用程序中其他用户的数据(如邮件、联系人、日历)?谢谢,罗希特