java - 我无法通过 google calendar API 创建环聊链接或 google meet 链接
问题描述
几天前,它正在“自动将 Google Meet 添加到我的日历活动”中。突然,它在 Google Calendar API 中不起作用,“getHangoutLink()”返回“null”。
我该如何解决?帮我写一些代码。
提前致谢。
解决方案
使用以下代码。
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));
/* s1 = "abc@gmail.com"; s2 = "xyz@gmail.com";
EventAttendee[] attendees = new EventAttendee[] {
new EventAttendee().setEmail(s1),
new EventAttendee().setEmail(s2),
};*/
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);
ConferenceSolutionKey conferenceSKey = new ConferenceSolutionKey();
conferenceSKey.setType("hangoutsMeet"); // 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);
String calendarId = "primary";
try {
event = service.events().insert(calendarId, event).setConferenceDataVersion(1).execute();
} catch (IOException e) {
e.printStackTrace();
}
System.out.printf("Event created: %s\n", event.getHtmlLink());
System.out.printf("Hangout Link %s\n", event.getHangoutLink());
推荐阅读
- html - 如何垂直对齐并均匀分布两个按钮?
- android - Edge for Android web-push npm subscribe/ 从 fcm.googleapis.com 返回端点
- sql - 如何有条件地更改列值
- python - python-find 检测字符串中的路径文件
- python - .env 在 Django 中没有被检测到
- html - 在html中使用时如何在bootstrap 4中更改img-thumbnail的白色
- python - Pandas - 块之间有重叠的块 read_csv
- php - MonoLogger 9 级深度中止标准化
- java - 如何使用 firebase 导出 javafx-maven 项目
- node.js - 快速网关中请求的资源上存在返回 No Access-Control-Allow-Origin' 标头的 CORS 策略