[PHP-users 35252] Re: API のレスポンス取得

minto_ys @ yahoo.co.jp minto_ys @ yahoo.co.jp
2010年 6月 24日 (木) 17:43:35 JST


まるこです。

これが本当に正解なのかは分かりませんが、
とりあえず、レスポンスから必要な情報をした方法を記述します。

実際にググッて調べたものの、
根本から理解出来ている状態ではないので
もっと良い方法があるかもしれません。
ご指摘頂けると幸いです。

$url = "http://product.adingo.jp/recommendBrowsing/";
$params = array(
    "num" => 5,
    "enc" => "utf8",
    "mid" => 566,
    "apid" => 1,
    "ip" => $_SERVER["REMOTE_ADDR"],
);
$url .= "?" . http_build_query($params);

$xmlData = simplexml_load_file($url);

 ↓↓↓ この結果 $xmlData は ↓↓↓

<?xml version="1.0" encoding="UTF-8" ?> 
- <ResultSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <Result category="high">
- <![CDATA[ マンション 売却 査定  ]]> 
  </Result>
- <Result category="high">
- <![CDATA[ FX スプレッド  ]]> 
  </Result>
- <Result category="r_skey">
- <![CDATA[ 愛の夢  ]]> 
  </Result>
- <Result category="c_cv">
- <![CDATA[ 保険料節約  ]]> 
  </Result>
- <Result category="c_cv">
- <![CDATA[ オンラインゲーム 無料  ]]> 
  </Result>
  </ResultSet>

 ↓↓↓ 抽出 ↓↓↓

for($i = 0; $i < 5; $i++){
  //category
  $a[$i] = $xmlData->Result[$i]->attributes();
  //CDATA
  $b[$i] = $xmlData->Result[$i];
}

こんな感じです。

ご指摘お待ちしております。




On Thu, 24 Jun 2010 13:00:28 +0900 (JST)
tk <kaidnu2 @ yahoo.co.jp> wrote:

> 守澤と申します。
> 
> 私も興味をもっています。
> 仰って頂ける範囲で結構ですので、
> 
> どこを、どうして、どう解決した。
> 
> のかを教えて頂けませんでしょうか?
> 宜しくお願い致します。
> 
> 
> 
> > まるこです。
> > 
> > 自己解決しました。
> > 申し訳ありませんでした。
> > 
> > 
> > 
> > 
> > On Wed, 23 Jun 2010 14:08:42 +0900
> > minto_ys @ yahoo.co.jp wrote:
> > 
> > > お世話になっております。
> > > まるこです。
> > > 
> > > 今回、PHP(Version 5.1.6)からAPIを使う事になったのですが、
> > > うまく行きません。
> > > 何とぞご教示お願い致します。
> > > 
> > > APIのリクエストURL(サンプル)
> > >
> >
> http://product.adingo.jp/recommendBrowsing/?num=5&mid=566&apid=1&ip=155.155.155.155&gen=m&age=21
> > > 
> > > これを、ブラウザのURLに直接入れると
> > > xmlのレスポンスが表示されます。
> > > 
> > > しかし、phpで
> > > $url =
> > "http://product.adingo.jp/recommendBrowsing/?num=5&mid=566&apid=1&
> > > ip=155.155.155.155&gen=m&age=21";
> > > echo $url."<br>";
> > > $xmlData = @simplexml_load_file($url);
> > > print print_r($xmlData)."<br>";
> > > 
> > > としても、arrayになってしまいます。
> > > 
> > > 何がいけないのか分かりません。
> > > 何か必要なものがあるのでしょうか?
> > > 
> > > 宜しくお願い致します。
> > > --------------------------------------
> > > 2010 FIFA World Cup News [Yahoo!Sports/sportsnavi]
> > > http://pr.mail.yahoo.co.jp/southafrica2010/
> > > _______________________________________________
> > > PHP-users mailing list  PHP-users @ php.gr.jp
> > > http://ml.php.gr.jp/mailman/listinfo/php-users
> > > PHP初心者のためのページ - 質問する前にはこちらをお読みください
> > > http://oldwww.php.gr.jp/php/novice.php3
> > 
> > 
> > --------------------------------------
> > 2010 FIFA World Cup News [Yahoo!Sports/sportsnavi]
> > http://pr.mail.yahoo.co.jp/southafrica2010/
> > _______________________________________________
> > PHP-users mailing list  PHP-users @ php.gr.jp
> > http://ml.php.gr.jp/mailman/listinfo/php-users
> > PHP初心者のためのページ - 質問する前にはこちらをお読みください
> > http://oldwww.php.gr.jp/php/novice.php3
> > 
> 
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3


--------------------------------------
2010 FIFA World Cup News [Yahoo!Sports/sportsnavi]
http://pr.mail.yahoo.co.jp/southafrica2010/


PHP-users メーリングリストの案内