Обычный вызов API из URL-адреса в API с ключом API работает, но код на C# выдает Not Found по тем же запросам из кода [зC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Обычный вызов API из URL-адреса в API с ключом API работает, но код на C# выдает Not Found по тем же запросам из кода [з

Сообщение Anonymous »

Как это должно вести себя: Я должен получать ответы от API карт Google.
Дело в том, что я получаю ошибку 404; >
Обычный вызов API из URL-адреса в API с ключом API работает, но код на C# выдает Not Found по тем же запросам из кода.
Пожалуйста, ребята, не будьте слишком строгими, — говорят Gemini и GPT. что все в порядке.
Это код одного из моих сервисов в моем приложении микросервисов.
Пытался отладить :пользуюсь логированием, но не получилось, логирование ничего не показывает, также пробовал ставить код в GPT, но он не дает адекватных ответов
Что еще странно, так это я делаю даже не получаю логи с помощью _logger

Код: Выделить всё

    using System.Threading.Tasks;
using DestinationService.Services;
using Microsoft.AspNetCore.Mvc;
using DestinationService.Models;
using System.Collections.Generic;
using System;
using DestinationService.Data;

namespace DestinationService.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class DestinationsController : ControllerBase
{
private readonly DestinationSearchService _searchService;
private readonly AppDbContext _db;
private readonly GoogleMapsService _maps;

public DestinationsController(DestinationSearchService searchService, AppDbContext db, GoogleMapsService maps)
{
_searchService = searchService;
_db = db;
_maps = maps;
}

[HttpGet]
public async Task GetDestinations(
[FromQuery] string query,
[FromQuery] string? location,
[FromQuery] decimal? minCost,
[FromQuery] decimal? maxCost,
[FromQuery] string? activities)
{
var results = await _searchService.SearchDestinations(query, location, minCost, maxCost, activities);
return Ok(results);
}

[HttpPost]
public async Task AddDestination(
[FromBody] Destination destination)
{
if (!string.IsNullOrEmpty(destination.GooglePlaceId))
{
var placeDetails = await _maps.GetPlaceDetails(destination.GooglePlaceId);
destination.PlaceDetails = placeDetails;
}
_maps.DoSomething();

_db.Destinations.Add(destination);
await _db.SaveChangesAsync();
await _searchService.IndexDestination(destination);
return CreatedAtAction(nameof(AddDestination), destination);
}
[HttpGet("search-nearby")]
public async Task SearchNearby(
[FromQuery] string location,
[FromQuery] int radius,
[FromQuery] string? keyword)
{
var results = await _maps.SearchNearby(location, radius, keyword);
return Ok(results);
}
}

}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using DestinationService.Models;
using Nest;
using Elasticsearch.Net;
using Newtonsoft.Json;
using Microsoft.Extensions.Logging.Console;

namespace DestinationService.Services
{
public class GoogleMapsService
{
private readonly string _apiKey;
private readonly ILogger _logger;

public GoogleMapsService(IConfiguration configuration, ILogger logger)
{
_apiKey = configuration["GoogleMaps:ApiKey"];
_logger = logger;
}

public async Task  GetPlaceDetails(string query)
{
var client = new HttpClient();

// First, search for the place using the query
var searchResponse = await client.GetAsync(
$"https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input={Uri.EscapeDataString(query)}&inputtype=textquery&fields=place_id&key={_apiKey}"
);

searchResponse.EnsureSuccessStatusCode();
var searchContent = await searchResponse.Content.ReadAsStringAsync();

// Parse the response to extract the place_id
var searchResult = JsonConvert.DeserializeObject(searchContent);
if (searchResult.Candidates == null || !searchResult.Candidates.Any())
{
throw new Exception("No matching places found for the given query.");
}

var placeId = searchResult.Candidates.First().PlaceId;

// Now, retrieve the place details using the place_id
var detailsResponse = await client.GetAsync(
$"https://maps.googleapis.com/maps/api/place/details/json?place_id={placeId}&key={_apiKey}"
);

detailsResponse.EnsureSuccessStatusCode();
return await detailsResponse.Content.ReadAsStringAsync();
}

public async Task SearchNearby(string location, int radius, string keyword = "")
{
var client = new HttpClient();
_logger.LogInformation($"{client}");
var url = $"https://maps.googleapis.com/maps/api/place/nearbysearch/json?location={location}&radius={radius}&key={_apiKey}";

if (!string.IsNullOrEmpty(keyword))
url += $"&keyword={Uri.EscapeDataString(keyword)}";
_logger.LogInformation($"{url}");
var response = await client.GetAsync(url);

response.EnsureSuccessStatusCode();
return await response.Content.ReadAsStringAsync();
}

public void DoSomething()
{
_logger.LogInformation("This is a log message.");
}
}
}

Подробнее здесь: https://stackoverflow.com/questions/793 ... c-sharp-gi
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Обычный вызов API из URL-адреса в API с ключом API работает, но код на C# выдает Not Found по тем же запросам из кода.
    Anonymous » » в форуме C#
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Маршрутизация Spring Cloud API Gateway выдает 404 NOT FOUND
    Anonymous » » в форуме JAVA
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Токен JWT сгенерирован, но не авторизован и выдает 404 Not Found
    Anonymous » » в форуме C#
    0 Ответы
    74 Просмотры
    Последнее сообщение Anonymous
  • Opencart 1.5.6 404 Not Found, когда URL-адрес оптимизирован для SEO
    Anonymous » » в форуме Php
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Drupal Not Found Запрошенный URL-адрес не найден на этом сервере.
    Anonymous » » в форуме Php
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»