无法在java中将会议链接添加到谷歌日历活动

问题描述 投票:0回答:2

我正在开发一个 spring boot api,它为我安排事件,但它工作正常,但随着事件我也想添加一个会议链接,但我无法做到这一点。我正在使用来自云控制台的服务帐户和与此服务帐户共享我的个人帐户。我如何实施 google meet?

这是我的代码:

Event event = new Event()
                    .setSummary("Google I/O 2015")
                    .setLocation("800 Howard St., San Francisco, CA 94103")
                    .setDescription("A chance to hear more about Google's developer products.");
            ConferenceSolutionKey conferenceSKey = new ConferenceSolutionKey();
            conferenceSKey.setType("hangoutsMeet");
            CreateConferenceRequest createConferenceReq = new CreateConferenceRequest();
            createConferenceReq.setRequestId("adojajaod"); // ID generated by you

            createConferenceReq.setConferenceSolutionKey(conferenceSKey);
            ConferenceData conferenceData = new ConferenceData();
            conferenceData.setCreateRequest(createConferenceReq);

            System.out.println(conferenceData);
            event.setConferenceData(conferenceData);


            DateTime startDateTime = new DateTime("2021-08-14T09:00:00-07:00");
            EventDateTime start = new EventDateTime()
                    .setDateTime(startDateTime)
                    .setTimeZone("America/Los_Angeles");
            event.setStart(start);

            DateTime endDateTime = new DateTime("2021-08-15T17:00:00-07:00");
            EventDateTime end = new EventDateTime()
                    .setDateTime(endDateTime)
                    .setTimeZone("America/Los_Angeles");
            event.setEnd(end);

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

            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);

            
            event = client.events().insert("[email protected]", event).setConferenceDataVersion(1).execute();
            System.out.printf("Event created: %s\n", event.getHtmlLink());

在这里,我尝试使用会议设置会议链接,但它不起作用并给出如下错误:

{
  "code" : 400,
  "errors" : [ {
    "domain" : "global",
    "message" : "Invalid conference type value.",
    "reason" : "invalid"
  } ],
  "message" : "Invalid conference type value."
}

任何帮助将不胜感激。

java spring-boot google-cloud-platform google-calendar-api google-meet
2个回答
0
投票

conferenceSKey.setType("hangoutsMeet");

您尝试插入活动的日历似乎不接受“hangoutsMeet”电话会议类型。

要验证使用日历 API 的 get 来查看您的目标日历元数据。 https://developers.google.com/calendar/api/v3/reference/calendars

您可以在下面看到允许的类型,

"conferenceProperties": {
    "allowedConferenceSolutionTypes": [
      string
    ]
  }

0
投票

service.events().insert(calendarId, event).setConferenceDataVersion(1).execute()

© www.soinside.com 2019 - 2024. All rights reserved.