Skip to content

Instantly share code, notes, and snippets.

@brigand
Forked from morenoh149/gapi-service.js
Last active August 29, 2015 14:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save brigand/0dfcc7e48a2523606e1f to your computer and use it in GitHub Desktop.
Save brigand/0dfcc7e48a2523606e1f to your computer and use it in GitHub Desktop.
'use strict';
app.factory('Gapi', ['$q', function($q) {
var loaded = false, loading = false;
function makeRequest() {
// do it later if we're not loaded yet
if (!loaded) {
return load().then(makeRequest);
}
var request = gapi.client.urlshortener.url.get({
'shortUrl': 'http://goo.gl/fbsS'
});
request.execute(function(response) {
appendResults(response.longUrl);
});
console.log('inside make request');
}
function appendResults(text) {
var results = document.getElementById('results');
results.appendChild(document.createElement('P'));
results.appendChild(document.createTextNode(text));
}
function load() {
if (loading) {
return loading;
}
var defered = $q.defer();
gapi.client.setApiKey('');
gapi.client.load('urlshortener', 'v1', function(){
loaded = true;
defered.resolve(gapi);
});
loading = defered.promise;
return defered.promise;
}
return {
loadgoogle: function() {
return load();
}
};
}]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment