前提・実現したいこと
楽天トラベルAPIを使用し、情報を表示したいのですが、うまく取得できずにいます。
下記のサイトを参考にし、リクエストURLは作成できているのは確認できましたが、
個々の情報が取得できません。
https://haniwaman.com/rakuten-api/
(緯度経度等は楽天トラベルAPIの参考のデータを使用しています。)
初学者のため初歩的な部分が理解できていないのかもしれません。
どうかご教授いただけると幸いです。
何卒よろしくお願いいたします。
該当のソースコード
<!DOCTYPE html> <html lang='ja'> <head> <title>楽天商品検索API テスト</title> <meta charset='utf-8'> </head> <body> <?php $rakuten_relust = getRakutenResult('128440.51', '503172.21'); // キーワードと最低価格を指定 foreach ($rakuten_relust as $hotel) : ?> <div style='margin-bottom: 20px; padding: 30px; border: 1px solid #000; overflow:hidden;'> <div style='float: left; padding: 20px;'> <div><?php echo $hotel['name']; ?></div> </div> </div> <?php endforeach; ?> </body> </html> <?php function getRakutenResult($latitude, $longitude) { // ベースとなるリクエストURL $baseurl = 'https://app.rakuten.co.jp/services/api/Travel/SimpleHotelSearch/20170426'; // リクエストのパラメータ作成 $params = array(); $params['applicationId'] = '####'; // アプリID $params['latitude'] = $latitude; // 任意のキーワード。※文字コードは UTF-8 $params['longitude'] = $longitude; // ソートの方法。※文字コードは UTF-8 $params['searchRadius'] = 1; // 最低価格 $canonical_string=''; foreach($params as $k => $v) { $canonical_string .= '&' . $k . '=' . $v; } // 先頭の'&'を除去 $canonical_string = substr($canonical_string, 1); // リクエストURL を作成 echo $url = $baseurl . '?' . $canonical_string; // XMLをオブジェクトに代入 $rakuten_json=json_decode(@file_get_contents($url, true)); $hotels = array(); foreach($rakuten_json->hotels as $hotel) { $hotels[] = array( 'no' => (string)$hotel->hotelBasicInfo->hotelNo, 'name' => (string)$hotel->hotelBasicInfo->hotelName, ); } return $hotels; } // RFC3986 形式で URL エンコードする関数 function urlencode_rfc3986($str) { return str_replace('%7E', '~', rawurlencode($str)); }?>
あなたの回答
tips
プレビュー