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