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>







