Я создаю надстройку G-Suite для интеграции решения конференции 3-ей части с событиями Календаря 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 кодов ответа и ошибки, что конференция не может быть создана.
UPD. Тело ответа:
[13,"Internal error encountered."]
URL запроса:
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"
]
]
]
Функция 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();
}