Events Flutter谷歌日历Api列表事件

Events Flutter谷歌日历Api列表事件,events,google-api,google-calendar-api,flutter,Events,Google Api,Google Calendar Api,Flutter,颤振,谷歌日历API v3 有效: Future<List<Event>> getEvents() => calendarApi.events.list("primary", ) .then((Events events){ return events.items; }).catchError((e){ print("error encountered"); print("${e.toString()}"); });

颤振,谷歌日历API v3

有效:

  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()}");
  });
Future getEvents()=>
calendarApi.events.list(“主”,
)
.然后((事件){
返回事件。项目;
}).catchError((e){
打印(“遇到错误”);
打印(${e.toString()}”);
});
不起作用:

  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()}");
  });
DateTime start=newdatetime.now().subtract(新的持续时间(天:10));
DateTime end=new DateTime.now().add(新的持续时间(天:10));
..
Future getEvents()=>
calendarApi.events.list(“主”,
timeMin:开始,
timeMax:结束,
)
.然后((事件){
返回事件。项目;
}).catchError((e){
打印(“遇到错误”);
打印(${e.toString()}”);
});


为什么?根据谷歌日历API,timeMin和timeMax值必须遵循RFC3339日期标准

在内部,日历在您传入的日期时间上应用
.toIso8601String()
。但是,这并不意味着它们是有效的RFC3339日期

在传入它们之前调用
.toUtc()
,将使它们成为有效的RFC3339。你可以尝试在一起,你会看到不同的反应


可能有更多的方法使DateTime RFC3339兼容,但这至少应该指出错误。

什么不起作用?你能包括你收到的任何错误消息/日志吗?唯一给出的错误是“bad request 400”,这是在.catchError方法中,它在屏幕快照的底部。我不确定在这种情况下会出现什么错误。我会尝试使用浏览器工具来缩小问题的范围,我完全同意——我经常使用这个工具-