Я не понимаю, что такое «Версия» v Я должен указать формат даты - PullRequest
0 голосов
/ 28 сентября 2019

Я использую FOURSQUARE API для извлечения результатов поиска по месту.Я создал URL с помощью client_id и client_secret.Но я не могу знать, какую ДАТУ ВЕРСИИ мне нужно указать.

enter image description here

Пожалуйста, проверьте ошибку на изображении.Я проверил онлайн, но не могу понять это.Любая помощь будет оценена.

1 Ответ

0 голосов
/ 28 сентября 2019

Прежде всего:

Перейти немедленно отозвать и восстановить свой токен , поскольку вы только что опубликовали его в Интернете

Ваш URL содержал только 3 переменные формата (количество{} символов в строке формата)

Вы попытались вставить 4 переменные в строку формата, содержащую 3 отверстия.

.format(
    venue_id, # gets placed in the url after client_id=
    CLIENT_ID,  # gets placed after client_secret=
    CLIENT_SECRET, # placed after v=
    VERSION  # placed nowhere because you don't have a 4th {} in the string.
)

Результат ошибки, который вы видите, показывает, что ваш CLIENT_SECRET являетсяневерная версия.

Возможно, вы нарушаете их Условия использования, публикуя свои клиентские ключи, поэтому вам следует отозвать и восстановить.

Предложение

использовать строки именованного формата

, если вы использовали именованные строки, то вы уменьшите свой шанс совершать подобные ошибки, потому что, если требуемое имя не передается ввы получите ошибку, если вы передадите в extra, нет проблем, но вы не получите эту ошибку смены конфигурации.

url = "https://<stuff>/client_id={client_id}&client_secret={client_secret}&v={version}".format(
    client_id=CLIENT_ID,
    client_secret=CLIENT_SECRET,
    version=VERSION
)

или сокращенные строки формата, где переменные внутри строки формата называются переменнымив вашей программе.

url = f"https://<stuff>/client_id={CLIENT_ID}&client_secret={CLIENT_SECRET}&v={VERSION}"
#     ^
#-----| # f indicates this is an inline format string

...