2016-05-03 7 views
0

Я использую новейший API YouTube (v3, я считаю). Это документация, которую я собираюсь с https://developers.google.com/youtube/v3/docs/.Получите пользовательские списки воспроизведения YouTube с помощью электронной почты или имени пользователя с помощью API YouTube

Я в состоянии получить пользователь YouTube плейлистов с идентификатором канала, сделав этот вызов в JavaScript:

function getPlaylists(channelId) { 
    return $.get("https://www.googleapis.com/youtube/v3/playlists", { part: 'snippet', channelId: channelId, key: key }); 
} 

Когда у меня есть плейлисты я могу получить свойство PlaylistID каждого списка воспроизведения. Используя PlaylistID я могу получить все видео для воспроизведения с помощью яваскрипта код:

function getPlaylistVideos(playlistId) { 
    return $.get('https://www.googleapis.com/youtube/v3/playlistItems', { part: 'snippet', playlistId: playlistId, key: key }); 
} 

я действительно не нравится, что я должен сделать пользователь попытаться найти их ChannelId тянуть в свои плейлисты. Я хочу, чтобы пользователь мог просто передать свой адрес электронной почты или имя пользователя для этого. Это возможно? Возможно ли использование аутентификации YouTube? Если нет, есть ли хорошие источники в использовании службы аутентификации YouTube?

+0

Посмотрите 'forUserName' здесь ... https://developers.google. com/youtube/v3/docs/channels/list # parameters – Archer

+0

@Archer У меня такое чувство, что я ослеп. Я дам этот выстрел ... Я уверен, что это сработает. Я дам вам знать – user3788671

+0

Ну, я просто попробовал это, и он не работает. Я нашел этот вопрос http://stackoverflow.com/questions/33451543/youtube-data-api-get-channel-id-from-email, и похоже, что это невозможно в это время без использования OAuth. – user3788671

ответ

2

Вы можете сделать это в три этапа для имени пользователя, конечно, для E-mail требуется Oauth2, так что это невозможно.

Шаг 1

С API v3 YouTube с ресурсом channel.list

Используйте эти параметры, чтобы получить идентификатор канала канала с именем:

part: 'snippet' 
forUsername: 'GoogleDevelopers' 

И вы получите :

"items": [ 
    { 
    "kind": "youtube#channel", 
    "etag": "\"kiOs9cZLH2FUp6r6KJ8eyq_LIOk/lVXRA_GH5DhBajCt1cOeuB4TWbw\"", 
    "id": "UC_x5XG1OV2P6uZZ5FSM9Ttw", 

Теперь вы получаете идентификатор канала UC_x5XG1OV2P6uZZ5FSM9Ttw

Шаг 2

С API v3 YouTube с ресурсом playlist.list

Используйте этот параметры, чтобы получить весь плейлист ID канала:

part: 'snippet' 
channelId: 'UC_x5XG1OV2P6uZZ5FSM9Ttw' 

и вы получите все ID плейлиста

"items": [ 
    { 
    "kind": "youtube#playlist", 
    "etag": "\"kiOs9cZLH2FUp6r6KJ8eyq_LIOk/sxN5XCGvIn_Rnsan74s_A_k16L8\"", 
    "id": "PLOU2XLYxmsIKXYR_3iOWnI4h1Do_aa8dn", 

Теперь Шаг 3

С API v3 YouTube с ресурсом playlist.list

Используйте эти параметры, чтобы получить видео в playlistID канала:

part: 'snippet' 
playlistId: 'PLOU2XLYxmsIKXYR_3iOWnI4h1Do_aa8dn' 

И вы получите все плейлист id

"items": [ 
    { 
    "kind": "youtube#playlistItem", 
    "etag": "\"kiOs9cZLH2FUp6r6KJ8eyq_LIOk/WFwMbOGG8nLHKF8tH1W41WNFJBk\"", 
    "id": "UExPVTJYTFl4bXNJS1hZUl8zaU9Xbkk0aDFEb19hYThkbi41NkI0NEY2RDEwNTU3Q0M2", 
    "snippet": { 
    "publishedAt": "2016-04-18T17:33:55.000Z", 
    "channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw", 
    "title": "#Love4Dev - What Magnus Hyttsten loves most about the power of mobile APIs", 

И вы получаете все видео в этом плейлисте;

Важной частью является шагом один, пользователю нужно только ввести имя пользователя своего канала, как в моем примере: https://www.youtube.com/user/GoogleDevelopers

Смежные вопросы