Я разрабатываю собственный коннектор для команд в личном приложении.Когда я сохраняю его, у меня появляется такая ошибка: «Невозможно сохранить», «Конфигурация соединителя»,
и это в консоли: Ошибка консоли Я следовал примеру 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();
});