Не факт, что вы возвращаете int
, что это сработало.
Первая попытка не удалась из-за ошибки при вызове
Request.Headers.GetValues("validationToken").FirstOrDefault().ToString();
Скорее всего, исключение нулевой ссылки, потому что вы пытались получить доступ к токену в заголовке, в то время как в связанной документации указано
Kaizala сгенерирует токен проверки и отправит GET-запрос вашему веб-крюку с параметром запроса «validationToken».
упорная мина
, который был исключен в обновленной версии
HttpContext.Request.Query["validationToken"]
Я бы предложил обновить синтаксис до
[HttpGet]
public IActionResult Get() {
var validationToken = Request.Query["validationToken"];
return Content(validationToken);
}
Конечно, вы можете выполнить рефакторинг, чтобы добавить код проверки для ожидаемого параметра строки запроса.
Я предлагаю выше, потому что нет никакой гарантии, что токен будет действительным int
на основании документации. И даже если это так, этот подход был бы более гибким, если бы они когда-либо отказались от использования целых чисел в качестве токенов.
В требованиях просто говорится
Ваша служба должна вернуть токен проверки (полученный в запросе) в теле ответа в виде простого текста
При этом верните только то, что отправлено. Не пытайтесь вносить в него какие-либо изменения.