YouTube Data API V3を使用して、チャンネルからデータを取得しようとしています。
そのためにはチャンネルIDが必要です。
YouTubeアカウントからチャンネルIDを見つけようとしましたが、あらゆる方法で失敗しました。
だれかが1つのヒントを持っているなら、私は信じられないほど嬉しいです。
これは、データを取得するために使用しているURLです:
https://www.googleapis.com/youtube/v3/channels ?id= fjTOrCPnAblTngWAzpnlMA&key= {YOUR_API_KEY}&part = snippet、contentDetails、statistics
IDはチャネルID用で、key、 {YOUR_API_KEY}を、Google APIコンソールで生成されたAPI KEYに置き換えています。
私のチャンネルIDは:ではありません
-klauskkpm
-クラウスマチャド
[email protected]
-fjTOrCPnAblTngWAzpnlMA
チャンネルIDを取得するには、チャンネルページのソースコードを表示し、data-channel-external-id="UCjXfkj5iapKHJrhYfAF9ZGg"
または"externalId":"UCjXfkj5iapKHJrhYfAF9ZGg"
を見つけます。
UCjXfkj5iapKHJrhYfAF9ZGg
は、探しているチャンネルIDです。
簡単な答えは、YouTubeチャンネルIDはUC+ {YOUR_ACCOUNT_ID}です。 YouTubeチャンネルIDまたはYouTubeアカウントIDを確認するには、 詳細設定 で 設定ページ にアクセスしてください
また、チャンネルのYouTubeチャンネルIDを知りたい場合は、 solution @mjlescanoが使用できます。
https://www.googleapis.com/youtube/v3/channels?key={YOUR_API_KEY}&forUsername={USER_NAME}&part=id
これが何か助けになるとしたら、別のトピックで解決済みとマークされたユーザーがいます 右 。
http://johnnythetank.github.io/youtube-channel-name-converter(YouTubeユーザー名からチャンネルIDへのコンバーター)
このAPI呼び出しに基づくコンバーター:https://www.googleapis.com/youtube/v3/channels?key={YOUR_API_KEY}&forUsername={USER_NAME}&part=id
次のように、フィルター「forUsername」を使用して、ユーザー名(この場合は「klauskkpm」)でチャネルIDを取得できます。
https://www.googleapis.com/youtube/v3/channels?key={YOUR_API_KEY}&forUsername=klauskkpm&part=id
詳細はこちら: https://developers.google.com/youtube/v3/docs/channels/list
API呼び出しを行わずに、YouTube UIからhttp://www.youtube.com/user/klauskkpm
などの「ユーザー」URLを持つ任意のチャンネルページで、チャンネルの動画(「VIDEOS」タブ)をクリックし、動画のチャンネル名をクリックします。次に、「https://www.youtube.com/channel/UCfjTOrCPnAblTngWAzpnlMA
」などの「チャンネル」URLでページにアクセスできます。
YouTubeチャンネルのチャンネルIDを見つける最も簡単な方法を見つけました。
ステップ1:そのチャンネルのビデオを再生します。
ステップ2:その動画の下のチャンネル名をクリックします。
ステップ3:ブラウザーのアドレスバーを確認します。
https://www.youtube.com/account_advanced は、チャンネルIDとユーザーIDの両方を提供するようになりました。 https://developers.google.com/youtube/v3/guides/working_with_channel_ids もご覧ください。
2017年の更新: ヘンリーの答え はここから少し外れているかもしれません。ソースコードでdata-channel-external-id
を探すと、複数のIDが見つかる場合があり、実際にはfirstの出現のみが正しいです。代わりにchannel_id
で使用されている<link rel="alternate" type="application/rss+xml" title="RSS" href="https://www.youtube.com/feeds/videos.xml?channel_id=<VALUE_HERE">
を取得します。
チャンネルIDを取得するには、チャンネルIDとプレイリストIDを提供する次のリクエストを実行します。
https://www.googleapis.com/youtube/v3/channels?part=contentDetails%2C+statistics%2Csnippet&mine=true&key= {YOUR_API_KEY}
mineパラメーターは、現在の許可ユーザーを意味します
チャンネルIDにはUC + {アカウントID}が付いているため、ログイン中に取得されるため、上記のURLをリクエストせずにこれを使用することもできますGoogle IDを使用してチャネルAPIを直接呼び出し、UCをプレフィックスとして付けることができます。
https://www.googleapis.com/youtube/v3/channels?part=contentDetails%2C+statistics%2Csnippet&id=UC {アカウントID}&key = {YOUR_API_KEY}
alternativeは、APIなしでチャンネルURLでYouTubeチャンネルIDを取得します:
function get_youtube_channel_ID($url){
$html = file_get_contents($url);
preg_match("'<meta itemprop=\"channelId\" content=\"(.*?)\"'si", $html, $match);
if($match && $match[1]);
return $match[1];
}
2019更新:
このメソッドは、youtube.com/channel-name
などのチャネルで機能しますが、youtube.com/user/xx
アドレスでテストしていません。
Youtubeチャンネルに移動し、jsコンソールでこれを実行します
document.querySelector('link[rel=canonical]').getAttribute('href').split('/').pop()
または、次のようなAPIから取得できます。
https://www.googleapis.com/youtube/v3/search?part=snippet
&maxResults=1
&type=channel
&q=CHANNEL_NAME
&key=API_KEY