「トーク:YouTube」の版間の差分
ナビゲーションに移動
検索に移動
(とりあえずコメント) |
細 (コメントの修正) |
||
61行目: | 61行目: | ||
::-----[[利用者:Riyosya0922|Riyosya0922]] ([[利用者・トーク:Riyosya0922|トーク]]) 2020年11月8日 (日) 12:09 (JST) | ::-----[[利用者:Riyosya0922|Riyosya0922]] ([[利用者・トーク:Riyosya0922|トーク]]) 2020年11月8日 (日) 12:09 (JST) | ||
::: | :::'''{コメント}'''とりあえず、Riyosya0922さんの加筆分について、タイトルと署名を追加しました。また、コメントとしては以下の課題をあげときます。[https://stackoverflow.com/questions/4084909/how-to-get-a-count-of-followers-from-twitter-api-and-trendline Twitter]や[https://stackoverflow.com/questions/39822860/grab-instagram-follower-count/39842490 Instagram]と比較すると手間が煩雑なのとセキュリティリスクがあります。 | ||
:::* Youtube Data v3 API | :::* Youtube Data v3 API を利用するためには、[https://developers.google.com/youtube/v3/getting-started?hl=ja こちらのやり方]のようにGoogle のサービスを利用するために、48pediaのオーナーである「48wiki」さんに、API Keyを登録していただかないといけません。 | ||
:::* API Key を使った呼び出しは無料であるとはいえ、上限が決まっている( | :::* API Key を使った呼び出しは無料であるとはいえ、上限が決まっている(無料だと1日10,000回?だったかと)ので、YouTubeのデータはページ呼び出しごとにAPIを叩くのではなく、1日1回APIをバッチ処理で叩いて、登録者数など値をどこかに保存して置く必要があります。で、(<nowiki>{{Youtube登録者数:ID}}</nowiki>みたいにテンプレを使って呼び出すのが理想でしょうね。) | ||
:::* (これがやっかい)API Key 登録は、他の人に悪用されないように、48wikiさん以外から見えないようにする必要があります。うっかり、「<nowiki>https:://48pedia.org/XXX/YYY </nowiki> | :::* (これがやっかい)API Key 登録は、他の人に悪用されないように、48wikiさん以外から見えないようにする必要があります。うっかり、「<nowiki>https:://48pedia.org/XXX/YYY </nowiki>」と叩いたら、誰からでも直接見えてしまうと、悲惨では済まないです。--[[利用者:Motodai|Motodai]] ([[利用者・トーク:Motodai|トーク]]) 2020年11月8日 (日) 22:22 (JST) |
2020年11月8日 (日) 22:40時点における最新版
Youtubeチャンネルの情報取得
@管理者殿、BOT管理者殿、関係者殿各位
Youtubeチャンネルのタイトル、登録者数、再生回数の取得するサンプルコードを記載しましたので、運用時の参考になれば幸いです。
ご確認後、削除(白紙化)のほど、お願い致します。
(小生は、Web系のエンジニアではないので、Pythonで失礼します。)
APIのインストール:
pip install google-api-python-client
Pythonのコード:
from googleapiclient.discovery import build
# Youtube Data API v3のAPIキーを取得が必要
# https://console.cloud.google.com/
YOUTUBE_API_KEY = 'xxxxxxxxxxxxxxxxxxxxxxx'
def youtube_channel_detail(channel_id, api_key):
api_service_name = 'youtube'
api_version = 'v3'
youtube = build(api_service_name, api_version, developerKey=api_key)
search_response = youtube.channels().list(
part='snippet,statistics',
id=channel_id,
).execute()
return search_response['items'][0]
def main():
# 松井珠理奈さんのチャンネルは、チャンネルの登録者数を非公開にしているため、テストケースとして利用
d = youtube_channel_detail('UCA6XWTTtC2f88M2xpmhLRBg', YOUTUBE_API_KEY)
# プロパティの参考ページ
# https://developers.google.com/youtube/v3/docs/channels?hl=ja
# チャンネルのタイトルを取得
title = (d['snippet']['title'])
# チャンネルの登録者数(万人)を取得
# チャンネルの登録者数を非公開を判定
if (d['statistics']['hiddenSubscriberCount']):
subscriberCount = "非公開"
else:
subscriberCount = str(int(d['statistics']['subscriberCount']) / 10000)
# チャンネルの再生回数を取得
viewCount = (d['statistics']['viewCount'])
# チャンネルのタイトルを表示
print(title)
# チャンネルの登録者数(万人)を表示
print(subscriberCount)
# チャンネルの再生回数を表示
print(viewCount)
- -----Riyosya0922 (トーク) 2020年11月8日 (日) 12:09 (JST)
- {コメント}とりあえず、Riyosya0922さんの加筆分について、タイトルと署名を追加しました。また、コメントとしては以下の課題をあげときます。TwitterやInstagramと比較すると手間が煩雑なのとセキュリティリスクがあります。
- Youtube Data v3 API を利用するためには、こちらのやり方のようにGoogle のサービスを利用するために、48pediaのオーナーである「48wiki」さんに、API Keyを登録していただかないといけません。
- API Key を使った呼び出しは無料であるとはいえ、上限が決まっている(無料だと1日10,000回?だったかと)ので、YouTubeのデータはページ呼び出しごとにAPIを叩くのではなく、1日1回APIをバッチ処理で叩いて、登録者数など値をどこかに保存して置く必要があります。で、({{Youtube登録者数:ID}}みたいにテンプレを使って呼び出すのが理想でしょうね。)
- (これがやっかい)API Key 登録は、他の人に悪用されないように、48wikiさん以外から見えないようにする必要があります。うっかり、「https:://48pedia.org/XXX/YYY 」と叩いたら、誰からでも直接見えてしまうと、悲惨では済まないです。--Motodai (トーク) 2020年11月8日 (日) 22:22 (JST)
- {コメント}とりあえず、Riyosya0922さんの加筆分について、タイトルと署名を追加しました。また、コメントとしては以下の課題をあげときます。TwitterやInstagramと比較すると手間が煩雑なのとセキュリティリスクがあります。