Я создаю надстройку G-Suite для интеграции решения для конференций третьей части с событиями Календаря Google. Я добавил выбранное стороннее решение для конференций в файл манифеста:
{
"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 и ошибку, что конференция не может быть создана.
УПД. Текст ответа:
[13,"Internal error encountered."]
URL-адрес запроса:
https://calendar-pa.clients6.google.com/v1/calendar/[email protected]/event/2lhlppothipf43ggb9krfabcef/conferencing?alt=protojson&key=AIzaSyAJV0pH9dpVwdNZeLajIGsIpjcPu3tVgAE
Тело запроса:
[
[
"[email protected]",
"2lhlppothipf43ggb9krfabcef"
],
null,
null,
[
4,
[
null,
"AKfycbzrJeytVGp3C8hhST2QMETrVdaXPG84CNnIXRQtwJUv",
"1"
]
]
]
функция createConference:
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();
}
conferenceSolution
в качестве поля. Каков ваш рабочий процесс? Чего вы пытаетесь достичь здесь? - person Rafa Guillermo   schedule 20.04.2020it is my target
. Какое у вас стороннее решение для проведения конференций? Он установлен для вашего домена? - person Rafa Guillermo   schedule 21.04.2020it is my target
, я имею в виду, что это моя задача. Где я должен установить его? У меня есть собственное приложение и API для создания события в моем решении для конференций. Это достаточно? - person Ilia Yanovoy   schedule 21.04.2020"onCreateFunction": "createConference"
и не знаю, что G-Suite хочет получить от функцииcreateConference
. Где я могу прочитать, как правильно обрабатывать событие createConference? - person Ilia Yanovoy   schedule 21.04.2020onCreateFunction
? - person Rafa Guillermo   schedule 21.04.2020conferenceSolutions
в манифесте существует, но без какой-либо информации или типов. - person Ilia Yanovoy   schedule 21.04.2020createConference
. Вы должны использовать это в сочетании с службой данных конференций приложений. Скрипт. - person Rafa Guillermo   schedule 22.04.2020ReferenceError: ConferenceDataService is not defined
как SO вопрос - person Ilia Yanovoy   schedule 22.04.2020