我想在1个月内获得所有的事件从谷歌日历API在flutter。
我在这里咨询过,但它没有flutter https://developers.google.com/calendar/v3/reference/events/get的说明
我导入了https://pub.dev/packages/googleapis,但我找不到任何示例。
如果你已经这样做了,或者有任何样本。请帮我分享一下。
发布于 2020-04-08 15:22:58
经过一天的研究。我把它做得如下
导入库
date_utils: ^0.1.0+3
googleapis_auth: ^0.2.11+1
googleapis: ^0.54.0代码
final GoogleSignIn _googleSignIn =
GoogleSignIn(
scopes: <String>[
CalendarApi.CalendarScope,
],
)
signInWithGoogle() async {
await _googleSignIn.signIn();
final headers = await _googleSignIn.currentUser.authHeaders;
getEvent(headers);
}
getEvent(headers) async {
final httpClient = GoogleHttpClient(headers);
var calendar = CalendarApi(httpClient);
DateTime lastMonth = Utils.lastDayOfMonth(DateTime.now());
DateTime firstMonth = Utils.firstDayOfMonth(DateTime.now());
var calEvents = calendar.events.list("primary", timeMax: lastMonth.toUtc(), timeMin: firstMonth.toUtc());
calEvents.then(
(events) => {events.items.forEach((event) => print("EVENT ${event.summary}"))});
}这是GoogleHttpClient.class
import 'package:http/io_client.dart';
import 'package:http/http.dart';
class GoogleHttpClient extends IOClient {
Map<String, String> _headers;
GoogleHttpClient(this._headers) : super();
@override
Future<StreamedResponse> send(BaseRequest request) =>
super.send(request..headers.addAll(_headers));
@override
Future<Response> head(Object url, {Map<String, String> headers}) =>
super.head(url, headers: headers..addAll(_headers));
}希望能对你有所帮助
https://stackoverflow.com/questions/61072533
复制相似问题