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