1. Jak korzystać z API
Jeśli chcesz filmy z kanału trzeba użyć YouTube API V3.Użyj youtube.search.list
z parametrami:
part=id, snippet
channelId=ID OF THE CHANNEL
order=date
type=video
Jak znaleźć identyfikator kanału YouTube?
można znaleźć identyfikator kanału z jego nazwy kanału z http://mpgn.github.io/YTC-ID/
Więcej informacji youtube.search.list
prawej here.
To jest live demo.
2. Z Javascriptem?
- Najpierw należy utworzyć projekt w wersji console.google.developers.
- Włącz API YouTube API V3 (włączone).
- W części poświadczającej, utwórz publiczny klucz dostępu.
Także jeśli jest to publiczna aplikacja może Cię zainteresować przez: How to protect my public API key ?
Jest to podstawowy kod, aby uzyskać wideo w kanale:
<!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. angularjs?
Z AngularJS należy na przykład utworzyć usługę "google", a można korzystać z usługi w kontrolerach.
Przykładowy przykład: https://gist.github.com/jakemmarsh/5809963 Nie potrzebujesz części z uwierzytelnieniem. Używanie deferred
jest w tym przypadku ważne.
przykład w sterowniku
'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)
});
};
});
przykład w służbie 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;
};
}])
Trzeba dodać tę linię do index.html
<script src="https://apis.google.com/js/client.js?onload=init"></script>
Nadziei to jest hel p!
tylko po to, aby wyświetlić listę filmów z kanałem, który nie musi być uwierzytelniany – mpgn
oh, fajnie! Potem muszę wymyślić, jak poprosić o listę i pokazać ją :) –