<?php

	// 取得するベニューID
	$venue_id = '4b5bb91cf964a520451229e3' ;

	// アクセストークン
	$access_token = '' ;

	// 設定項目
	$params = array(
		'oauth_token' => $access_token ,	// アクセストークン
		'locale' => 'ja' ,	// ローカライズ
		'm' => 'swarm' ,	// モード (foursquare OR swarm)
		'v' => '20150801' ,	// バージョン
	) ;

	// リクエストURL
	$request_url = 'https://api.foursquare.com/v2/venues/' . $venue_id . '?' . http_build_query( $params ) ;

	// cURLでリクエスト
	$curl = curl_init() ;
	curl_setopt( $curl , CURLOPT_URL , $request_url ) ;
	curl_setopt( $curl , CURLOPT_HEADER, 1 ) ; 
	curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER , false ) ;
	curl_setopt( $curl , CURLOPT_RETURNTRANSFER , true ) ;
	curl_setopt( $curl , CURLOPT_TIMEOUT , 5 ) ;
	$res1 = curl_exec( $curl ) ;
	$res2 = curl_getinfo( $curl ) ;
	curl_close( $curl ) ;

	// 取得したデータ
	$json = substr( $res1, $res2['header_size'] ) ;			// 取得したデータ(JSONなど)
	$header = substr( $res1, 0, $res2['header_size'] ) ;		// レスポンスヘッダー (検証に利用したい場合にどうぞ)

	// HTML用
	$html = '' ;

	// JSONデータをオブジェクト形式に変換する
	$obj = json_decode( $json ) ;

	// 実行結果の出力
	$html .= '<h2>実行結果</h2>' ;

	// エラー判定
	if( !$obj || !isset($obj->meta->code) || $obj->meta->code != 200 )
	{
		$html .= '<p>データを取得できませんでした…。設定を再確認して下さい。</p>' ;
	}
	else
	{
		// 説明
		$html .= '<p>下記がベニューに関する情報です。</p>' ;

		// エイリアス
		$item = $obj->response->venue ;

		// 各データの整理
		$id = $item->id ;		// ベニューのID
		$name = $item->name ;		// ベニューの名前
		$canonicalUrl = $item->canonicalUrl ;		// ベニューのパーマリンク
		$categories_id = $item->categories[0]->id ;		// カテゴリID (最初の1個だけ…)
		$categories_name = $item->categories[0]->name ;		// カテゴリ名 (最初の1個だけ…)
		$lat = $item->location->lat ;		// 緯度
		$lng = $item->location->lng ;		// 経度
		$formattedAddress = ( isset($item->location->formattedAddress) && !empty($item->location->formattedAddress) ) ? implode( ' ' , $item->location->formattedAddress ) : '' ;		// 住所
		$stats_checkinsCount = ( isset($item->stats->checkinsCount) ) ? $item->stats->checkinsCount : 0 ;		// チェックイン数
		$stats_usersCount = ( isset($item->stats->usersCount) ) ? $item->stats->usersCount : 0 ;		// 訪問ユーザー数

		// ブラウザに出力
		$html .= '<dl>' ;
		$html .= 	'<dt>ベニューID</dt>' ;
		$html .= 		'<dd>' . $id . '</dd>' ;
		$html .= 	'<dt>ベニュー名</dt>' ;
		$html .= 		'<dd>' . $name . '</dd>' ;

		// 住所
		if( $formattedAddress )
		{
			$html .= 	'<dt>住所</dt>' ;
			$html .= 		'<dd>' . $formattedAddress . '</dd>' ;
		}

		$html .= 	'<dt>パーマリンク</dt>' ;
		$html .= 		'<dd><a href="' . $canonicalUrl . '" target="_blank">' . $canonicalUrl . '</a></dd>' ;
		$html .= 	'<dt>カテゴリID</dt>' ;
		$html .= 		'<dd>' . $categories_id . '</dd>' ;
		$html .= 	'<dt>カテゴリ名</dt>' ;
		$html .= 		'<dd><a href="https://ja.foursquare.com/explore?q=' . $categories_name . '" target="_blank">' . $categories_name . '</a></dd>' ;
		$html .= 	'<dt>地図</dt>' ;
		$html .= 		'<dd><a href="https://www.google.co.jp/maps/@' . $lat . ',' . $lng . ',15z" target="_blank">Google Mapsで位置を確認する</a></dd>' ;
		$html .= 	'<dt>チェックイン数</dt>' ;
		$html .= 		'<dd>' . number_format( $stats_checkinsCount ) . '</dd>' ;
		$html .= 	'<dt>訪問ユーザー数</dt>' ;
		$html .= 		'<dd>' . number_format( $stats_usersCount ) . '</dd>' ;
		$html .= '</dl>' ;
	}

	// 取得したデータ
	$html .= '<h2>取得したデータ</h2>' ;
	$html .= '<p>下記のデータを取得できました。</p>' ;
	$html .= 	'<h3>JSON</h3>' ;
	$html .= 	'<p><textarea rows="8">' . $json . '</textarea></p>' ;
	$html .= 	'<h3>レスポンスヘッダー</h3>' ;
	$html .= 	'<p><textarea rows="8">' . $header . '</textarea></p>' ;

	// アプリケーション連携の解除
	$html .= '<h2>アプリケーション連携の解除</h2>' ;
	$html .= '<p>このアプリケーションとの連携は、下記設定ページで解除することができます。</p>' ;
	$html .= '<p><a href="https://ja.foursquare.com/settings/connections" target="_blank">https://ja.foursquare.com/settings/connections</a></p>' ;

?><!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<meta name="robots" content="noindex,nofollow">

		<!-- ビューポートの設定 -->
		<meta name="viewport" content="width=device-width, initial-scale=1.0">

		<title>Foursquare APIでベニューの情報を取得するサンプルデモ</title><!-- 

/********************************************************************************

	SYNCER 〜 知識、感動をみんなと同期(Sync)するブログ

	* 配布場所
	https://syncer.jp/foursquare-api-matome

	* 動作確認
	https://syncer.jp/foursquare-api-matome/demo/get-venue.php

	* 最終更新日時
	2015/08/02 13:26

	* 作者
	あらゆ

	** 連絡先
	Twitter: https://twitter.com/arayutw
	Facebook: https://www.facebook.com/arayutw
	Google+: https://plus.google.com/114918692417332410369/
	E-mail: info@syncer.jp

	※ バグ、不具合の報告、提案、ご要望など、お待ちしております。
	※ 申し訳ありませんが、ご利用者様、個々の環境における問題はサポートしていません。

********************************************************************************/

		-->
	</head>
<body>



<?php echo $html ?>


<p style="text-align:center"><a href="https://syncer.jp/foursquare-api-matome">配布元: Syncer</a></p>






</body>
</html>