Python - API-интерфейс Foursquare "Missing Auth Credentials" безпользовательский поиск? - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь использовать API-интерфейс foursquare впервые и не смог получить код состояния 200 независимо от того, что я пробовал.Используя непосредственно код, предоставленный Foursquare в своих документах, я пытаюсь выполнить запрос без пользователя, заменяя при необходимости мой идентификатор клиента и секрет.

def places_search(term,street, zipcode):
    params = dict(
        client_id='MY_CLIENT_ID',
        client_secret='MY_CLIENT_SECRET',
        v='20181122',
        near=street + 'New York, NY ' + zipcode,
        query=term,
        limit=1
    )
    url = "https://api.foursquare.com/v2/venues/explore"
    resp = requests.get(url=url, params=params)
    #grabbing the JSON result
    data = json.loads(resp.text)

    return data

print(places_search("starbucks","3rd avenue","10009"))

Я получаю следующий код ошибки:

{'meta': {'code': 400, 'errorType': 'invalid_auth', 'errorDetail': 'Missing access credentials. See https://developer.foursquare.com/docs/api/configuration/authentication for details.', 'requestId': '5bf6cbb26a607137bc33b7f2'}, 'response': {}}

Я нахожу это странным, учитывая, что мой запрос не содержит пользователей и точно соответствует тому, как они изложены в документах ... Не могли бы вы понять, что я делаю неправильно?

Спасибо,

1 Ответ

0 голосов
/ 22 ноября 2018

Согласно документации :

Чтобы сделать запрос без пользователя, укажите идентификатор клиента и секретный ключ своего ключа потребителя вместо токена авторизации в URL-адресе запроса.

Например:

https://api.foursquare.com/v2/venues/search?ll=40.7,-74&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&v=YYYYMMDD

Поскольку вы передаете учетные данные в качестве параметров запроса, сервер не может вас аутентифицировать.

...