ReferenceError: ConferenceDataService не определен - PullRequest
1 голос
/ 30 марта 2020

Я пытаюсь разработать надстройку календаря Google, например масштабирование собрания.

В файле appsscript. json, приведен код ниже.

 "calendar": {
      "conferenceSolution": [{
        "onCreateFunction": "createConference",
        "id": "1",
        "name": "Meeting",
        "logoUrl": "https://companyxyz.com/images/logo192.png"
      }],
      "eventOpenTrigger": {
        "runFunction": "buildSimpleCard"
      },
      "currentEventAccess": "READ_WRITE"      
    }
  }

В Calendar.gs, ниже приведен код.

function createConference(e) {
  Logger.log(e);
  var dataBuilder = ConferenceDataService.newConferenceDataBuilder();
  return dataBuilder.build();  
}
/**
   * Build a simple card with a button that sends a notification.
   * This function is called as part of the eventOpenTrigger that builds
   * a UI when the user opens a Calendar event.
   *
   * @param e The event object passed to eventOpenTrigger function.
   * @return {Card}
   */
  function buildSimpleCard() {
    var buttonAction = CardService.newAction()
        .setFunctionName('onSaveConferenceOptionsButtonClicked')
        .setParameters(
          {'phone': "1555123467", 'adminEmail': "joyce@example.com"});
    var button = CardService.newTextButton()
        .setText('Add new attendee')
        .setOnClickAction(buttonAction);
    var buttonSet = CardService.newButtonSet()
      .addButton(button);

    var section = CardService.newCardSection()
               .setHeader("addon")
            .addWidget(buttonSet);

   var card = CardService.newCardBuilder()
      .addSection(section)
      //.setFixedFooter(footer);

   return card.build();
    // Check the event object to determine if the user can set
    // conference data and disable the button if not.
  //  if (!e.calendar.capabilities.canSetConferenceData) {
     // button.setDisabled(true);
 //   }

    // ...continue creating card sections and widgets, then create a Card
    // object to add them to. Return the built Card object.
  }

  /**
   * Callback function for a button action. Sets conference data for the
   * Calendar event being edited.
   *
   * @param {Object} e The action event object.
   * @return {CalendarEventActionResponse}
   */
  function onSaveConferenceOptionsButtonClicked(e) {
    var parameters = e.commonEventObject.parameters;

    // Create an entry point and a conference parameter.
    var phoneEntryPoint = ConferenceDataService.newEntryPoint()
      .setEntryPointType(ConferenceDataService.EntryPointType.PHONE)
      .setUri('tel:' + parameters['phone']);

    var adminEmailParameter = ConferenceDataService.newConferenceParameter()
        .setKey('adminEmail')
        .setValue(parameters['adminEmail']);

    // Create a conference data object to set to this Calendar event.
    var conferenceData = ConferenceDataService.newConferenceDataBuilder()
        .addEntryPoint(phoneEntryPoint)
        .addConferenceParameter(adminEmailParameter)
        .setConferenceSolutionId(1)
        .build();

    return CardService.newCalendarEventActionResponseBuilder()
        .setConferenceData(conferenceData)
        .build();
  }

Я опубликовал это дополнение из Publi sh -> Развертывание из menifest .

Выполнение этого кода вызывает ошибку из ReferenceError: ConferenceDataService не определен .

Я искал все возможные ссылки, но не смог найти никакого решения. Пожалуйста, предложите мне правильное решение для этого.

1 Ответ

1 голос
/ 27 апреля 2020

Согласно этому комментарию к этой проблеме здесь , похоже, что в этом отношении произошли изменения.

При тестировании вышеуказанного кода ReferenceError: ConferenceDataService is not defined. больше не отображается и код работает должным образом.

Для других методов, указывающих c на ConferenceDataService, вы можете проверить документацию здесь .

Ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...