Hatena::ブログ(Diary)

konisimple log RSSフィード Twitter

はてなブログに移転しました!

2010年01月10日

PHPではてな認証APIを使うサンプルコード

暇だったので、PHPはてな認証API使ってみた。

超簡単だった。

サンプル

はてな認証APIを使ってみる - konisipmle

はまった点

  • 最初帰ってきたjsonjavascriptで処理しようとしたけど、レスポンスが何故か空。
    • 結局原因不明だったので諦めてfile_get_contentsで簡単に処理した。
    • クロスドメイン制約かな?

コード

<?php
	$secret_key="<秘密鍵>";
	$api_key="<apiキー>";
	$api_sig1=$secret_key."api_key".$api_key;
	$api_sig1=md5($api_sig1);
	//返却後の処理
	$mode=false;
	if(strlen($_GET["cert"])>0){
		$mode=true;
	}
	if($mode){
		$api_sig2=$secret_key."api_key".$api_key."cert".$_GET["cert"];
		$api_sig2=md5($api_sig2);
		$url="http://auth.hatena.ne.jp/api/auth.json?api_key={$api_key}&cert={$_GET['cert']}&api_sig={$api_sig2}";
		$json=file_get_contents($url);
		$json=json_decode($json);
		if(strlen($json->user->name)==0)
			$mode=false;
	}
?>
<?php	if(!$mode){	?>
	<h2>はてなで認証する</h2>
	<a href="http://auth.hatena.ne.jp/auth?api_key=<?=$api_key?>&api_sig=<?=$api_sig1?>">はてなで認証する</a>
<?php	}else{	?>
	<h2>認証成功</h2>
	<div style="border:1px solid #666;padding:5px;">
	<div style="border:1px solid #666;padding:5px;">
	はてなID:<b><?=$json->user->name?></b><br>
	<img src="<?=$json->user->image_url?>">
	</div>
<?php	}	?>

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/konisimple/20100110/1263105306