ブログパーツ


4sqmapをfoursquare API V2に対応


foursquare API V1が8月から使えなくなっていた事が判明した為、急遽4sqmapをV2対応する事にしました。

4sq map : http://labs.s-koichi.info/4sqmap/

V1時のAPIは、PHPでラップしたI/Fでjsonpに変換したり、OAuthの処理をさせたりしてましたが、認証周りが楽になったV2は、直接APIを呼びだしています。

foursquare API V2のドキュメントはこちら。

API Documents

OAuth認証は、pure AJAX applicationの項目を参考にしました。

この対応に合わせて、これまで機能使用時にOAuth承認にすすむようにしてましたが、ログイン用のリンクを右上に表示するようにしました。

今回の修正で、一番手間取ったのは、API V1時とデータの構造が違っていた事。ただし、API DocumentsにあるAPI Explorerを使うと、どういう形式でjsonデータが返ってくるか確認出来たので、それを確認しながら地道に修正しました。

例えば、venueデータなんかは、以下のような形式になっています。以前はフラットな構造だったと思いますが、location情報や、contact情報がそれぞれ下位オブジェクトになっています。

{
	id: "4b4e564cf964a520f0e926e3"
	name: "JR 津田沼駅 (Tsudanuma Sta.)"
	itemId: "v4b4e564cf964a520f0e926e3"
	contact: {
		phone: "0474723065"
		formattedPhone: "047-472-3065"
	}
	location: {
		address: "津田沼1-1-1"
		city: "習志野市"
		state: "千葉県"
		postalCode: "275-0016"
		country: "日本"
		lat: 35.6912616
		lng: 140.0204066
		distance: 114
	}
	categories: [
		{
			id: "4bf58dd8d48988d129951735"
			name: "鉄道駅"
			pluralName: "鉄道駅"
			icon: "https://foursquare.com/img/categories/travel/trainstation.png"
			parents: [
				"Travel Spots"
			]
			primary: true
		}
		{
			id: "4bf58dd8d48988d12a951735"
			name: "鉄道"
			pluralName: "鉄道"
			icon: "https://foursquare.com/img/categories/travel/trainstation.png"
			parents: [
				"Travel Spots"
				"Train Stations"
			]
		}
	]
	verified: false
	stats: {
		checkinsCount: 16174
		usersCount: 1554
		tipCount: 20
	}
	hereNow: {
		count: 6
	}
}

今回の対応では、突貫工事だったのでPC版のみ対応。スマートフォン対応版は現在対応中。JQtouchを使っていたのを、JQuery mobileを使ったI/Fに換装中です。

4sq map : http://labs.s-koichi.info/4sqmap/

4sqmap チェックイン一覧

4sqmap チェックイン一覧

にほんブログ村 IT技術ブログ プログラム・プログラマーへ
にほんブログ村

, ,

  1. コメントはありません
(公開されません)


  1. トラックバックがありません。