googl

Google URL Shortener API in Ruby

Basic Usage

Shorten a long URL

url = Googl.shorten('http://www.zigotto.com')

url.short_url
=> "http://goo.gl/ump4S"

url.long_url
=> "http://www.zigotto.com/"

url.qr_code
=> "http://goo.gl/ump4S.qr"

url.info
=> "http://goo.gl/ump4S.info"

Expand a short URL

url = Googl.expand('http://goo.gl/ump4S')

url.long_url
=> "http://www.zigotto.com/"

Authentication

The Google URL Shortener API supports the OAuth and ClientLogin mechanisms for authenticating.

For shorten requests, each short URL for an authenticated user is unique, and thus will gather unique click statistics. In addition, it shows up on the user’s dashboard at goo.gl.

ClientLogin

client = Googl.client('[email protected]', 'my_valid_password')

url = client.shorten('https://github.com/zigotto/googl')
url.short_url
=> http://goo.gl/DWDfi

Go to goo.gl to see URL statistics.

OAuth

TODO

Analytics

Expands a short URL or gets creation time and analytics

For analytics and additional information to return (using the :projection parameter)

:full                    returns the creation timestamp and all available analytics
:analytics_clicks        returns only click counts
:analytics_top_strings   returns only top string counts (e.g. referrers, countries, etc)

Get Analytics

url = Googl.expand('http://goo.gl/DWDfi', :projection => :full)

url.analytics.all_time.browsers.first.label
=> "Chrome"
url.analytics.all_time.browsers.first.count
=> "11"

A summary of the click analytics for the short and long URL

url.analytics

Analytics details for a particular window of time; counts in this object are of clicks that occurred within the most recent window of this length.

url.analytics.all_time
url.analytics.month
url.analytics.week
url.analytics.day
url.analytics.two_hours

Number of clicks on this short URL. Replace (*) for all_time, month, week, day or two_hours

url.analytics.*.short_url_clicks

Number of clicks on all goo.gl short URLs pointing to this long URL.

url.analytics.*.long_url_clicks

Top referring hosts, e.g. “www.google.com”; sorted by (descending) click counts. Only present if this data is available.

url.analytics.*.referrers

Top countries (expressed as country codes), e.g. “US” or “DE”; sorted by (descending) click counts.

url.analytics.*.countries

Top browsers, e.g. “Chrome”; sorted by (descending) click counts.

url.analytics.*.browsers

Top platforms or OSes, e.g. “Windows”; sorted by (descending) click counts.

url.analytics.*.platforms

For details, see code.google.com/intl/pt-BR/apis/urlshortener/v1/reference.html#resource_url

History

Gets a user’s history of shortened URLs. (Authenticated)

client = Googl.client('[email protected]', 'my_valid_password')

history = client.history
history.total_items
=> 19

A list of URL.

history.items

Analytics details for all items

history = client.history(:projection => :analytics_clicks)

Installation

gem install googl

License

MIT License. Copyright 2011 Zigotto®. www.zigotto.com.br