ユーザーがアップロードしたビデオをV3 APIにリストするにはどうすればよいですか?
最初のステップは、そのユーザーのチャンネルIDを取得することです。 Channels
サービスへのリクエストでこれを行うことができます。これがJSの例です。
var request = gapi.client.youtube.channels.list({
// mine: true indicates that we want to retrieve the channel for the authenticated user.
mine: true,
part: 'contentDetails'
});
request.execute(function(response) {
playlistId = response.result.channels[0].contentDetails.uploads;
});
プレイリストIDを取得したら、それを使用してPlaylistItems
サービスからアップロードされたビデオのリストを照会できます。
var request = gapi.client.youtube.playlistItems.list({
playlistId: playlistId,
part: 'snippet',
});
request.execute(function(response) {
// Go through response.result.playlistItems to view list of uploaded videos.
});
クライアントを使用している場合、Gregの答えは正しいです。基本的なリクエストで同じことを行うには、次の2つのリクエストを作成します。
GET https://www.googleapis.com/youtube/v3/channels
パラメーター付き:
part=contentDetails
mine=true
key={YOUR_API_KEY}
およびヘッダー:
Authorization: Bearer {Your access token}
これから、次のようなJSON応答を取得します。
{
"kind": "youtube#channelListResponse",
"etag": "\"some-string\"",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 1
},
"items": [
{
"id": "some-id",
"kind": "youtube#channel",
"etag": "\"another-string\"",
"contentDetails": {
"relatedPlaylists": {
"likes": "channel-id-for-your-likes",
"favorites": "channel-id-for-your-favorites",
"uploads": "channel-id-for-your-uploads",
"watchHistory": "channel-id-for-your-watch-history",
"watchLater": "channel-id-for-your-watch-later"
}
}
}
]
}
これから、「アップロード」チャネルIDを解析する必要があります。
GET https://www.googleapis.com/youtube/v3/playlistItems
パラメーター付き:
part=snippet
maxResults=50
playlistId={YOUR_UPLOAD_PLAYLIST_ID}
key={YOUR_API_KEY}
およびヘッダー:
Authorization: Bearer {YOUR_TOKEN}
これから、次のようなJSON応答を受け取ります。
{
"kind": "youtube#playlistItemListResponse",
"etag": "\"some-string\"",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 50
},
"items": [
{
"id": "some-id",
"kind": "youtube#playlistItem",
"etag": "\"another-string\"",
"snippet": {
"publishedAt": "some-date",
"channelId": "the-channel-id",
"title": "video-title",
"thumbnails": {
"default": {
"url": "thumbnail-address"
},
"medium": {
"url": "thumbnail-address"
},
"high": {
"url": "thumbnail-address"
}
},
"playlistId": "upload-playlist-id",
"position": 0,
"resourceId": {
"kind": "youtube#video",
"videoId": "the-videos-id"
}
}
}
]
}
この方法を使用すると、任意の言語を使用して情報を取得したり、単にカールすることができます。最初の50件以上の結果が必要な場合は、2番目のリクエストを使用して複数のクエリを実行し、ページリクエストを渡す必要があります。詳細については、 http://developers.google.com/youtube/v3/docs/playlistItems/list をご覧ください。