Python - TypeError: string indices must be integers
Я хочу сделать скрипт для VkMix который будет сам выполнять задания, сначала надо авторизироваться. Авторизация проходит через запрос ссылки. В общем, я получил ответ в виде JSON. Оттуда мне надо достать параметр link. Но при добавлении его в переменную "task" Python жалуется на Python - TypeError: string indices must be integers.
Что я делаю не так?
import requests
import json
req = requests.get("http://vkmix.com/i/?act=auth_by_like&network=vk&identity=id")
data = req.json()
jsonreq = json.dumps(data)
task = json.loads(jsonreq['link'])
Вывод print(data):
{'response': {'photo': 'photo-183961583_457318846', 'link': 'vk.com/photo-1*39*1583_45*31*846'}}
Ответы (1 шт):
Автор решения: insolor
→ Ссылка
Метод .json() возвращает полученный json в виде python объекта (например, словаря или списка). Вы еще зачем-то пытаетесь этот объект преобразовать обратно в json строку, а потом обратно в python объект. Просто обращайтесь к возвращенным данным по ключу:
import requests
import json
req = requests.get("http://vkmix.com/i/?act=auth_by_like&network=vk&identity=id")
data = req.json()
task = data['response']['link'] # с учетом вида полученного словаря из комментария