Flutter Google Calendar Api列表事件

时间:2018-04-09 01:32:45

标签: events google-api google-calendar-api flutter

Flutter,Google Calendar API v3 https://pub.dartlang.org/packages/googleapis

使用:

  Future<List<Event>> getEvents() =>
  calendarApi.events.list("primary",
  )
  .then((Events events){
    return events.items;
  }).catchError((e){
    print("error encountered");
    print("${e.toString()}");
  });

不起作用:

DateTime start = new DateTime.now().subtract(new Duration(days: 10));
DateTime end = new DateTime.now().add(new Duration(days: 10));
..
  Future<List<Event>> getEvents() =>
  calendarApi.events.list("primary",
    timeMin: start,
    timeMax: end,
  )
  .then((Events events){
    return events.items;
  }).catchError((e){
    print("error encountered");
    print("${e.toString()}");
  });

updated pic

为什么?

1 个答案:

答案 0 :(得分:4)

根据Google日历API,timeMin和timeMax值必须遵循RFC3339日期标准。

在日历内部,日历在您传入的DateTimes上应用.toIso8601String()。但这并不能使它们成为有效的RFC3339日期。

在传递.toUtc()之前调用它们将使它们成为有效的RFC3339。您可以DartPadGoogles Api explorer一起尝试,然后您会看到不同的回复。

可能有更多方法可以使DateTime符合RFC3339,但这应该指向至少错误。