Open5
clojure で youtube api を使って、YOUTUBE動画検索
Google APIキーの取得:
- https://console.cloud.google.com/ ログイン
- 新しいプロジェクトを作成し、プロジェクトを選択
- 「APIとサービス」 > 「ダッシュボード」に移動し、「YouTube Data API v3」を検索して有効にする
- 「認証情報」タブに移動し、新しい認証情報を作成してAPIキーを取得
プロジェクトディレクトリとファイル作成
.
├── .vscode/settings.json
├── deps.edn
└── src
└── myapp
└── core.clj
deps.edn
{:deps {org.clojure/clojure {:mvn/version "1.10.3"}
clj-http/clj-http {:mvn/version "3.12.0"}
org.clojure/data.json {:mvn/version "1.1.0"}
cheshire/cheshire {:mvn/version "5.11.0"}}}
src/myapp/core.clj
(ns myapp.core
(:require [clj-http.client :as http]
[clojure.data.json :as json]
[cheshire.core :refer :all]))
(defn- build-api-url [api-key query]
(str "https://www.googleapis.com/youtube/v3/search?key=" api-key
"&q=" query
"&type=video"
"&part=id,snippet"
"&maxResults=3"))
(def api-key "さっき取得したAPI")
(def query "Clojure Programming course")
(-> (build-api-url api-key query)
http/get
:body
(parse-string true))
- json -> hashmap にする時に
clojure.data.json
を使っていたが、深い階層までキレイに hashmap 化してくれる dakrone/cheshireのほうが使いやすい