262

We need a video list by channel name of YouTube (using the API).

We can get a channel list (only channel name) by using the below API:

https://gdata.youtube.com/feeds/api/channels?v=2&q=tendulkar

Below is a direct link of channels

https://www.youtube.com/channel/UCqAEtEr0A0Eo2IVcuWBfB9g

Or

WWW.YouTube.com/channel/HC-8jgBP-4rlI

Now, we need videos of channel >> UCqAEtEr0A0Eo2IVcuWBfB9g or HC-8jgBP-4rlI.

We tried

https://gdata.youtube.com/feeds/api/videos?v=2&uploader=partner&User=UC7Xayrf2k0NZiz3S04WuDNQ https://gdata.youtube.com/feeds/api/videos?v=2&uploader=partner&q=UC7Xayrf2k0NZiz3S04WuDNQ

But, it does not help.

We need all the videos posted on the channel. Videos uploaded to a channel can be from multiple users thus I don't think providing a user parameter would help...

4

17 に答える 17

263

YouTube Data APIを確認する必要があります。API へのアクセス方法に関するドキュメントがあります。クライアント ライブラリもあります。

リクエストを自分で行うこともできます。チャンネルから最新の動画を取得する URL の例を次に示します。

https://www.googleapis.com/youtube/v3/search?key={your_key_here}&channelId={channel_id_here}&part=snippet,id&order=date&maxResults=20

その後、JSON動画の ID と詳細を含む を受け取り、次のように動画の URL を作成できます。

http://www.youtube.com/watch?v={video_id_here}
于 2013-12-27T06:00:00.547 に答える
176

まず、ユーザー/チャンネルからのアップロードを表すプレイリストの ID を取得する必要があります。

https://developers.google.com/youtube/v3/docs/channels/list#try-it

forUsername={username}パラメータでユーザー名を指定mine=trueするか、独自のものを取得するように指定できます (最初に認証する必要があります)。part=contentDetailsプレイリストを見るために含めます。

GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=jambrose42&key={YOUR_API_KEY}

結果"relatedPlaylists"には"likes""uploads"プレイリストが含まれます。その"upload"プレイリスト ID を取得します。"id"また、将来の参照用に channelID であることに注意してください。

次に、そのプレイリスト内の動画のリストを取得します。

https://developers.google.com/youtube/v3/docs/playlistItems/list#try-it

プレイリスト ID をドロップするだけです。

GET https://www.googleapis.com/youtube/v3/playlistItems?part=snippet%2CcontentDetails&maxResults=50&playlistId=UUpRmvjdu3ixew5ahydZ67uA&key={YOUR_API_KEY}
于 2015-01-10T02:27:01.743 に答える
123

v3YouTube API でチャンネル内のすべての動画を一覧表示する方法を示す Google Developers の動画を次に示します。

次の 2 つの手順があります。

  1. チャネルを照会して「アップロード」ID を取得します。例えばhttps://www.googleapis.com/youtube/v3/channels?id={channel Id}&key={API key}&part=contentDetails

  2. この「アップロード」ID を使用して PlaylistItems をクエリし、動画のリストを取得します。例えばhttps://www.googleapis.com/youtube/v3/playlistItems?playlistId={"uploads" Id}&key={API key}&part=snippet&maxResults=50

于 2016-04-03T15:33:57.417 に答える
7

以下のようにしてみてください。それはあなたを助けるかもしれません。

https://gdata.youtube.com/feeds/api/videos?author=cnn&v=2&orderby=updated&alt=jsonc&q=news

ここでは、チャンネル名を指定できるように作成し、検索キーワードを指定できるように「q」を指定します。

于 2014-01-27T11:12:05.180 に答える
6

3つのステップで:

  1. サブスクリプション: リスト -> https://www.googleapis.com/youtube/v3/subscriptions?part=snippet&maxResults=50&mine=true&access_token= {oauth_token}

  2. チャンネル: リスト -> https://www.googleapis.com/youtube/v3/channels?part=contentDetails&id= {channel_id}&key={YOUR_API_KEY}

  3. PlaylistItems: リスト -> https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId= {playlist_id}&key={YOUR_API_KEY}

于 2015-07-28T15:19:59.847 に答える
1

Python でのサンプル ソリューション。このビデオからのヘルプ: video 他の多くの回答と同様に、アップロード ID は最初にチャネル ID から取得されます。

urllib.request をインポート
json をインポート

キー = "YOUR_YOUTUBE_API_v3_BROWSER_KEY"

#チャンネルのリスト : チャンネル ID またはユーザー名を貼り付ける場合は言及してください - "id" または "forUsername"
ytids = [["bbcnews","forUsername"],["UCjq4pjKj9X4W9i7UnYShpVg","id"]]

ニュースタイトル = []
ytids の ytid、ytparam の場合:
    urld = "https://www.googleapis.com/youtube/v3/channels?part=contentDetails&"+ytparam+"="+ytid+"&key="+key
    URL として urllib.request.urlopen(urld) を使用:
        datad = json.loads(url.read())
    uploadsdet = datad['items']
    #チャンネル ID からアップロード ID を取得
    uploadid = uploadsdet[0]['contentDetails']['relatedPlaylists']['uploads']

    #リスト取得
    urld = "https://www.googleapis.com/youtube/v3/playlistItems?part=snippet%2CcontentDetails&maxResults=50&playlistId="+uploadid+"&key="+key
    URL として urllib.request.urlopen(urld) を使用:
        datad = json.loads(url.read())

    datad['items'] 内のデータの場合:
        ntitle = データ['スニペット']['タイトル']
        nlink = data['contentDetails']['videoId']
        newstitles.append([nlink,ntitle])

リンクの場合、ニュースタイトルのタイトル:
    印刷(リンク、タイトル)
于 2019-04-14T08:55:05.890 に答える
-6

ドキュメントに記載されているように (リンク)、チャネル リソース タイプと操作 List を使用して、チャネル内のすべてのビデオを取得できます。この操作は、引数「チャネル ID」を使用して実行する必要があります。

于 2013-10-10T16:46:13.917 に答える