Форум программистов, компьютерный форум, киберфорум
Python: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 08.10.2018
Сообщений: 26
VK API

KeyError: 'response'

06.03.2021, 14:01. Показов 4333. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
9
10
11
token = ''
source_uid = ''
target_uid = ''
r = requests.get('https://api.vk.com/method/friends.getMutual',
                 params={
                     'access_token': token,
                     'v': 5.124,
                     'source_uid': source_uid,
                     'target_uid': target_uid
                 }).json()['response']
print(r)
Почему код выдает ошибку KeyError: 'response'?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.03.2021, 14:01
Ответы с готовыми решениями:

KeyError 'updates'
Со временем код (через 1-2 часа) выкидывает ошибку KeyError 'updates'. Перехват ошибки по типу: try: ... except Exception: ...

После оплаты через pyqiwip2p выходит ошибка KeyError: 'email' в строке print(p2p.check(bill_id=new_bill.bill_id).status)
Вот отрывок кода с pyqiwip2p: new_bill = p2p.bill(bill_id=randint(100000000, 999999999), amount=sumcost, lifetime=120) ...

<Response 429>
При парсинге сайта

5
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
06.03.2021, 14:03
Цитата Сообщение от kirllsor11 Посмотреть сообщение
Почему код выдает ошибку KeyError: 'response'?
очевидно почему -нет такого ключа в словаре!
0
0 / 0 / 0
Регистрация: 08.10.2018
Сообщений: 26
06.03.2021, 14:05  [ТС]
Welemir1, ну это понятно. как сделать чтобы этой ошибки не было?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
06.03.2021, 14:07
kirllsor11, ахахах, спасибо, ты веселый)
Очевидно как -просить только те ключи, что в словаре есть! Ты его принтом выведи да посмотри содержимое. Сколько у тебя опыта в питоне, прежде чем ты взялся за апи и ботов?
0
0 / 0 / 0
Регистрация: 08.10.2018
Сообщений: 26
06.03.2021, 14:38  [ТС]
Welemir1, Рад что смог развеселить вас. проблему решил
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
06.03.2021, 15:50
Цитата Сообщение от kirllsor11 Посмотреть сообщение
как сделать чтобы этой ошибки не было?
Нужно писать код, который не вызывает этой ошибки.
Очевидно, что надеяться на то, что в словаре будут все нужные ключи, наивно.
Нормальные программисты поэтому пишут примерно такой код:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def vk(url, data):
    
    resp  = requests.post(url,data=data)
    if resp.status_code !=  200:
        return [], resp.status_text
    
    answer = resp.json()
    if 'error' in answer:
        return [], answer["error"]
    
    return answer.get('response',[]), None
 
...
data, err = vk(url, data)
    
if err is None:
    pprint(data)
else:
    print(err)
В случае ошибки от vk - будет выведена эта ошибка, вместо того, чтобы бесполезно упасть на ошибке отсутствия ключа.
Тебя не зря спросили - знаешь ли вообще Python, потому что если не знаешь, то будешь вечно допускать такие наивные ошибки и ничему не научишься.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.03.2021, 15:50
Помогаю со студенческими работами здесь

Ошибка response.json
Здравствуйте, есть развернутый на localhost'е сайт пытаюсь простым брутфорсом подобрать пароль, вот код: import requests l='root' for...

Jasmine получить response.status
Добрый день. Может кто-нибудь сталкивался: Как получить ответ со статусом прямо из сообщения MT, которое приходит при отправке...

Запрос Post выдает Response 500
import requests from bs4 import BeautifulSoup s = requests.Session() data = {&quot;login&quot;:&quot;login&quot;, &quot;password&quot;:&quot;password&quot;} headers = {...

Ошибка raise KeyError(key) from err KeyError: 0
Всем доброго времени суток! Нужна помощь с сохранением в excel датафрейма. У меня есть вот такая функция: def kal4(freq_info,...

Свойства Response.Expires = 60 Response.Expiresabsolute = Now() - 1 Response.AddHeader 'pragma','no-cache' Response.AddHeader 'cache-control','p
Нашел в Инете строчки для запрета буфиризации и кэширования страници бравзером Response.Expires = 60 Response.Expiresabsolute = Now() -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru