---
title: "#30DaysOfStreamlit Day26 Bored API アプリを構築して API を使用する方法"
description: "この記事では、#30DaysOfStreamlitの内容の紹介を行います。\nBored APIを利用してStreamlitでAPIを利用するアプリケーションを構築します。\nAPIの利用方法を紹介します。\n\nBored APIについては、こちらを参照してください。"
---

[AIDXナレッジ - INSIGHT LAB](https://knowledge.insight-lab.co.jp/aidx)

# [#30DaysOfStreamlit Day26 Bored API アプリを構築して API を使用する方法](https://knowledge.insight-lab.co.jp/aidx/30daysofstreamlit-day26-bored-api-アプリを構築して-api-を使用する方法)

 作成者: [Budo Ogimoto](https://knowledge.insight-lab.co.jp/aidx/author/budo)｜2023年12月19日

## はじめに

この記事では、#30DaysOfStreamlitの内容の紹介を行います。  
#30DaysOfStreamlitについては[コチラの記事](https://knowledge.insight-lab.co.jp/aidx/30daysofstreamlitをやってみた)を参照してください。

Bored APIを利用してStreamlitでAPIを利用するアプリケーションを構築します。 APIの利用方法を紹介します。  
Bored APIについては、[こちら](http://www.boredapi.com/)を参照してください。

## 構築の目標

Bored APIを操作できるUIを実装します。  
アクティビティタイプを設定してAPIを呼び出して返ってきたJSONを表示します。

## アプリケーションの構築

下記のようなPythonスクリプトを準備します。

上記のスクリプトを実行すると下記のような画面が展開されます。

左側のサイドバーよりactivity typeを選択するとオススメの行動がレコメンドされます。  
また、JSON dataを押下すると受信したJSONデータを見ることができます。

## コードの解説

まずは、必要なライブラリのインポートとページのタイトルを設定します。

次にAPIのパラメータをユーザーが入力できる形にします。  
今回は、アクティビティタイプを選択してAPIに入力するので、サイドバー上にアクティビティタイプを選択できるようにst.sidebar.selectboxを使います。

その後、APIを叩く為にrequestsを使い通信を行います。   
suggested\_activityという変数に返ってきたJSONデータを格納します。

出力側を構築していきます。   
まずは、アプリケーションの概要説明と取得したJSONを表示するウィジェットを実装します。 st.columnsを利用して左右に表示します。

最後に出力項目を指定してウィジェットに出力していきます。   
入手できる値はカテゴリと数値なのでst.metricを使って指標として表します。

[完全な記事を表示](https://knowledge.insight-lab.co.jp/aidx/30daysofstreamlit-day26-bored-api-アプリを構築して-api-を使用する方法)

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Budo Ogimoto"
  },
  "dateModified" : "2023-12-19T03:17:27.996Z",
  "datePublished" : "2023-12-19T03:17:27Z",
  "headline" : "#30DaysOfStreamlit Day26 Bored API アプリを構築して API を使用する方法",
  "image" : {
    "@type" : "ImageObject",
    "height" : 1531,
    "url" : "https://download.insight-lab.co.jp/hubfs/30days_logo.png",
    "width" : 3121
  },
  "mainEntityOfPage" : "https://knowledge.insight-lab.co.jp/aidx/30daysofstreamlit-day26-bored-api-アプリを構築して-api-を使用する方法",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : 60,
      "url" : "/hs/hsstatic/content_shared_assets/static-1.4092/img/default-amp-logo.png",
      "width" : 60
    },
    "name" : "AIDXナレッジ - INSIGHT LAB"
  }
}
```