1. Come utilizzare l'API
Se si desidera video di un canale è necessario utilizzare il YouTube API V3.Utilizzare youtube.search.list
con i parametri:
part=id, snippet
channelId=ID OF THE CHANNEL
order=date
type=video
Come trovare ID di un canale di YouTube?
È possibile trovare l'ID di un canale con il suo nome di canale con http://mpgn.github.io/YTC-ID/
Ulteriori informazioni youtube.search.list
destra here.
Questo è un live demo.
2. Con Javascript?
- Innanzitutto, è necessario creare un progetto in console.google.developers.
- Abilita l'API YouTube API V3 (impostato su on).
- Nella parte credenziale, crea una chiave di accesso pubblica.
Anche se si tratta di un'applicazione pubblica, potrebbe interessare da: How to protect my public API key ?
Questo è il codice di base per ottenere i video di un canale:
<!DOCTYPE html>
<html>
<head>
<script src="//code.jquery.com/jquery-2.1.1.min.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
<script>
function googleApiClientReady() {
var apiKey = 'your api key';
gapi.client.setApiKey(apiKey);
gapi.client.load('youtube', 'v3', function() {
request = gapi.client.youtube.search.list({
part: 'snippet',
channelId: 'UCqhNRDQE_fqBDBwsvmT8cTg',
order: 'date',
type: 'video'
});
request.execute(function(response) {
console.log(response);
});
});
}
</script>
<script src="https://apis.google.com/js/client.js?onload=googleApiClientReady"></script>
</body>
</html>
3. Con AngularJS?
Con AngularJS è necessario creare un servizio "google", ad esempio, ed è possibile utilizzare il servizio nei controller.
Un esempio di esempio: https://gist.github.com/jakemmarsh/5809963 Non è necessaria la parte con autenticazione. L'utilizzo di deferred
è importante in questo caso.
Esempio nel controller
'use strict';
function init() {
window.initGapi(); // Calls the init function defined on the window
}
angular.module('team')
.controller('VideosCtrl', function ($scope, $window, $sce, googleService) {
$window.initGapi = function() {
$scope.$apply($scope.getChannel);
};
$scope.getChannel = function() {
googleService.googleApiClientReady().then(function (data) {
$scope.channel = data;
}, function (error) {
console.log('Failed: ' + error)
});
};
});
esempio nel servizio googleService
.service('googleService', ['$http', '$q', function ($http, $q) {
var deferred = $q.defer();
this.googleApiClientReady = function() {
gapi.client.setApiKey('YOU API KEY');
gapi.client.load('youtube', 'v3', function() {
var request = gapi.client.youtube.playlistItems.list({
part: 'snippet',
playlistId: 'PLila01eYiSBjOtR8oqXkY0i5c1QS6k2Mu',
maxResults: 8
});
request.execute(function(response) {
deferred.resolve(response.result);
});
});
return deferred.promise;
};
}])
È necessario aggiungere questa riga al vostro index.html
<script src="https://apis.google.com/js/client.js?onload=init"></script>
Speranza è hel p tu!
solo per elencare i video del canale che non è necessario autenticare – mpgn
oh, bello! Quindi devo solo capire come richiedere l'elenco e mostrarlo :) –