gapi-url 
Small wrapper around Google Url Shortener API providing 'insert' and 'get' methods.
const gapiUrl = require('gapi-url')
const API_KEY = '<your api key here>'
shortenURL(API_KEY, 'https://github.com', print)
function printShortened(err, res) {
if (err) return console.error(err)
console.log('shortened url: ', res)
}
expandURL(API_KEY, 'https://goo.gl/un5E', 'FULL', print)
function print(err, res) {
if (err) return console.error(err)
console.log('expanded url: ', res)
}
Installation
npm install gapi-url
Table of Contents generated with DocToc
shortenURL
Shortens the provided url
Parameters
apiKey
String api key of your google application
link
String that you want to shorten
cb
Function with following signature function (err, shortenedLink)
expandURL
Expands the provided shortened url
Supported projections
- ANALYTICS_CLICKS: Returns only click counts
- ANALYTICS_TOP_STRINGS: Returns only top string counts
- FULL: Returns the creation timestamp and all available analytics
Parameters
apiKey
String api key of your google application
shortened
String link that you want to expand
projection
String to include more info ANALYTICS_CLICKS| ANALYTICS_TOP_STRINGS | FULL
cb
Function with following signature function (err, expanedLink)
shortLink
getAnalyticsURL
Returns the url for the google analytics page for the given
shortened url.
Example
getAnalyticsURL('https://goo.gl/un5E')
=> https://goo.gl/#analytics/goo.gl/un5E/all_time
Parameters
url
String shortened URL, i.e. obtained via shortenURL
Returns String link to the Google Analytics page.
Resources
Getting Started with the Google Shortener API
API documented here
https://developers.google.com/url-shortener/v1/url
link
Get API key
https://developers.google.com/url-shortener/v1/getting_started
link
View Shortener Console
https://console.developers.google.com/apis/api/urlshortener.googleapis.com/overview?project=gapi-url-1513446857763&duration=PT1H
link
Testing with curl
curl https://www.googleapis.com/urlshortener/v1/url?key=AIzaSyA2LZbzpowavq0euPXmNhrSW6Q-R4-HnZA \
-H 'Content-Type: application/json' \
-d '{"longUrl": "http://www.google.com/" }'
Kudos
Thanks to @anvaka for his initial shortener implementation.
License
MIT