ラベル WEBサービス の投稿を表示しています。 すべての投稿を表示
ラベル WEBサービス の投稿を表示しています。 すべての投稿を表示

名前空間に悩まされる

レスポンスMXLに名前空間が含まれているので、
今まで通りには、アクセス出来なかった。
いろいろ検索して調べたら、いろいろ対策が在るようでした。
その中でも簡単な方法をメモしておきます。

 $addr = $resUrl;
 $tmpData = file_get_contents($addr);
 
 $tmpData = str_replace('header:Header', 'Header', $tmpData);
 $tmpData = str_replace('itemSearch:ItemSearch', 'ItemSearch', $tmpData);
 $xmlResult = simplexml_load_string($tmpData);

phpでレスポンスを取得

$result=simplexml_load_string(file_get_contents($resUrl));

リクエストURLの作成

sony とゆう検索ワードで検索したい場合のリクエストURL

http://auctions.yahooapis.jp/AuctionWebService/V2/search?appid=< あなたのアプリケーションID>&query=sony

< あなたのアプリケーションID>は各々ご自分のIDに変更してください。

レスポンスのXML

<ResultSet xsi:schemaLocation="urn:yahoo:jp:auc:search http://auctions.yahooapis.jp/AuctionWebService/V2/search.xsd" totalResultsAvailable="5057" totalResultsReturned="50" firstResultPosition="1">
<Result>
 <UnitsWord>SONY VAIO</UnitsWord>
 <UnitsWord>VAIO UX</UnitsWord>
 <UnitsWord>VAIO typep</UnitsWord>
 <UnitsWord>VAIO tz</UnitsWord>
 <UnitsWord>VAIO ジャンク</UnitsWord>
 <Item>
  <AuctionID>g93428619</AuctionID>
 <Title>
 【新品即決】SONY『VAIO N』Core2Duo P8700(2.53G)/250G/4G/4570
 </Title>
 <Seller>
  <Id>hu10n2ka2</Id>
  <ItemListUrl>
   http://auctions.yahooapis.jp/AuctionWebService/V2/sellingList?sellerID=hu10n2ka2
  </ItemListUrl>
  <RatingUrl>
   http://auctions.yahooapis.jp/AuctionWebService/V1/ShowRating?id=hu10n2ka2
  </RatingUrl>
 </Seller>
...............................................................

はじめに

Yahoo!デベロッパーネットワーク

リクエストURLを作成してアクセスして、
戻ってきたレスポンスを処理すればいい。

このサイトでは、
XMLのレスポンスをPHPで処理していく。