Skypeto: Skype chat to n-yoshi n-yoshi
Twitter: Follow laresjp on Twitter laresjp
feed: RSS 2.0 RSS or Atom Atom

2011年02月24日

2011-02-24(木) 19:34(UTC +0900) p

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”;

使い方は元ネタと同じです。
内容的にはバージョン表記や戻り値の取り方を変えてますけど、呼び出し元のコードはそのままでいけるハズです。

続きを読む

関連するかも知れない?


, Permalink, 関連つぶやき
cat: 電脳系
tag: , , , ,
0 Trackback

オススメ(殿堂)

ThinkPad Bluetooth ワイヤレス・トラックポイント・キーボード
ThinkPad Bluetooth ワイヤレス・トラックポイント・キーボード
ThinkPad
トラックポイント付きの無線キーボード

オススメ(amazon)

Twitter

オススメ(ニコ動)

オススメ(link)


検索

このblogをググる



タグクラウド


最近のエントリ

カレンダー

2011年2月
 12345
6789101112
13141516171819
20212223242526
2728  

分類別

保管庫


購読

marker

Firefox meter

CC LICENSE


since 2001-09-25

| go BLOG Top |
Powered by WordPress