Skip to content

Instantly share code, notes, and snippets.

@randavidovitz
Created December 2, 2014 02:39
Show Gist options
  • Save randavidovitz/11539f3cfb2b482776c4 to your computer and use it in GitHub Desktop.
Save randavidovitz/11539f3cfb2b482776c4 to your computer and use it in GitHub Desktop.
sample service that wrap the google client API
<script src="https://apis.google.com/js/client.js?onload=init"></script>
var init = function() {
window.initGapi();
}
angular.module('MyModule', [])
.service('gapiService', function($q,$rootScope, $window) {
var service = $rootScope.$new(true);
var youtubeAPIready = $q.defer();
console.log('Create initiGapi method');
$window.initGapi = function() {
service.initGapi();
}
service.initGapi = function() {
gapi.client.setApiKey('THEKEY');
gapi.client.load('youtube', 'v3', function() {
service.$apply(youtubeAPIready.resolve());
});
}
service.getActivities = function () {
var that = this;
var deferred = $q.defer();
youtubeAPIready.promise.then(function () {
request = gapi.client.youtube.activities.list({
part: 'snippet,contentDetails',
channelId: 'UChYheBnVeCfhCmqZfCUdJQw',
});
request.execute(function (data) {
deferred.resolve(data);
}, function (response) {
deferred.reject(response);
});
});
return deferred.promise;
}
return service;
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment