web-dev-qa-db-ja.com

Youtube API 3が最新の動画を入手

ユーザーのアップロードから最新の10本の動画を取得しようとしています。

今、唯一の問題は、playlistitemsリクエストに表示される唯一の日付がpublishedAtであることです動画がアップロードされたとき-公開された日付ではなく、大きな違いが生まれます。

videoリクエストを介して正しい日付を取得できることに気付きましたが、それを行うのに最適な場所ではないようです。

私が扱っている例を紹介しましょう。

Maroon5チャンネルを見てみましょう。

forUserName:Maroon5VEVO

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

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

ここで私たちがつかむところです:

uploadsId:UUN1hnUccO4FD5WfM7ithXaw

したがって、クエリを実行できます。

GET https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=UUN1hnUccO4FD5WfM7ithXaw&maxResults=50&key= {YOUR_API_KEY}

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

その後、いくつかのビデオを見ることができます。

最新のものを手に入れましょう。私にとってはこれです:

"title": "Maroon 5-This Summer's Gonna Hurt Like A ...(Explicit)"、 "videoId": "Wa64gOwuIyE"

最も重要な :

"publishedAt": "2015-06-01T17:41:58.000Z"、

次のクエリを実行して、このビデオの詳細を取得します。

GET https://www.googleapis.com/youtube/v3/videos?part=snippet&id=Wa64gOwuIyE&key= {YOUR_API_KEY}

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

ここでは...異なる日付でより詳細なビューを取得します。

"publishedAt": "2015-06-01T20:00:01.000Z"、

つまり、再生リストのpublishedAt日付は実際にはアップロードの日付であり、動画が公開された日付ではありません。

最新の10個のアイテムのリストでは、最新のアップロードされたビデオではなく、最新の公開ビデオが必要です。

あなたがそれに取り組む方法を知っているなら、共有してください。

ここに私のスニペットがあります(間違ったpublishedAt日付で作業しています)

 $.get(
        "https://www.googleapis.com/youtube/v3/playlistItems",{
        part : 'snippet',
        maxResults : 10,
        playlistId : UPLOADS_PID,
        key: YOUR_API_KEY},
        function(data) {

            $.each( data.items, function(i, item ) {                

                (...)

            });
        }
    );
13
Proqb

/ searchエンドポイントを使用できると思います。ユーザーのアップロードから最新の10本の動画を取得したいので、プレイリストIDの代わりにチャンネルIDを使用できます。

リクエスト:

GET https://www.googleapis.com/youtube/v3/search?part=snippet&channelId={CHANNEL_ID}&maxResults=10&order=date&type=video&key={YOUR_API_KEY}
25