'' , // クライアントID 'client_secret' => '' , // クライアントシークレット 'locale' => 'ja' , // ローカライズ 'm' => 'swarm' , // モード (foursquare OR swarm) 'v' => '20150801' , // バージョン 'll' => '35.7780787,139.7972248' , // 位置座標 'query' => 'ラーメン' , // 検索キーワード 'radius' => 10000 , // 検索対象の半径 'limit' => 5 , // 取得件数 ) ; // リクエストURL $request_url = 'https://api.foursquare.com/v2/venues/search' . '?' . 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 .= '

実行結果

' ; // エラー判定 if( !$obj || !isset($obj->meta->code) || $obj->meta->code != 200 ) { $html .= '

データを取得できませんでした…。設定を再確認して下さい。

' ; } else { // 説明 $html .= '

下記がベニューに関する情報です。

' ; // 解析 foreach( $obj->response->venues as $item ) { // 各データの整理 $id = $item->id ; // ベニューのID $name = $item->name ; // ベニューの名前 $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 .= '
' ; $html .= '
ベニューID
' ; $html .= '
' . $id . '
' ; $html .= '
ベニュー名
' ; $html .= '
' . $name . '
' ; // 住所 if( $formattedAddress ) { $html .= '
住所
' ; $html .= '
' . $formattedAddress . '
' ; } $html .= '
カテゴリID
' ; $html .= '
' . $categories_id . '
' ; $html .= '
カテゴリ名
' ; $html .= '
' . $categories_name . '
' ; $html .= '
地図
' ; $html .= '
Google Mapsで位置を確認する
' ; $html .= '
チェックイン数
' ; $html .= '
' . number_format( $stats_checkinsCount ) . '
' ; $html .= '
訪問ユーザー数
' ; $html .= '
' . number_format( $stats_usersCount ) . '
' ; $html .= '
' ; } } // 取得したデータ $html .= '

取得したデータ

' ; $html .= '

下記のデータを取得できました。

' ; $html .= '

JSON

' ; $html .= '

' ; $html .= '

レスポンスヘッダー

' ; $html .= '

' ; // アプリケーション連携の解除 $html .= '

アプリケーション連携の解除

' ; $html .= '

このアプリケーションとの連携は、下記設定ページで解除することができます。

' ; $html .= '

https://ja.foursquare.com/settings/connections

' ; ?> Foursquare APIでベニューを検索するサンプルデモ

配布元: Syncer