我正在尝试在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');
}
我相信问题与发送经过身份验证的请求有关,但是我不知道如何创建“客户端”。