【问题标题】:Clear all events Google calendar Java清除所有事件 Google 日历 Java
【发布时间】:2015-10-28 13:54:49
【问题描述】:

我需要删除我所有的日历活动。

我看到了删除所有事件的API:

// Clear a calendar
service.calendars().clear('primary').execute();

所以,我在我的代码中这样做:

 service.calendars().clear(CALENDAR_ID).execute();

我有必要的授权,但我遇到了这个错误:

{
  "code" : 400,
  "errors" : [ {
    "domain" : "global",
    "message" : "Cannot clear primary calendar.",
    "reason" : "invalid"
  } ],
  "message" : "Cannot clear primary calendar."
}.

我该如何解决这个问题?

【问题讨论】:

    标签: java google-api google-calendar-api google-api-java-client


    【解决方案1】:

    Calendars: clear

    清除主日历。此操作删除所有事件 与帐户的主日历相关联。

    它只适用于你需要做的主日历

    service.calendars().clear('primary').execute();
    

    不使用日历 ID。

    【讨论】:

    • 但是如果我想删除这个特定日历中的事件呢?
    • 获取该日历中的事件列表并一次删除一个
    • 我无法让该命令在除主要之外的任何东西上工作
    • 我尝试了 calendarList.clear(),但没有用!当我创建日历时,它有一些方法可以将其设为主要?
    • 对于辅助日历,如果出于某种原因需要保留日历 ID,您可以调用 calendars.delete() 或使用 for 循环删除所有事件。
    【解决方案2】:

    有同样的问题。尝试从日历中删除所有事件,因为其中一些被窃听,不可能一一删除。例如:

    1:

    kind    "calendar#event"
    etag    "\"3137773029614000\""
    id  "3s3rabieiic4602kq267cu5t6n"
    status  "cancelled"
    

    2:

    kind    "calendar#event"
    etag    "\"3137773029614000\""
    id  "3s3rabieiic4602kq267cu5t6n_20180627T080000Z"
    status  "cancelled"
    recurringEventId    "3s3rabieiic4602kq267cu5t6n_R20180627T080000"
    originalStartTime   
    dateTime    "2018-06-27T10:00:00+02:00"
    timeZone    "Europe/Paris"
    

    如您所见,它们的 ID 大致相同。我还有 6 个这样的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-30
      • 1970-01-01
      • 2021-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-04
      • 2018-03-06
      相关资源
      最近更新 更多