A url shortener and expander powered by Google's URL shortening service
$ npm install goo.gl
npm install -g goo.gl
$ goo.gl www.google.com
http://www.google.com -> http://goo.gl/fbsS
$ goo.gl http://goo.gl/fbsS
http://goo.gl/fbsS -> http://www.google.com/
$ goo.gl www.google.com http://goo.gl/fbsS nba.com
http://goo.gl/fbsS -> http://www.google.com/
http://www.google.com -> http://goo.gl/fbsS
http://nba.com -> http://goo.gl/d1T8
$ goo.gl --key aBcDeFGhIjKLMnOPqRsT www.spotify.com
http://www.spotify.com/ -> http://goo.gl/cJFAL
It'll shorten and/or expand one or more URLs at a time.
Most methods return promises.
var googl = require('goo.gl');
// Set a developer key (_required by Google_; see http://goo.gl/4DvFk for more info.)
googl.setKey('aBcDeFGhIjKLMnOPqRsT');
// Get currently set developer key
googl.getKey();
// Shorten a long url and output the result
googl.shorten('http://www.google.com/')
.then(function (shortUrl) {
console.log(shortUrl);
})
.catch(function (err) {
console.error(err.message);
});
// Expand a goo.gl url and output the result
googl.expand('http://goo.gl/fbsS')
.then(function (longUrl) {
console.log(longUrl);
})
.catch(function (err) {
console.error(err.message);
});
// Expand a goo.gl url and pass userIp for capping purposes
googl.expand('http://goo.gl/fbsS', { userIp: '127.0.0.1' })
.then(function (longUrl) {
console.log(longUrl);
})
.catch(function (err) {
console.error(err.message);
});
// Shorten a goo.gl url and pass quotaUser for capping purposes
// See: https://developers.google.com/console/help/#cappingusage
googl.shorten('www.spotify.com', { quotaUser: 'UserID' })
.then(function (shortUrl) {
console.log(shortUrl);
})
.catch(function (err) {
console.error(err.message);
});
// Look up a short URL's analytics
// See: https://developers.google.com/url-shortener/v1/getting_started#url_analytics
googl.analytics('http://goo.gl/fbsS', {projection: 'ANALYTICS_CLICKS'})
.then(function(result) {
console.log(result);
})
.catch(function (err) {
console.error(err.message);
});
googl.analytics('http://goo.gl/fbsS', {projection: 'FULL'})
.then(function(result) {
console.log(result);
})
.catch(function (err) {
console.error(err.message);
});
googl.analytics('http://goo.gl/fbsS', {projection: 'ANALYTICS_TOP_STRINGS'})
.then(function(result) {
console.log(result);
})
.catch(function (err) {
console.error(err.message);
});
//default to projection=FULL
googl.analytics('http://goo.gl/fbsS')
.then(function(result) {
console.log(result);
})
.catch(function (err) {
console.error(err.message);
});
© 2010 - cnpmjs.org x YWFE | Home | YWFE