1

Google ブックス API を使用していて、複数の本を含む検索結果を返そうとしています。これが私がやっていることです:

def lookup(search):
    """Look up search for books."""
    # Contact API
    try:
        url = f'https://www.googleapis.com/books/v1/volumes?q={search}&key=myAPIKey'
        response = requests.get(url)
        response.raise_for_status()
    except requests.RequestException:
        return None

    # Parse response
    try:
        search = response.json()
        return {
            "totalItems": int(search["totalItems"]),
            "title": search["items"][0]['volumeInfo']['title'],
            "authors": search["items"][0]['volumeInfo']['authors'],
        }
    except (KeyError, TypeError, ValueError):
        return None

実際の例

もちろん、これは 1 つの結果しか返しません。ただし、この方法で呼び出そうとすると、次のようになります。

"title": search["items"]['volumeInfo']['title']

何も返しません。

消費される JSON の例。

すべての結果を受け取るにはどうすればよいですか?


私が直面しているもう 1 つの「問題」は、明らかに機能しないため、同じ JSON のサムネイルを取得する方法です。

"thumbnail": search["items"][1]['volumeInfo']['imageLinks']['thumbnail']
4

1 に答える 1