【Python】YoutubeDataAPIを使って動画IDからメタ情報を取得する方法

PythonでYoutubeDataAPIを使って動画IDからメタ情報を取得する。

YouTube Data APIのAPIキーの作成

https://zenn.dev/eito_blog/articles/f2d870ffddb636

ライブラリのインストール

pip install google-api-python-client

コレが必要

動画IDからデータを取得する関数を定義

from apiclient.discovery import build

YOUTUBE_API_KEY = '***************************************'
YOUTUBE_API_SERVICE_NAME = 'youtube'

def get_movie_meta(movie_id):

    youtube = build(YOUTUBE_API_SERVICE_NAME, 'v3', developerKey = YOUTUBE_API_KEY)
    videos_response = youtube.videos().list(part='snippet,statistics', id='{},'.format(movie_id)).execute()

    # snippet
    snippetInfo = videos_response["items"][0]["snippet"]
    # 動画タイトル
    movie_title = snippetInfo['title']
    # チャンネル名
    channeltitle = snippetInfo['channelTitle']

    movie_meta = {
    'movie_title': movie_title,
    'channeltitle': channeltitle,
    }

    return movie_meta

取得したメタ情報をビューからテンプレートに渡す

class DetailView(generic.DetailView):
    model = Article
    template_name = 'moviebbs/detail.html'

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)

        self.object = self.get_object()
        movie_id = self.object.movie_id
        movie_meta = get_data_api.get_movie_meta(movie_id)

        context['movie_title'] = movie_meta['movie_title']
        context['channeltitle'] = movie_meta['channeltitle']

動画のメタ情報をテンプレートで表示

<p>{{ movie_title }}</p>
<p>{{ channeltitle }}</p>
このエントリーをはてなブックマークに追加

コメントを残す

頂いたコメントは一読した後表示させて頂いております。
反映まで数日かかる場合もございますがご了承下さい。