Как исправить ошибку «Получено от соединителей» с помощью Microsoft Teams - PullRequest
0 голосов
/ 11 июля 2019

Я разрабатываю собственный коннектор для команд в личном приложении.Когда я сохраняю его, у меня появляется такая ошибка: «Невозможно сохранить», «Конфигурация соединителя»,
и это в консоли: Ошибка консоли Я следовал примеру Microsoft, здесь это setup.cshtml:

"microsoftTeams.settings.registerOnSaveHandler(function (saveEvent) {
    microsoftTeams.getContext(function (context) {
        url = "https://mydomain.azurewebsites.net/Connector/Setup.cshtml";
        entity = 'connector-officedev-' + context.teamId + '-' + context.channelId;

        microsoftTeams.settings.setSettings({
            entityId: entity,
            contentUrl: url,
            configName: entity
        });
    });
    microsoftTeams.settings.getSettings(function (settings) {
        //var webhookUrl = settings.webhookUrl;
        $.ajax({
            url: 'Save',
            type: 'POST',
            contentType: 'application/json',
            data:  JSON.stringify({ urlwebhook :settings.webhookUrl }),
            success: function (data) {
                $("#webhookUrl").text(data);
                console.log('webhook created successfully.');
            },
            error: function (errorThrown) {
                $("#webhookUrl").text("Error");
                console.log('error', errorThrown);
            }
        });

    });

    saveEvent.notifySuccess();
});
microsoftTeams.settings.registerOnRemoveHandler(function (removeEvent) {
    var removeCalled = true;
});"

У меня было "https://mydomain.azurewebsites.net/Connector/Setup.cshtml", в допустимых доменах в панели разработчика Connectors. Я не знаю, почему это не работает. Спасибо за вашу помощь

ОБНОВЛЕНИЕ 1 При первом нажатии «Сохранить» возникает ошибка, но при втором щелчке она работает, и я могу отправить сообщение на веб-крючок

ОБНОВЛЕНИЕ РЕШЕНИЯ Я нахожурешение, saveEvent.notifySucess (); должно быть в функции успеха вызова ajax, например:

$.ajax({
        url: 'Save',
        type: 'POST',
        contentType: 'application/json',
        data:  JSON.stringify({ urlwebhook :settings.webhookUrl }),
        success: function (data) {
            $("#webhookUrl").text(data);
            console.log('webhook created successfully.');
            saveEvent.notifySuccess();
        },
        error: function (errorThrown) {
            $("#webhookUrl").text("Error");
            console.log('error', errorThrown);
            saveEvent.notifyFailure("error");
        }
    });

Вам также необходимо поместить notifySuccess в RemoveHandler следующим образом:

microsoftTeams.settings.registerOnRemoveHandler(function (removeEvent) {
    var removeCalled = true;
    removeEvent.notifySuccess();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...