概要
yahooショッピングAPIの使い方を調べていたところ過去のバージョンであるV1(XML)を使ったものしかなかったためV3(JSON)での使い方を載せる
とりあえず結果
こちらの値を取得できました。
※まさとん3~5は気にしないでください。今回のコードからは削除してます。
環境
xampp
php5.4
windows10
とりあえずコード
api.php
<?php
// リクエストURL
$baseurl = "http://shopping.yahooapis.jp/ShoppingWebService/V3/itemSearch";
// リクエストのパラメータ作成
$params = array();
$params["appid"] = "ご自身のアプリケーションID"; // アプリケーションID
$params["query"] = "nike"; //お好きなフレーズに
var_dump($params);
echo "<br>";
$canonical_string = "";
foreach ($params as $key => $value) {
$canonical_string .= "&" . $key . "=" . $value;
}
// 先頭の'&'を除去
$canonical_string = substr($canonical_string, 1);
// URL を作成
$url = $baseurl . "?" . $canonical_string;
var_dump($url);
$yahoo_xml = file_get_contents($url); //$urlに含まれているレスポンスされたデータを取得
$yahoo_xml2 = json_decode( $yahoo_xml , true ) ; //オブジェクト化
// var_dump($yahoo_xml2); //オブジェクト化の中身見たければどぞ!
// var_dump($yahoo_xml2['hits']); //レスポンスされたデータから'hits'のデータだけ取得
var_dump($yahoo_xml2['hits'][10]['index']); //'hits'データの11番目のindexの中身を表示
var_dump($yahoo_xml2['hits'][2]['name']);
var_dump($yahoo_xml2['request']['query']);
補足
php7.4
以上?だと連想配列したJSON値を取得する際にエラーが起きるので注意です。(ここでいうと末尾3行"
の話)
なのでxampp内のphpを5.4に置き換えました。