短縮URLを多用してしまってメルマガに書かれたURLがもはや何なのか分からなくなって泣いているWEBマーケターの皆さん、こんにちは。クックビズ開発部の杉田です。
問題です
これは何のURLでしょうか?
LP? 何かのサイトのトップページ? アンケートフォーム? はい、正解はFacebookの言語設定ページでした。
と言うわけで、Googleスプレッドシートを使って一発で何のURLか分かるツールの作ったので紹介します。
作り方
予備知識(知らなくても良いんですが、知ってると色々と応用が効きいてカスタマイズし放題です。仕組みに興味がない人は読み飛ばし推奨)
- Googleスプレッドシート
- Google Apps Script
- JSON
やろうとしたこと。
- 短縮URLを展開するAPIを探す
- スプレッドシートのスクリプトエディタでAPIを使って関数を作る
- スプレッドシートで関数を使う
- バンバンザイ!
めっちゃ簡単じゃん。と思ったらStep1でいきなりつまづきました。
何が違うのかというと、どのAPIも最終的にどのページにたどり着くのか?を解析するAPIで、途中の結果を教えてくれないものばかりでした。
違うんだよ!僕は転送途中のURLを全部知りたいんだよ!
例えば、さっきのURL「http://bit.ly/1E6rhbo」をググって見つけたAPIで展開するとURLは「https://www.facebook.com/login.php?next=https%3A%2F%2Fwww.facebook.com%2Fsettings%3Ftab%3Dlanguage%26section%3Dprimary%26view」です。
違うんだ!APIがFacebookにログインしていないからログインページが表示されるのはわかるけど、そういうことじゃないんだよ!僕が欲しいのは「https://www.facebook.com/settings?tab=language§ion=primary&view」このURLなんだよ。
というわけで、何回もググり見つけました。
ようやく本題
前置きが長くてすいません。ここから先はコピペで完成です。
新しいスプレッドシートを作成したら[ツール]-> [スクリプト エディタ…]を開いて、以下のコードを貼り付けてください。
1 2 3 4 5 6 7 8 |
function tenkai(originalUrl) { var apiurl = "http://expandurl.appspot.com/expand?url=" + encodeURIComponent(originalUrl); // (1)使うAPIを指定 var response = UrlFetchApp.fetch(apiurl); var content = Utilities.jsonParse(response.getContentText("UTF-8")); var urls = content.urls; // (2)JSONの戻り値からurlsだけを取得 urls.shift(); // APIの一番目は元のURLだったので要らない。先頭要素を削除 return [urls]; // (3)スプレッドシートに出力 } |
保存をしたら、スプレッドシートに戻って「=tenkai(セル)」と入力しましょう。
ちなみに、使うAPIを変更したい場合は(1)(2)の部分を変更してください。
また、(3)の部分を以下のように変更すると結果を縦に出力してくれます。
1 2 3 4 5 6 7 8 |
function tenkai(originalUrl) { var apiurl = "http://expandurl.appspot.com/expand?url=" + encodeURIComponent(originalUrl); // (1)使うAPIを指定 var response = UrlFetchApp.fetch(apiurl); var content = Utilities.jsonParse(response.getContentText("UTF-8")); var urls = content.urls; // (2)JSONの戻り値からurlsだけを取得 urls.shift(); // APIの一番目は元のURLだったので要らない。先頭要素を削除 return urls; // (3)スプレッドシートに出力(縦バージョン) } |
さぁ、これで前任者の残していった謎の短縮URLに悩まされることが無くなりましたね!ぜひお試しあれ。
現在、クックビズでは新しいメンバーを募集しております!
このブログを書いているのはクックビズ株式会社の開発チームです。私たちと働いてみたいと思った方はWantedlyから話を聞きにきて下さいヽ(=´▽`=)ノ著者プロフィール
- 開発部にいるのに何やってるの?と他のスタッフからよく思われてます。ブログ書いたり、社外勉強会でプレゼンしたり、やたらと会社の備品を増やしたり。ちゃんと仕事やってますよ?