【发布时间】:2019-11-24 10:49:57
【问题描述】:
我正在尝试在我的 Flutter 应用中实现谷歌日历 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');
}
我认为问题与发送经过身份验证的请求有关,但我不知道如何创建“客户端”。
【问题讨论】:
标签: flutter dart google-calendar-api