2011-02-24(木) 19:34(UTC +0900) p Tweet
PHP で短縮 URL を取得するコードを更新してみた
たまに暴走させてしまったりしている 「日本の火山噴火状況通知ボット」 にて、今日もまたチョイとしたバグが…
今回は暴走ではないので皆様への被害は少なく済みましたけど、原因究明と対策には時間がかかってしまいました orz
不具合は
「通知呟きに付けている気象庁本家の詳細ページへの短縮 URL が付かなくなってた」
と云うモノ。
原因は、短縮処理に使用している bit.ly の API が更新され、今まで利用していたコードでは短縮 URL を取得できなくなってしまった、と云うコトでした。
原因と新しい json の構造が分かれば対策は簡単なのですが、他人様から戴いてきたコードをタダ改修するだけではナンなのでココに公開しておきます。
<?php //要PHP5.2.xかjson_decode関数 function short_url($sLongURL,$sApiLogin,$sApiKey){ //see http://code.google.com/p/bitly-api/wiki/ApiDocumentation $sUrl = rawurlencode($sLongURL); $sRequestURL = "http://api.j.mp/v3/shorten?longUrl={$sUrl}&login={$sApiLogin}&apiKey={$sApiKey}"; //print_r("
" . $sRequestURL . "“); $jResult = file_get_contents($sRequestURL); $aResult = json_decode($jResult,TRUE); if($aResult[‘status_code’]==”200”){ $aItem = $aResult[‘data’]; return $aItem[‘url’]; } else{ return $aResult[‘status_txt’]; } } ?>
- 使い方
- 短くしたいURL
- $sLongUrl = “http://example.com/”;
- bit.lyのログイン名
- $sLogin = “hoge”;
- bit.lyのAPIキー
- $sApiKey = “R_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa”;
使い方は元ネタと同じです。
内容的にはバージョン表記や戻り値の取り方を変えてますけど、呼び出し元のコードはそのままでいけるハズです。
関連するかも知れない?
2009-09-08(火) 13:16(UTC +0900) p Tweet
短縮 URL サービスの極致?
bookmarklet で閲覧中のページの URL を短縮する方法を常用しておりますが、こちらを改修しましたのでお知らせします。
今までの遍歴を並べると、 tinyurl.com → bit.ly → j.mp てコトで、サービス自体のドメイン名はこれより短くならない、かな?
追記(2009/09/08 13:40)
なお、アカウントは bit.ly と同じモノが使えるのみならず、 bit.ly の履歴もそのまま j.mp で引き継げますので、 bookmarklet を換える前に j.mp にもログインし直しておくと良いですね。
clip IT!
from ITmedia News
「URL短縮サービスbit.ly、さらに短いURL生成サービス開始」
閲覧ページの URL を、
(ゴミを削って)
j.mp に送る為の Bookmarklet
次のリンク部分(jmp!)をブックマークに Drag and Drop してください。
「jmp!」
んで、閲覧中のページの URL を短縮したくなったらブックマークの「jmp!」をクリックすることで j.mp の URL 短縮ページに移動します。
本家の Bookmarklet との違いは、例えば feed やリダイレクト強制等の「末尾に余計な識別符が付いた URL」から、そのゴミを削った状態を短縮化できる、という点になります。
閲覧ページのタイトルと URL を、
(ゴミを削って)
コピーする為のダイアログボックスを出す Bookmarklet
次のリンク部分(title)をブックマークに Drag and Drop してください。
「title」
ネタにしたいページを表示した状態でブックマークの「title」をクリックし、出てきたダイアログボックス内の文字列をカットしてクリップボードに取り込み、「Enter」を叩いてダイアログボックスを閉じるだけです。
改修とは云いましたが、双方で提供されているスクリプトを査読してみましたところ、ドメイン名以外は全部同じでした。
そこで、ウチ独自のゴミ除去機能を含んだ既存の bookmarklet について、単に bit.ly → j.mp とドメイン名を書き換えただけのモノとなります。
併せて、 title と link についても再掲しておきます。
関連するかも知れない?
cat: lifehack (ライフハック)
tag: bit.ly, Bookmarklet, j.mp, lifehack
0 Trackback
2009-05-09(土) 02:33(UTC +0900) p Tweet
bit.ly でも好みの短縮コードを選択できる
但し、先着順。
てコトで、先のエントリを TinyURL.com → bit.ly な感じのコードでおさえてみた(笑)
本来の URL
http://blog.lares.jp/mt/eid41.html
占拠したヤツ
http://bit.ly/TU2bitly
方法は簡単。
先ず bit.ly に接続して、
“Enter Web Address (URL) Here” に短縮させたい URL を入力し、
更に入力欄の下の “Optional Custom Name” をクリックして、
追加で出てくる入力欄に狙った文字列を入れてから
“Shorten” をクリック。
です。
関連するかも知れない?
オススメ(殿堂)
オススメ(amazon)
オススメ(ニコ動)
オススメ(link)
検索
タグクラウド
最近のエントリ
カレンダー
日 | 月 | 火 | 水 | 木 | 金 | 土 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
分類別
保管庫
- 2020年1月
- 2019年6月
- 2016年8月
- 2014年9月
- 2014年6月
- 2013年9月
- 2013年8月
- 2013年4月
- 2013年1月
- 2012年10月
- 2011年12月
- 2011年11月
- 2011年10月
- 2011年9月
- 2011年8月
- 2011年7月
- 2011年6月
- 2011年5月
- 2011年4月
- 2011年3月
- 2011年2月
- 2011年1月
- 2010年12月
- 2010年11月
- 2010年10月
- 2010年9月
- 2010年8月
- 2010年7月
- 2010年6月
- 2010年5月
- 2010年4月
- 2010年3月
- 2010年2月
- 2010年1月
- 2009年12月
- 2009年11月
- 2009年10月
- 2009年9月
- 2009年8月
- 2009年7月
- 2009年6月
- 2009年5月
- 2009年4月
- 2009年3月
- 2009年2月
- 2009年1月
- 2008年12月
- 2008年11月
- 2008年10月
- 2008年9月
- 2008年8月
- 2008年7月
- 2008年6月
- 2008年5月
- 2008年4月
- 2008年3月
- 2008年2月
- 2008年1月
- 2007年12月
- 2007年11月
- 2007年10月
- 2007年9月
- 2007年8月
- 2007年7月
- 2007年6月
- 2007年5月
- 2007年4月
- 2007年3月
- 2007年2月
- 2007年1月
- 2006年12月
- 2006年11月
- 2006年10月
- 2006年9月
- 2006年8月
- 2006年7月
- 2006年6月
- 2006年5月
- 2006年4月
- 2006年3月
- 2006年2月
- 2006年1月
- 2005年12月
- 2005年11月
- 2005年10月
- 2005年9月
- 2005年8月
- 2005年7月
- 2005年6月
- 2005年5月
- 2005年4月
- 2005年3月
- 2005年2月
- 2004年12月
- 2004年11月
- 2004年10月
- 2004年9月
- 2004年8月
- 2004年7月
- 2004年6月
- 2004年5月
- 2003年10月
- 2003年7月
- 2003年4月
- 2003年3月
- 2003年2月
- 2003年1月
- 2002年12月
- 2002年11月
- 2002年10月
- 2002年9月
- 2002年8月
- 2002年7月
- 2002年6月
- 2002年5月
- 2002年4月
- 2002年3月
- 2002年2月
- 2002年1月
- 2001年12月
- 2001年11月
- 2001年10月
- 2001年9月