<?php

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

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

	// GETメソッドで指定がある場合
	foreach( array( 'locale' , 'm' , 'limit' , 'sort' , 'afterTimestamp' , 'beforeTimestamp' ) as $val )
	{
		if( isset( $_GET[ $val ] ) && $_GET[ $val ] != '' )
		{
			$params[ $val ] = $_GET[ $val ] ;
		}
	}

	// リクエストURL
	$request_url = 'https://api.foursquare.com/v2/users/self/checkins' . '?' . 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>チェックイン総数は<b>' . $obj->response->checkins->count . '</b>件です。</p>' ;

		foreach( $obj->response->checkins->items as $item )
		{
			// 各データの整理
			$id = $item->id ;		// チェックインID
			$venue_id = $item->venue->id ;		// ベニューのID
			$venue_name = $item->venue->name ;		// ベニューの名前
			$createdAt = $item->createdAt + $item->timeZoneOffset ;		// チェックイン日時(オフセットと合わせる)
			$source_name = $item->source->name ;		// チェックインしたサービス
			$shout = ( isset($item->shout) ) ? $item->shout : '' ;		// コメント

			// 日時の整形
			$createdAt = date( 'Y/m/d H:i' , $createdAt ) ;

			// ブラウザに出力
			$html .= '<dl>' ;
			$html .= 	'<dt>チェックインID</dt>' ;
			$html .= 		'<dd>' . $id . '</dd>' ;
			$html .= 	'<dt>ベニュー名</dt>' ;
			$html .= 		'<dd>' . $venue_name . '</dd>' ;
			$html .= 	'<dt>ベニューID</dt>' ;
			$html .= 		'<dd><a href="https://ja.foursquare.com/v/' . $venue_id . '" target="_blank">' . $venue_id . '</a></dd>' ;

			// コメント
			if( $shout )
			{
				$html .= 	'<dt>コメント</dt>' ;
				$html .= 		'<dd>' . $shout . '</dd>' ;
			}

			$html .= 	'<dt>投稿日時</dt>' ;
			$html .= 		'<dd>' . $createdAt . '</dd>' ;
			$html .= 	'<dt>ソース</dt>' ;
			$html .= 		'<dd>' . $source_name . '</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-checkin.php

	* 最終更新日時
	2015/08/02 12:30

	* 作者
	あらゆ

	** 連絡先
	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>