Объект InlineResponse2002 не может быть подписан |

Код:

import time
import giphy_client
from giphy_client.rest import ApiException
from pprint import pprint

def giphyapi():
    api_instance = giphy_client.DefaultApi()
    api_key = '################################'
    tag = 'test'
    rating = 'pg-13'
    fmt = 'json'

    try:
        # Search Endpoint
        api_response = api_instance.gifs_random_get(api_key, tag = tag, rating = rating, fmt = fmt)
        ## here’s where I want to do stuff with the data
    except ApiException as exc:
        print("Exception when calling DefaultApi->gifs_random_get: %s
" % exc)
    return None

giphyapi()

Здравствуй! Как я могу преобразовать api_instance в нечто манипулируемое, такое как dict?
Это та же самая проблема, что и эта , но решение, найденное автором вопроса, к сожалению, не работает для меня.

Я попытался print(api_response.data[0].images.type) , но это бросило эту ошибку:
TypeError: объект «RandomGif» не может быть подписан

Я также попробовал это:

for block in api_response["data"]:
    giftype = block["type"]

Но это бросило эту ошибку : TypeError : объект «InlineResponse2002» не является подписным

Я использую Python 3.8.1, и я также использую giphy-python-client . Вот список моделей RandomGif . В двух примерах, которые я попробовал выше, я пытаюсь выбрать type .

Любая помощь с благодарностью! ?

Всего 1 ответ


Я решил это благодаря shoot2thr1ll284 на Reddit.

Вы просто используете api_response.data.type и заменяете type на свойство, которое хотите получить.


Есть идеи?

10000