在Google日历中创建和活动时遇到问题

时间:2019-07-15 17:41:14

标签: flutter dart google-calendar-api

我正在尝试在Flutter应用中实现google calendar API。我已经成功实现了Firebase身份验证,Google_sign_in并请求修改日历的权限。

我可以检索主日历没问题。我在理解如何插入事件方面遇到了困难。

我正在寻找如何使用api的示例。

我尝试遵循javascript示例,但是javascript和dart之间的联系太多,以至于初学者无法拼凑。

import 'package:http/http.dart' as http;
import 'dart:convert' show json;

DateTime startTime = DateTime.now();
DateTime endTime = DateTime.now().add(Duration(hours: 2));
var authHeaders;

Future handleGetCalendar(user) async {
    final http.Response responseCal = await http.get(
    'https://www.googleapis.com/calendar/v3/calendars/primary',
    headers: await user.authHeaders,
);
authHeaders = user.authHeaders;

if (responseCal.statusCode != 200) {
    print('Not OK');
}

final Map data = json.decode(responseCal.body);
print(data);
}

Map<String, dynamic> eventMap = {
    'calenderID': 'primary',
    'summary': 'Google I/O 2015',
    'location': '800 Howard St., San Francisco, CA 94103',
    'description': 'A chance to hear more about Google\'s developer 
    products.',
    'start': {
    'dateTime': startTime.toIso8601String(),
    'timeZone': 'America/Los_Angeles'
    },
    'end': {
    'dateTime': endTime.toIso8601String(),
    'timeZone': 'America/Los_Angeles'
    },
};


Future<void> handleCreateEvent() async {
//This is as far as I have gotten.  
CalendarApi(http.Client()).events.insert(Event.fromJson(eventMap), 
'primary');
}

我相信问题与发送经过身份验证的请求有关,但是我不知道如何创建“客户端”。

1 个答案:

答案 0 :(得分:0)

请参阅https://pub.dev/packages/http。自述文件包含有关如何使用身份验证标头创建客户端的说明