Flutter、Google 日历 API v3https://pub.dartlang.org/packages/googleapis https://pub.dartlang.org/packages/googleapis
Works:
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()}");
});
Why?
根据 Google 日历 API,timeMin 和 timeMax 值必须遵循 RFC3339 日期标准。
日历在内部适用.toIso8601String()
但是,这并不会使它们成为有效的 RFC3339 日期。
Calling .toUtc()
在传递它们之前将使它们成为有效的 RFC3339。你可以尝试一下DartPad https://dartpad.dartlang.org/21e2c9d6b799f0b2bf91和...一起你会看到不同的反应。
可能有更多方法可以使 DateTime RFC3339 兼容,但这至少应该指出错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)