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()}");
});
答案 0 :(得分:4)
根据Google日历API,timeMin和timeMax值必须遵循RFC3339日期标准。
在日历内部,日历在您传入的DateTimes上应用.toIso8601String()
。但这并不能使它们成为有效的RFC3339日期。
在传递.toUtc()
之前调用它们将使它们成为有效的RFC3339。您可以DartPad与Googles Api explorer一起尝试,然后您会看到不同的回复。
可能有更多方法可以使DateTime符合RFC3339,但这应该指向至少错误。