Я создаю динамическую ссылку firebase из консольного приложения dotnet core. Я могу создавать ссылки от почтальона, однако, когда я отправляю запрос из кода C #, он выдает ошибку неправильного запроса. Мой код выглядит следующим образом
using (var httpClient = new FireBaseHttpClient(_fireBaseClientConfiguration).Create().Result)
{
var path = FireBaseApiRoutes.Shorten.Replace(@"{apiVersion}", _fireBaseClientConfiguration.Value.ApiVersion).Replace(@"{apiKey}", _fireBaseClientConfiguration.Value.ApiKey);
var request = new FireBaseDynamicLinkRequest()
{
longDynamicLink = FireBaseApiConstants.DynamicLinkFormat.Replace(@"{appLink}", _fireBaseClientConfiguration.Value.AppLink).Replace(@"{requestUrl}", HttpUtility.UrlEncode(requestUrl, Encoding.UTF8)),
suffix = new Suffix() { option = "UNGUESSABLE" }
};
var response = await httpClient.PostAsJsonAsync(path, request);
if (response.IsSuccessStatusCode)
{
FireBaseDynamicLinkResponse fbResponse = await response.Content.ReadAsAsync<FireBaseDynamicLinkResponse>();
return new ShortLinkResponse() { LongUrl = requestUrl, ShortUrl = fbResponse.shortLink };
}
else
return null;
}
Метод создания выглядит следующим образом
var client = new HttpClient();
client.BaseAddress = new Uri(_fireBaseClientConfiguration.Value.BaseUrl);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
//client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json; charset=utf-8");
return await Task.Run(() => client);
Никакой другой информации об этой ошибке нет, поэтому любое руководство с этим действительно поможет.