This blog provides show notes for our September 9 webinar, “Use the Flutter Calendar Widget to Add Appointments from Google Sheets and Firebase.” The webinar was presented and hosted by Michael Prabhu M. If you missed the webinar, or would like to watch it again, please see our YouTube channel or watch it here.
During this webinar, we covered how to use the importing feature to add appointments from Google Sheets and Firebase to the Syncfusion Flutter Calendar widget in your application.
function doGet(request) { var sheet=SpreadsheetApp.openById("1k0Mc3AAUqQqEA0yV6J5EKq4A04TMfVy_ZfIyefCTrQw"); var values= sheet.getActiveSheet().getDataRange().getValues(); var data=[]; for(var i=0;i<values.length; i++) { var row=values[i]; var appointmentData={}; appointmentData['subject']=row[0]; appointmentData['starttime']=row[1]; appointmentData['endtime']=row[2]; data.push(appointmentData); } return ContentService.createTextOutput(JSON.stringify(data)).setMimeType(ContentService.MimeType.JSON); }
Future<List<Meeting>> getDataFromGoogleSheet() async { Response data = await http.get( Uri.parse( "https://script.google.com/macros/s/AKfycbwG-W8x3ojt3-h5F-2IsmfdfTTdGo-bJiYF9gtBfC80KWNc7Qfv3DlApShRwYanHZia4A/exec"), ); dynamic jsonAppData = convert.jsonDecode(data.body); final List appointmentData = []; final Random random = new Random(); for (dynamic data in jsonAppData) { Meeting meetingData = Meeting( eventName: data['subject'], from: _convertDateFromString(data['starttime']), to: _convertDateFromString(data['endtime']), background: _colorCollection[random.nextInt(9)], ); appointmentData.add(meetingData); } return appointmentData; }
If you haven’t already, create a Firebase project. In the Firebase console, click Add project, then follow the on-screen instructions to create a Firebase project or add Firebase services to an existing GCP project.
Navigate to the Cloud Firestore section of the Firebase console. You’ll be prompted to select an existing Firebase project. Follow the database creation workflow.
In the center of the Firebase console’s project overview page, click the Android icon (plat_android) to launch the setup workflow.
If you’ve already added an app to your Firebase project, click Add app to display the platform options.
Enter your app’s package name in the Android package name field.
Click Register app.
Add the required package in the Pubspec.yaml.
dependencies: flutter: sdk: flutter syncfusion_flutter_calendar: 19.2.44 http: ^0.13.3 firebase_core: ^1.1.1 cloud_firestore: ^2.1.0
Syncfusion Flutter Widgets – API reference [Documentation]
You should pass your key to the registerLicense method in the main method of your project.
During this webinar, we looked into how to add appointments from Google Sheets and Firebase to the Syncfusion Flutter Calendar widget in your application. We also reviewed how the new updates from 2021 Volume 2 can assist in your mobile development.
We hope you enjoyed this webinar and please keep an eye out for our future Flutter webinars.
Syncfusion Flutter Widgets – API reference [Documentation]