首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在flutter中使用google日历api获取一个月内的所有活动?

如何在flutter中使用google日历api获取一个月内的所有活动?
EN

Stack Overflow用户
提问于 2020-04-07 11:49:28
回答 1查看 485关注 0票数 0

我想在1个月内获得所有的事件从谷歌日历API在flutter。

我在这里咨询过,但它没有flutter https://developers.google.com/calendar/v3/reference/events/get的说明

我导入了https://pub.dev/packages/googleapis,但我找不到任何示例。

如果你已经这样做了,或者有任何样本。请帮我分享一下。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-08 15:22:58

经过一天的研究。我把它做得如下

导入库

代码语言:javascript
运行
复制
date_utils: ^0.1.0+3

googleapis_auth: ^0.2.11+1

googleapis: ^0.54.0

代码

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
 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));

 }

希望能对你有所帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61072533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档