views.py нужно остановить одну секунду для googlemap api поблизости поиск? - PullRequest
0 голосов
/ 03 апреля 2020

Я создал с помощью программы API googlemap.
Я не ограничивал API в разработке.

enter image description here

Я развернул программу затем к серверу я включил api restrict.
программа выглядит немного медленной и иногда пропускает ответ.

Мне нужно остановить секунду для программы?
Или настройка плохая?

документ API карты Google

def nearbysearch(apikey, place, centerlatlng, types, radius):
    '''
    dependency
    ----------
    Places API

    parameters
    ----------
    place: tokyo

    return
    --------
    a place\n
    place_id, rating\n
    e.g. CmRaAAAARRAYThPn0sTB1aE-Afx0_..., 4
    '''
    url = 'https://maps.googleapis.com/maps/api/place/nearbysearch/json?' \
        'location={}&radius={}&type={}&keyword={}&' \
        'key={}'
    url = url.format(centerlatlng, radius, types, urllib.parse.quote(place), apikey)
    # print("nearbysearch:", url)
    res = urllib.request.urlopen(url)

    ////////////// time.sleep(1) ////////////// <- need??

    retvalue = None
    if res.code == 200:
        res_json = json.loads(res.read())
        if res_json.get("results"):
            retvalue = res_json["results"]
    return retvalue

запрос: рамен как японский язык в Сибуя

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=35.6557695,139.7017417&radius=1500&type=restaurant&keyword=%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%B3&key=MY_API_KEY

отсутствует отклик:

{
   "error_message" : "API keys with referer restrictions cannot be used with this API.",
   "html_attributions" : [],
   "results" : [],
   "status" : "REQUEST_DENIED"
}

параметр: localhost не работает при ограничении

http://127.0.0.1:8000/*
http://www.henojiya.net/*

enter image description here веб-сайт:

http://www.henojiya.net/gmarker/

Используется около 200 раз. enter image description here

1 Ответ

0 голосов
/ 06 апреля 2020

Вы используете веб-сервис API Nearby Search, который не может работать с ключом API с ограниченным реферером HTTP. Вам нужен второй ключ API, ограниченный IP-адресом.

Кроме того, пожалуйста, не ограничивайте свой ключ API для localhost, если он используется публично в рабочей среде, поскольку это означает, что любой может использовать его (и генерировать платежи на вашем аккаунте) со своего собственного localhost.

Для получения более подробной информации ознакомьтесь с приведенными ниже ответами:
API Карт Google никогда не выполняется
Предупреждение Google Play Security о ключах API Google Cloud Platform (GCP)

Надеюсь, это поможет!

...