0

我正在创建 G-Suite 插件以将第 3 部分会议解决方案与 Google 日历事件集成。我将选择的第 3 方会议解决方案添加到清单文件:

{
  "timeZone": "America/Denver",
  "dependencies": {
    "enabledAdvancedServices": [{
      "userSymbol": "Calendar",
      "serviceId": "calendar",
      "version": "v3"
    }]
  },
  "exceptionLogging": "STACKDRIVER",
  "oauthScopes": [
    "https://www.googleapis.com/auth/userinfo.email",
    "https://www.googleapis.com/auth/admin.directory.user.readonly",
    "https://www.googleapis.com/auth/calendar",
    "https://www.googleapis.com/auth/calendar.addons.execute",
    "https://www.googleapis.com/auth/calendar.addons.current.event.read",
    "https://www.googleapis.com/auth/calendar.addons.current.event.write"
  ],
  "urlFetchWhitelist": [],
  "runtimeVersion": "V8",
  "addOns": {
    "common": {
      "name": "Conference Solution",
      "logoUrl": "https://imagesite.com/companyLogo",
      "layoutProperties": {
        "primaryColor": "#4285f4",
        "secondaryColor": "#ea4335"
      },
      "homepageTrigger": {
        "runFunction": "onHomePage"
      }
    },
    "calendar": {
      "homepageTrigger": {
        "runFunction": "onHomePage"
      },
      "eventOpenTrigger": {
        "runFunction": "onCalendarEventOpen"
      },
      "eventUpdateTrigger": {
        "runFunction": "calendarUpdated"
      },
      "currentEventAccess": "READ_WRITE",
      "conferenceSolution": [{
        "onCreateFunction": "createConference",
        "id": "123",
        "name": "Meeting Conference Solution",
        "logoUrl": "https://someUrl.com/conferenceSolutionLogo.jpg"
      }]
}

但是当我选择我的第 3 部分会议解决方案时,我收到 500 个响应代码和无法创建会议的错误。

UPD。回复正文:

[13,"Internal error encountered."]

请求网址:

https://calendar-pa.clients6.google.com/v1/calendar/polzovatel101056@gmail.com/event/2lhlppothipf43ggb9krfabcef/conferencing?alt=protojson&key=AIzaSyAJV0pH9dpVwdNZeLajIGsIpjcPu3tVgAE

请求正文:

[
  [ 
    "email@gmail.com",
    "2lhlppothipf43ggb9krfabcef"
  ],
  null,
  null,
  [ 
    4,
    [ 
      null,
      "AKfycbzrJeytVGp3C8hhST2QMETrVdaXPG84CNnIXRQtwJUv",
      "1"
    ]
  ]
]

创建会议功能:

function createConference(e) {
  var dataBuilder = ConferenceDataService.newConferenceDataBuilder();
  var confParams = dataBuilder.newConferenceParameter()
    .setKey('conferenceId')
    .setValue('addOn');

  confParams.setKey("key")
    .setValue(JSON.stringify({
      type: "addOn"
    }));

  dataBuilder.setConferenceSolutionId("123");
  dataBuilder.setParameters(confParams);
  return dataBuilder.build();
}
4

1 回答 1

1

这似乎是一个错误!

在完全了解您的情况后,我复制了您的代码,您所描述的行为似乎是意外行为。设置插件以通过第三方会议解决方案创建会议并从下拉列表中选择后:

在此处输入图像描述

会议无法运行,在 Stackdriver 日志中可以看到以下错误:

ReferenceError: ConferenceDataService is not defined.

我进行了搜索,似乎已经有一份关于 Google 问题跟踪器的报告,其中详细说明了相同的行为:

Google 似乎确实知道这个问题,但您可以点击上述页面左上角问题编号旁边的 ☆,这让 Google 知道更多人正在遇到这个问题,因此更有可能更快地看到它。


2020.04.24 更新:

根据上面问题跟踪器链接上留下的评论,这似乎已在谷歌结束时得到修复。为了确认我从 Apps Script 界面检查了该方法,现在正在填充低级方法建议:

在此处输入图像描述

于 2020-04-22T11:06:39.270 回答