YouTube 채널 이름 (API 사용) 별 비디오 목록이 필요합니다.
아래 API를 사용하여 채널 목록 (채널 이름 만)을 얻을 수 있습니다.
https://gdata.youtube.com/feeds/api/channels?v=2&q=tendulkar
아래는 채널의 직접 링크입니다
https://www.youtube.com/channel/UCqAEtEr0A0Eo2IVcuWBfB9g
또는
WWW.YouTube.com/channel/HC-8jgBP-4rlI
이제 >> UCqAEtEr0A0Eo2IVcuWBfB9g 또는 HC-8jgBP-4rlI 비디오가 필요합니다.
우리는 시도했다
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
그러나 도움이되지 않습니다.
채널에 게시 된 모든 비디오가 필요합니다. 채널에 업로드 된 동영상은 여러 사용자가 올 수 있으므로 사용자 매개 변수를 제공해도 도움이되지 않을 것 같습니다
답변
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}
답변
먼저 사용자 / 채널의 업로드를 나타내는 재생 목록의 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
재생 목록을 삭제하십시오.
GET https://www.googleapis.com/youtube/v3/playlistItems?part=snippet%2CcontentDetails&maxResults=50&playlistId=UUpRmvjdu3ixew5ahydZ67uA&key={YOUR_API_KEY}
답변
다음은 채널에있는 모든 동영상을 나열하는 방법을 보여주는 Google 개발자의 동영상입니다.v3
YouTube API .
두 단계가 있습니다 :
-
‘업로드’ID를 얻기 위해 채널을 쿼리합니다. 예 :
https://www.googleapis.com/youtube/v3/channels?id={channel Id}&key={API key}&part=contentDetails
-
이 “업로드”ID를 사용하여 비디오 목록을 가져 오려면 PlaylistItems를 쿼리하십시오. 예 :
https://www.googleapis.com/youtube/v3/playlistItems?playlistId={"uploads" Id}&key={API key}&part=snippet&maxResults=50
답변
채널 목록을 얻으려면 :
forUserName으로 채널 목록 가져 오기 :
채널 ID 별로 채널 목록을 가져 옵니다 .
채널 가져 오기 섹션 :
재생 목록을 얻으려면 :
채널 ID로 재생 목록 가져 오기 :
가져 오기 재생 목록 으로 pageToken을 가진 채널 ID를 :
https://www.googleapis.com/youtube/v3/playlists?part=snippet,contentDetails&channelId=UCq-Fj5jknLsUf-MWSy4_brA&maxResults=50&key= & pageToken = CDIQAA
PlaylistItems를 가져 오려면 :
PlayListId로 PlaylistItems 목록 가져 오기 :
비디오를 얻으려면 :
동영상 ID로 동영상 목록 가져 오기 :
여러 개의 동영상으로 동영상 목록 가져 오기 id :
의견 목록 받기
비디오 ID로 댓글 목록 가져 오기 :
https://www.googleapis.com/youtube/v3/commentThreads?part=snippet,replies&videoId=el **** kQak & key = A ********** k
채널 ID 별로 댓글 목록 가져 오기 :
https://www.googleapis.com/youtube/v3/commentThreads?part=snippet,replies&channelId=U ***** Q & key = AI ******** k
allThreadsRelatedToChannelId로 댓글 목록 가져 오기 :
https://www.googleapis.com/youtube/v3/commentThreads?part=snippet,replies&allThreadsRelatedToChannelId=UC ***** ntcQ & key = AI ***** k
여기에 모든 API는 Get 접근 방식입니다.
채널 ID를 기준으로 모든 동영상을 직접 가져 오지는 않습니다. 여기서 중요한 점입니다.
통합 https://developers.google.com/youtube/v3/quickstart/ios?ver=swift
답변
아래는 특별한 패키지가 필요하지 않은 파이썬 대안입니다. 채널 ID를 제공하면 해당 채널의 비디오 링크 목록이 반환됩니다. 작동 하려면 API 키 가 필요합니다 .
import urllib
import json
def get_all_video_in_channel(channel_id):
api_key = YOUR API KEY
base_video_url = 'https://www.youtube.com/watch?v='
base_search_url = 'https://www.googleapis.com/youtube/v3/search?'
first_url = base_search_url+'key={}&channelId={}&part=snippet,id&order=date&maxResults=25'.format(api_key, channel_id)
video_links = []
url = first_url
while True:
inp = urllib.urlopen(url)
resp = json.load(inp)
for i in resp['items']:
if i['id']['kind'] == "youtube#video":
video_links.append(base_video_url + i['id']['videoId'])
try:
next_page_token = resp['nextPageToken']
url = first_url + '&pageToken={}'.format(next_page_token)
except:
break
return video_links
답변
채널 아래의 모든 동영상 ID를 반환하는 코드는 다음과 같습니다.
<?php
$baseUrl = 'https://www.googleapis.com/youtube/v3/';
// https://developers.google.com/youtube/v3/getting-started
$apiKey = 'API_KEY';
// If you don't know the channel ID see below
$channelId = 'CHANNEL_ID';
$params = [
'id'=> $channelId,
'part'=> 'contentDetails',
'key'=> $apiKey
];
$url = $baseUrl . 'channels?' . http_build_query($params);
$json = json_decode(file_get_contents($url), true);
$playlist = $json['items'][0]['contentDetails']['relatedPlaylists']['uploads'];
$params = [
'part'=> 'snippet',
'playlistId' => $playlist,
'maxResults'=> '50',
'key'=> $apiKey
];
$url = $baseUrl . 'playlistItems?' . http_build_query($params);
$json = json_decode(file_get_contents($url), true);
$videos = [];
foreach($json['items'] as $video)
$videos[] = $video['snippet']['resourceId']['videoId'];
while(isset($json['nextPageToken'])){
$nextUrl = $url . '&pageToken=' . $json['nextPageToken'];
$json = json_decode(file_get_contents($nextUrl), true);
foreach($json['items'] as $video)
$videos[] = $video['snippet']['resourceId']['videoId'];
}
print_r($videos);
참고 : 로그인 후 https://www.youtube.com/account_advanced 에서 채널 ID를 얻을 수 있습니다
.
답변
다음과 같이 시도하십시오. 도움이 될 수 있습니다.
https://gdata.youtube.com/feeds/api/videos?author=cnn&v=2&orderby=updated&alt=jsonc&q=news
채널 이름과 “q”를 지정하여 검색 키워드를 지정할 수 있습니다.