2011-02-24(木) 19:34(UTC +0900) p Tweet
たまに暴走させてしまったりしている 「日本の火山噴火状況通知ボット」 にて、今日もまたチョイとしたバグが…
今回は暴走ではないので皆様への被害は少なく済みましたけど、原因究明と対策には時間がかかってしまいました 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”;
使い方は元ネタと同じです。
内容的にはバージョン表記や戻り値の取り方を変えてますけど、呼び出し元のコードはそのままでいけるハズです。
おまけで、新しい json のサンプルも付けておきます。
{ "status_code": 200, "status_txt": "OK", "data": { "long_url": "http://example.com/", "url": "http://j.mp/gdiq4g ", "hash": "gdiq4g", "global_hash": "VDcn", "new_hash": 0 } }
関連するかも知れない?
オススメ(殿堂)
オススメ(amazon)
オススメ(ニコ動)
オススメ(link)
検索
タグクラウド
Skype
lifehack
MOVIX
blog
WILLCOM
Tips
ThinkPad
UI
コロIIな
Twitter
IO
Google
VOCALOID
web-site
ATOK
robotics
Wi-Fi
TV
VoIP
language
セキュリティ
Skypeクレジット
京セラ
Skype Public Chat
feed
VVoIP
SkypeOut
iTunes
SkypeIn
Eye-Fi
キーボード
京ぽん
mobile
防災
鹿児島
東芝
FON
Firefox
Fresh Reader
amazon
RD
アニメ
Palm
NHK
strage
IM
地震
NTT
EV
PSTN
最近のエントリ
カレンダー
日 | 月 | 火 | 水 | 木 | 金 | 土 |
---|---|---|---|---|---|---|
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月
購読
marker
CC LICENSE
since 2001-09-25