本文へジャンプする



会社案内

ブログ

foursquareにチェックインするサンプルプログラム with CakePHP

2010年2月15日

ポストTwitterとして名高い、foursquare。私も大注目しています。

このfoursquare、APIを一般に公開していて、チェックインからチップスの追加まで、すべての機能を利用することが出来ます。そこで、早速サンプルプログラムを作ってみました。不安定かもしれませんが、こちらからどうぞ。

では、軽く解説を。

APIのマニュアルはこちらにあります。また、@fawさんが、日本語訳もしてくれています。

OAuthを使った方法もあるのですが、ちょっと難しいので、ここでは BASIC認証を使う方法を試しました。 まずはログインと、候補の取得。これには「venues」というメソッドを使います。ここに、GETで緯度・経度やログイン情報を送り込むのですが、CakePHPではHTTP通信を行うために「CakeSocket」というものが準備されているので、これを使います。次のような感じ。

uses('http_socket', 'Xml');
$socket = new HttpSocket();

$url = 'http://api.foursquare.com/v1/venues';;
$query = array(
	'geolat'=>$this->data['Clip']['lat'],
	'geolong'=>$this->data['Clip']['lon']
);
$res = $socket->get($url, $query, array(
	'auth'	=> array(
		'user'	=> $this->data['Clip']['username'],
		'pass'	=> $this->data['Clip']['password']
	)
));

// get XML
$xml = new Xml($res);

これで「$xml」にXMLの解析したものが出るので、これでリストを構築して行きます。 チェックインには、Venue IDと呼ばれる、場所ごとに割り振られたIDを渡すので、これをラジオボックスなどで渡しながら「shout(つぶやき)」を渡して、今度は「checkin」メソッドを使います。

uses('http_socket', 'Xml');
$socket = new HttpSocket();

if ($this->data) {
	$url = 'http://api.foursquare.com/v1/checkin';; 
	$query = array(
		'vid'	=> $this->data['Clip']['id'],
		'shout'	=> $this->data['Clip']['shout']
	);
	$res = $socket->post($url, $query, array(
		'auth'	=> array(
			'user'	=> $user['Clip']['username'],
			'pass'	=> $user['Clip']['password']
		)
	));

	$this->render('thanks');
}

これでOK。チェックインすることが出来ます。

これを使えば、好きな場所をチェックインすることができちゃいます。 アリバイ工作などに使わないよう、ご注意ください。(笑

ダウンロードはこちらからどうぞ。

エイチツーオー・スペースの最新情報をメールまたはRSSでお受け取りいただけます。ぜひご利用ください。

この記事へのコメント

コメントはまだありません
お名前
メールアドレス
URL
コメント
 

トラックバック

この記事へのトラックバック
http://h2o-space.com/blog/1963/trackback
pagetop


» twilog

あわせて読みたいブログパーツ

サイト内検索

powered by Yahoo! JAPAN