[GoogleAPI千本ノック] Google URL Shortener API を試してみた

ご注意

この記事は 2015年1月9日 に書かれたものです。内容が古い可能性がありますのでご注意ください。

皆様、あけましておめでとうございます。 GoogleのAPIを隔週で片っ端から紹介する、GoogleAPI千本ノック 本年もよろしくお願い申し上げます。 第四回目は、Google URL Shortner API です。

URL Shortner というサービスについて

皆さんご存知の通り、長いURLを短いURLに変換する圧縮URLサービスです。投稿の文字数制限のあるTwitterやメールなどで共有するときに使えますが、それだけではなくアナリティクスの機能も持ち合わせています。GoogleのURL圧縮サービスは、 http://goo.gl/ からすぐに使えます。

URL Shortner のアナリティクス

Google URL Shortner サービスが持ち合わせているアナリティクスにはどんな機能があるのか調べてみました。

クリック数とクリック日時を記録

圧縮URLを通してどのURLがいつクリックされたかが記録されます。

アクセス元の国・OS・ブラウザ毎の割合をグラフで表示

閲覧者がどの国からアクセスしているか、またアクセスしているPCのOSとブラウザの種類を記録し、グラフで割合を表示します。

リソースとメソッド

リソースはUrlのみで、メソッドも insert, get, list の3種類です。
メソッド メソッド概要
urlshortener.url.insert オリジナルURLを登録して、圧縮URLを生成します。
urlshortener.url.get 圧縮URLをキーに、該当URLのオリジナルURLとアナリティクス情報を取得します。
urlshortener.url.list 認証済みユーザが登録した圧縮URLのリストを返します。
insertメソッドを使用するときは、goo.gl 短縮 URL の管理(https://www.googleapis.com/auth/urlshortener)のパーミッションが必要になります。 *圧縮URLを生成した後、APIで削除する事はできません。 *サービスページからも削除することができませんが、一覧から隠す事はできます(隠しても圧縮されたURLは使えます)。

利用制限

APIのリクエスト数は無料枠内では、1日に100万リクエストまでであり、1ユーザ辺り秒間1リクエストまで受理できます。これよりも上限リクエスト数を増やす場合は有料になります。

APIを叩いてみた

それでは早速圧縮URLのAPIを叩きます。

メソッド:urlshortener.url.insert

オリジナルURLを登録して、圧縮URLを生成します。 下の例では、URL(https://developers.google.com/url-shortener/libraries)をlongUrlに指定して登録しています。 するとレスポンスに http://goo.gl/xytZo2 がIDとして返却されました。 これが圧縮URLとなります。
リクエスト POST https://www.googleapis.com/urlshortener/v1/url {  ”longUrl”: “https://developers.google.com/url-shortener/libraries” }
レスポンス {  ”kind”: “urlshortener#url”,  ”id”: “http://goo.gl/xytZo2″,  ”longUrl”: “https://developers.google.com/url-shortener/libraries” }
URL圧縮サービスで確認してみますと、追加されているのが確認されました。 また、実際に http://goo.gl/xytZo2 にアクセスしてみますと、オリジナルページにリダイレクトしてページが表示されました。 urlshortener.url

メソッド:urlshortener.url.get

圧縮URLをキーに、該当URLのオリジナルURLとアナリティクス情報を取得します。 下の例では先ほど追加した圧縮URL(http://goo.gl/xytZo2)のオリジナルURLを取得しています。
リクエスト GET https://www.googleapis.com/urlshortener/v1/url?shortUrl=http%3A%2F%2Fgoo.gl%2FxytZo2
レスポンス {  ”kind”: “urlshortener#url”,  ”id”: “http://goo.gl/xytZo2″,  ”longUrl”: “https://developers.google.com/url-shortener/?hl=ja”,  ”status”: “OK” }
クリック数も取得するには、projectionパラメータにANALYTICS_CLICKSを指定します。 projectionパラメータに乗せられる値は、ANALYTICS_CLICKS、ANALYTICS_TOP_STRINGS、FULLがあります。  
リクエスト GET https://www.googleapis.com/urlshortener/v1/url?shortUrl=http%3A%2F%2Fgoo.gl%2FxytZo2&projection=ANALYTICS_CLICKS
レスポンス {  ”kind”: “urlshortener#url”,  ”id”: “http://goo.gl/xytZo2″,  ”longUrl”: “https://developers.google.com/url-shortener/?hl=ja”,  ”status”: “OK”,  ”analytics”: {   ”allTime”: {    ”shortUrlClicks”: “4”,    ”longUrlClicks”: “11”   },   ”month”: {    ”shortUrlClicks”: “4”,    ”longUrlClicks”: “4”   },   ”week”: {    ”shortUrlClicks”: “4”,    ”longUrlClicks”: “4”   },   ”day”: {    ”shortUrlClicks”: “4”,    ”longUrlClicks”: “4”   },   ”twoHours”: {    ”shortUrlClicks”: “0”,    ”longUrlClicks”: “0”   }  } }
全期間、過去1ヶ月、過去1週間、1日以内、2時間以内の期間におけるクリック数を返却しました。 projectionパラメータにANALYTICS_CLICKSを指定したところ、各期間におけるクリック数も取得することができました。

メソッド:urlshortener.url.list

認証済みユーザが登録した圧縮URLのリストを返します。 設定できるパラメータはGETリクエストと同じように、projectionパラメータがあります。
リクエスト GET https://www.googleapis.com/urlshortener/v1/url/history
レスポンス {  ”kind”: “urlshortener#urlHistory”,  ”totalItems”: 2,  ”itemsPerPage”: 30,  ”items”: [  {   ”kind”: “urlshortener#url”,   ”id”: “http://goo.gl/8c1wgL”,   ”longUrl”: “http://www.cloud-ace.jp/cloudace/”,   ”status”: “OK”,   ”created”: “2015-01-07T06:27:28.489+00:00″  },  {   ”kind”: “urlshortener#url”,    ”id”: “http://goo.gl/xytZo2″,   ”longUrl”: “https://developers.google.com/url-shortener/?hl=ja”,   ”status”: “OK”,   ”created”: “2015-01-07T03:20:10.534+00:00”  }  ] }
2件のURLを登録していたので2件のURLがリストアップされました。

まとめ

オリジナルURLを圧縮URLに変換するシンプルなサービス&APIでしたが、クリック数の計測ができるので、自前で作るよりも URL Shortner API の力を借りてみてはいかがでしょうか。 URL Shortner API のライブラリはこちらにございます。 ↓URL Shortnerを利用したシステム開発やGCEにおける自動化のご要望、運用管理含めてご相談があれば、クラウドエースまで是非お問い合わせ下さい。 http://goo.gl/mLbA3W

Google のクラウドサービスについてもっと詳しく知りたい、直接話が聞いてみたいという方のために、クラウドエースでは無料相談会を実施しております。お申し込みは下記ボタンより承っておりますので、この機会にぜひ弊社をご利用いただければと思います。

無料相談会のお申込みはこちら