2013-02-07 5 views
2

YouTube API 3.0을 사용 중이며 작성자별로 동영상을 검색하고 싶습니다. 나는 어떻게 이것을 성취 할 것인가?저자별 YouTube 동영상 검색

저는 파이썬 클라이언트 라이브러리를 사용하고 있습니다.

+0

하지만 중 검색이나 동영상 API에 저자 쿼리 매개 변수를 찾을 수 없습니다 : 소스는 구글 코드에 의해 업로드 된 동영상을 얻을 수 있습니다. 하지만 v2에는 동영상 API에 제작자 매개 변수가 있습니다. https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters https://developers.google.com/youtube/v3/docs/videos/list – Ibrahim

+0

API2에서 수행중인 작업을 게시하여 당신이하려는 일에 대해 더 잘 알고 있어야합니다. 또한 해결하려는 전반적인 문제에 대한 자세한 정보를 게시 할 경우 우리는 [XY 문제]를 피할 수 있습니다 (http://meta.stackexchange.com/questions/66377/what-is-the- xy-problem) s – inspectorG4dget

+0

http://stackoverflow.com/questions/3857917/python-search-playlists-on-youtube –

답변

5

YouTube Data API v3에서는 사용자 채널에서 UploadsPlaylist를 찾아야하며, 해당 채널에 대한 PlaylistItem을 조회합니다.

예를 들어, GoogleDevelopers 업로드를 찾으려면 먼저 해당 channel_id를 찾으십시오.

당신이 사용자의 CHANNEL_ID를 모르는 경우, 당신은 ('채널'친절 세트) 검색 자원에 전화를해야합니다 그것을 찾을 수 있습니다 :

https://www.googleapis.com/youtube/v3/search?part=id&maxResults=1&q=GoogleDevelopers&type=channel&key={YOUR_API_KEY}

반환 :

{ 
"kind": "youtube#searchListResponse", 
"etag": "\"Sja0zsjNVqBAv0D_Jpz6t1GyTzk/fm4P2RLxOAO0xdASI5BagD86H8A\"", 
"pageInfo": { 
    "totalResults": 21, 
    "resultsPerPage": 1 
}, 
"nextPageToken": "CAEQAA", 
"items": [ 
    { 
    "id": { 
    "kind": "youtube#channel", 
    "channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw" 
    }, 
    "kind": "youtube#searchResult", 
    "etag": "\"Sja0zsjNVqBAv0D_Jpz6t1GyTzk/q4hYefapiMoagc7b_3bYaVZvSJo\"" 
    } 
] 
} 

당신이 볼 수 있듯이, 자신의 채널 ID = UC_x5XG1OV2P6uZZ5FSM9Ttw

자신의 업로드 재생 목록을 찾을 수있는 채널 자원의 contentDetais 부분에 전화 걸기 :

https://www.googleapis.com/youtube/v3/channels?part=contentDetails&id=UC_x5XG1OV2P6uZZ5FSM9Ttw&key={YOUR_API_KEY}

어떤이 반환됩니다

{ 
"kind": "youtube#channelListResponse", 
"etag": "\"Sja0zsjNVqBAv0D_Jpz6t1GyTzk/ZouMU1qBRkF6DgacOLHE88Xk144\"", 
"pageInfo": { 
    "totalResults": 1, 
    "resultsPerPage": 1 
}, 
"items": [ 
    { 
    "id": "UC_x5XG1OV2P6uZZ5FSM9Ttw", 
    "kind": "youtube#channel", 
    "etag": "\"Sja0zsjNVqBAv0D_Jpz6t1GyTzk/khrrkvk8Tl0XWRZoN66zqloSJM4\"", 
    "contentDetails": { 
    "relatedPlaylists": { 
    "uploads": "UU_x5XG1OV2P6uZZ5FSM9Ttw" 
    } 
    } 
    } 
] 
} 

을 당신이 볼 수 있듯이, 자신의 재생 목록 ID가 UU_x5XG1OV2P6uZZ5FSM9Ttw입니다.

PlaylistItems에 다시 전화 해주세요. 내가 API v3의 탐구했다

https://www.googleapis.com/youtube/v3/playlistItems?part=id%2Csnippet%2CcontentDetails&playlistId=UU_x5XG1OV2P6uZZ5FSM9Ttw&key={YOUR_API_KEY}

+0

매트, 자세한 답장을 보내 주셔서 감사합니다. 그러나 여기에 작은 관심사가 있습니다. q = GoogleDevelopers를 전달하고 있으며 이는 모든 채널을 검색한다는 의미입니다. 최대 결과를 높이면 https://www.googleapis.com/youtube/v3/search?part=id&maxResults=10&q=GoogleDevelopers&type=channel&key={YOUR_API_KEY} 결과가 더 많이 표시됩니다. – Ibrahim

+2

많은 Google 직원과 통화했습니다. 이 지난 주에 대해 그들이 사용자 이름에서 채널 ID를 얻는 가장 좋은 방법이라고 확신했습니다.나에게도 약간 이상하게 보입니다.하지만 사용자의 검색어가 채널의 사용자 이름과 직접 일치하면 항상 첫 번째 결과가됩니다. 나는 단지 그것이 문서화 되었으면 좋겠다. –

+0

v3 사용자 엔티티에 관해 알기 전까지는 언제나 v2 사용자 피드를 사용하여 찾을 수있다. xml에서 구문 분석하면됩니다. http://gdata.youtube.com/feeds/api/users/googleDevelopers?v=2 –