#初めに
APIという単語はよく聞くし、どんなものかは何となくは理解していたものの使ったことは無かったので触ってみることにしました。
本題
###APIキーを作成する
先ずは、何をするんだろう?となりますよね。APIキーがいるって話を聞いたことがあったので、その取得からやっていきたいと思います。以下のサイトGoogle Developer Consoleから生成します。そして、ここから新しいプロジェクトを選択しプロジェクト名を付けます。進むと、組織を聞かれますがなしで良いと思います。
次に,使用できるAPIが無いと言われると思うので**+APIとサービスを有効化を押して下さい。すると、APIライブラリへようこそ、と出てきてその下に検索ボックスがありますので、YouTube Data API v3と検索してください。検索結果に出てきましたら、それを押して有効にするという青いボタンを押してください。
上記のことをすると、下のページに飛ぶと思います。そして、Create Credentialsを押してください。
すると、下のようなページが開くと思うので下の画像に合わせて設定してみて下さい。今回は、初めてという事で一般公開データに限定してアクセス出来る項目を選択しました。最後に、必要な認証情報をクリックしてください。これでAPIキーを作成することが出来ました。
APIキーが作成されましたらメモしておいてください。これを外部には公開しないように注意しましょう。
###APIキーを利用していく
それでは、利用して少しデータを取得してみましょう。下のAPI Keyというものを使います。
コピペして以下のコードのYour_API_Keyに貼り付けましょう。また、タイトルを取得したい動画のURLをYoutube_URL**に貼り付けましょう。
import json
import urllib.request
class Helper:
def __init__(self):
pass
def id_from_url(self, url: str):
return url.rsplit("/",1)[1]
class YouTubeStatus:
def __init__(self, url: str):
self.json_url = urllib.request.urlopen(url)
self.data = json.loads(self.json_url.read())
#今回はタイトルのみ取得
def get_video_title(self):
return self.data["items"][0]["snippet"]["title"]
api_key ="Your_API_Key"
YT_URL = "Youtube_URL"
helper = Helper()
video_id = helper.id_from_url(YT_URL)
url = f"https://www.googleapis.com/youtube/v3/videos?part=snippet&id={video_id}&key={api_key}"
main_data = YouTubeStatus(url)
title = main_data.get_video_title()
print(title)
上のコードを実行すると、動画のタイトルを取得できます。ちなみに、上記のコードの変数urlにapi_key,YT_URLの値を代入したURLに飛ぶと、今回取得したjsonデータをブラウザで見ることができます。
#最後に
今回は、初めて使ってみるという事でタイトルのみを取得してみました。他にもカテゴリや動画の説明など様々な要素が取得できます。Youtubeのリンクをcsvなどで読み込めばより多くの動画情報を得られそうで面白いと思いました。今後、何かに生かせればよいなと思いました。