Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Meet in Google Calendar API

How can I add google meet in google calendar api in java? Please help me. I haven't understood the google documentation. https://developers.google.com/calendar/create-events. The source code is given here. Here, I want to create event using users gmail account. I have not any G-suite account

Event event = new Event()
    .setSummary(title)
    .setLocation(location)
    .setDescription(description);

DateTime startDateTime = new DateTime( date +"T"+startTime+"+06:00" );//"2020-05-05T11:00:00+06:00");
EventDateTime start = new EventDateTime()
    .setDateTime(startDateTime)
    .setTimeZone("Asia/Dhaka");
event.setStart(start);

DateTime endDateTime = new DateTime(date +"T"+endTime+"+06:00");//"2020-05-05T12:00:00+06:00");
EventDateTime end = new EventDateTime()
    .setDateTime(endDateTime)
    .setTimeZone("Asia/Dhaka");
event.setEnd(end);

String[] recurrence = new String[] {"RRULE:FREQ=DAILY;COUNT=1"};
event.setRecurrence(Arrays.asList(recurrence));

EventAttendee attendees[];

attendees = new EventAttendee[allAttendees.size()];

for(int i=0; i<allAttendees.size(); i++){
    // System.out.println(allAttendees.get(i));
    attendees[i] = new EventAttendee().setEmail(allAttendees.get(i));
}
event.setAttendees(Arrays.asList(attendees));

EventReminder[] reminderOverrides = new EventReminder[] {
    new EventReminder().setMethod("email").setMinutes(24 * 60),
    new EventReminder().setMethod("popup").setMinutes(10),
};


Event.Reminders reminders = new Event.Reminders()
    .setUseDefault(false)
    .setOverrides(Arrays.asList(reminderOverrides));
event.setReminders(reminders);

String calendarId = "primary";

try {
    abc = service.events().insert(calendarId, event);
} catch (IOException e) {
    e.printStackTrace();
}

try {
    event = service.events().insert(calendarId, event).execute();
} catch (IOException e) {
    e.printStackTrace();
}

String meetingId = event.getHangoutLink();
System.out.println("What is meeting ID? = "+meetingId);
like image 832
TuitionAppSpl Avatar asked Sep 08 '20 22:09

TuitionAppSpl


People also ask

Is there any API for Google meet?

get() with applicationName=meet . You can use these parameters with this reports API to get details about the duration, number of participants, and device-specific characteristics of Meet calls, and general levels of Meet user activity across your organization.

How do I set up a meeting in Google Calendar?

Schedule a meeting in Google CalendarIn Google Calendar, click the desired time slot and select Create. An event will be added to your calendar. Select Edit Event to open the meeting details. Note: To add a recurring meeting, click the Repeatoption below the meeting date and time.


1 Answers

Answer

You will need to use the JAVA API Documentation for Google Calendar

You have to create a new Meet request and then append it to the current event and before that, enable the conferenceDataVersion by setting it to 1. Before using the following code make sure that you have this setup.

Code

Event event = new Event()
                        .setSummary(title)
                        .setLocation(location)
                        .setDescription(description);

// Your previous code

/* The code needed - START */

ConferenceSolutionKey conferenceSKey = new ConferenceSolutionKey();
conferenceSKey.setType("eventHangout"); // Non-G suite user
CreateConferenceRequest createConferenceReq = new CreateConferenceRequest();
createConferenceReq.setRequestId("3whatisup3"); // ID generated by you
createConferenceReq.setConferenceSolutionKey(conferenceSKey);
ConferenceData conferenceData = new ConferenceData();
conferenceData.setCreateRequest(createConferenceReq);
event.setConferenceData(conferenceData); // attach the meeting to your event

/* The code needed - END */

String calendarId = "primary";

// There’s no need to declare the try-catch block twice

try {
    /* Code changes - START */

    // .setConferenceDataVersion(1) enables the creation of new meetings
    event = service.events().insert(calendarId, event).setConferenceDataVersion(1).execute();

    /* Code changes - END */

} catch (IOException e) {
    e.printStackTrace();
}

String meetingId = event.getHangoutLink();
System.out.println("What is meeting ID? = "+meetingId);

References

Google Calendar JAVA API: Event.setConferenceData

Google Calendar JAVA API: ConferenceData.setCreateRequest

Google Calendar JAVA API: CreateConferenceRequest.setRequestId

Google Calendar JAVA API: ConferenceSolutionKey.setType

Google Calendar JAVA API: Calendar.Events.Insert.setConferenceDataVersion The most important

like image 168
Jose Vasquez Avatar answered Oct 30 '22 06:10

Jose Vasquez