Google 在使用 Google 日历 API 创建活动时停止创建 Google Meet link

Google Stopped creating Google Meet link while creating event using Google Calendar API

从今天开始 Google 已停止在创建活动时创建 Google 见面 Url。

    ConferenceData conferenceData = new ConferenceData();
    ConferenceSolution conferenceSolution = new ConferenceSolution();
            
    CreateConferenceRequest createRequest = new CreateConferenceRequest();
    ConferenceSolutionKey conferenceSolutionKey_ = new ConferenceSolutionKey();
    conferenceSolutionKey_.setType("hangoutsMeet");
    
    createRequest.setConferenceSolutionKey(conferenceSolutionKey_);
    createRequest.setRequestId(UUID.randomUUID().toString());
    conferenceData.setConferenceId(UUID.randomUUID().toString());
    
    conferenceData.setCreateRequest(createRequest);
    event.setConferenceData(conferenceData);

注意:我还没有创建入口点 Google 端是否有任何更新,因此此代码不起作用?

由于这个问题,我们的生产代码受到了影响。

这似乎是一个错误!

Google 的问题跟踪器上已经有一份报告详细说明了同类行为:

Google 似乎已经知道这个问题,您可以使用上述 link.

关注错误更新

您还可以点击上述页面左上角问题编号旁边的 ☆,让 Google 知道更多人遇到此问题,因此更有可能更快地看到它。

看起来 Google 已经做了一些更改,它已停止创建 Google 会面 url(事件已创建)基于输入表单 Google 需要工程师设置 ConferenceDataVersion = 1。但是对于 Java API 这还不够。 这是创建 Calendar Event + Meet url

的完整解决方案
    Event event = new Event()
            .setSummary("Your summary")
            .setLocation("Your location")
            .setDescription("Your description");
    
    ConferenceData conferenceData = new ConferenceData();
    ConferenceSolution conferenceSolution = new ConferenceSolution();
    
    CreateConferenceRequest createRequest = new CreateConferenceRequest();
    ConferenceSolutionKey conferenceSolutionKey_ = new ConferenceSolutionKey();
    conferenceSolutionKey_.setType("hangoutsMeet");
    
    createRequest.setConferenceSolutionKey(conferenceSolutionKey_);
    createRequest.setRequestId(UUID.randomUUID().toString());
    
    List<EntryPoint> entryPoints = new ArrayList<EntryPoint>();
    EntryPoint entryPoint = new EntryPoint();
    entryPoint.setEntryPointType("video");
    entryPoints.add(entryPoint);
    conferenceData.setEntryPoints(entryPoints);
    conferenceData.setCreateRequest(createRequest);
    conferenceSolution.setKey(conferenceSolutionKey_);
    conferenceData.setConferenceSolution(conferenceSolution);
    
    event.setConferenceData(conferenceData);
    
    // Build your calenderService using Scope + AccessToken
    Calendar calenderService = getCalenderService();
    
    // calendarId  = Your private or public calendarId. Default option = "primary"
    event = calenderService.events().insert("calendarId", event).setConferenceDataVersion(1).execute(); 

将“视频”类型添加到“入口点”:

 "entryPoints": [
   {
     "entryPointType": "video"
   }
 ]