Google API, самостоятельный проект

Я пытаюсь создать веб-сайт, используя Google, Place API и Geocoding API. Мои запросы работают, однако я получаю ошибку 404, в которой говорится, что доступ разрешен только для профессионалов. У меня есть учетная запись pro для API, и на веб-сайте API говорится, что эти функции включены. Любая помощь будет очень признательна.

Чтобы пользователи могли вводить город (например, Орландо, и получать список баров в радиусе искомого города).

`This is my current view.py (omitted my api key and secret key for security but I have them defined in the beginning`

.....

import requests
from django.http import JsonResponse
import hmac
import hashlib
import base64



def get_random_drink(request):
try:
    url = 'https://www.thecocktaildb.com/api/json/v1/1/random.php'
    response = requests.get(url)
    response.raise_for_status()
    drink_data = response.json()
    return JsonResponse(drink_data)
except requests.exceptions.RequestException as e:
    print(f"Error fetching random drink: {e}")
    return JsonResponse({'error': 'Failed to fetch random drink'}, status=500)

def generate_signature(endpoint):
string_to_sign = f"{API_KEY}{endpoint}"
signature = hmac.new(SECRET.encode(), string_to_sign.encode(), hashlib.sha256)
return base64.b64encode(signature.digest()).decode()

def search_nearby_bars(request, city):
try:
    location_data = get_city_coordinates(city)
    if not location_data:
        return JsonResponse({'error': 'City not found'}, status=404)

    lat, lng = location_data
    radius = 5000  # Set the radius for the nearby search in meters

    # Prepare the request endpoint
    endpoint = f"/maps/api/place/nearbysearch/json?location={lat},{lng}&radius={radius}&type=bar"
    signature = generate_signature(endpoint)

    # Use the Google Places API to search for nearby bars
    url = f"https://maps.googleapis.com{endpoint}&key={API_KEY}&signature={signature}"
    response = requests.get(url)
    response.raise_for_status()
    places_data = response.json()

    # Get a random drink
    drink_data = get_random_drink(request).content

    return JsonResponse({
        'bars': places_data.get('results', []),
        'drink': drink_data  # Include the random drink data
    })

except requests.exceptions.RequestException as e:
    print(f"Error fetching nearby bars: {e}")
    return JsonResponse({'error': 'Failed to fetch nearby bars'}, status=500)

def get_city_coordinates(city):
url = f"https://maps.googleapis.com/maps/api/geocode/json?address={city}&key={API_KEY}"
response = requests.get(url)

if response.status_code == 200:
    results = response.json().get('results')
    if results:
        location = results[0]['geometry']['location']
        return location['lat'], location['lng']

return None``
Вернуться на верх