DMM API ver3.0 入門【PHP】

DMM API ver3.0リリース

2016.02.25【【商品情報API ver3.0 リリースのご案内】】
平素はDMMサービスのPRにご協力賜り、誠にありがとうございます。
「商品情報API ver3.0」をリリース致しました。
・個別商品に関するAPIを「商品情報API」に統合
・フロアAPIを追加
・女優検索APIを追加
・ジャンル検索APIを追加
・メーカー検索APIを追加
・シリーズ検索APIを追加
・作者検索APIを追加
※「商品情報API ver3.0」のリリースに伴い、2016年7月31日をもちまして「商品情報API ver2.0」のご提供を終了させていただきます。

「DMM API ver3.0」がリリース。「ver2.0」は2016年7月末で終了。基本的な使い方は2と同じ。
<変化点>
・出力方法が「xml」に加え「json」も選択可能
・キーワードはUTF-8でOK。謎の「euc-jp」縛りは解除
・タイムスタンプ不要
・アダルトsiteが「DMM.R18」に変更
・floorが微妙に変更。(フロアAPIより確認)
・一部サンプル画像の使用範囲が縮小(動画AVとPCゲームくらいでしかまともに取得できなくなっている。)
・商品説明コメントが取得不可になる

サンプルコード(人気商品ランキング)

<?php
$api_id = "XXX";//利用規約をご確認のうえ、API利用登録を行ってください。API IDが発行されます。
$affiliate_id = "XXX-990";//アフィリエイトIDは末尾を990~999に設定してください。末尾が990~999以外ではエラーとなります。
$site = "DMM.R18";//一般(DMM.com)かアダルト(DMM.R18)か
$service = "";//検索対象サービスを指定します
$floor = "";//検索対象フロアを指定します
$hits = "10";//検索結果の件数を指定します。
$sort = "rank";//初期値:rank
$keyword = "";//商品タイトルなどからキーワード検索をします。
$xml = "https://api.dmm.com/affiliate/v3/ItemList?api_id=$api_id&affiliate_id=$affiliate_id&site=$site&service=$service&floor=$floor&hits=$hits&sort=$sort&keyword=$keyword&output=xml";
$xml = simplexml_load_file($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
//var_dump($xml);
for ($i = 0; ; $i++) {
	$item = $xml->result->items->item;
	$title[$i] = $item[$i] ->title;
	$link[$i] = $item[$i] ->URL;
	$price[$i] = $item[$i] ->prices->price;
	$gazo[$i] = $item[$i] ->imageURL->large;
	$actress[$i] = $item[$i] ->iteminfo->actress->item->name;
	$series[$i] = $item[$i] ->iteminfo->series->item->name;
	$sampleMovieURL[$i] = $item[$i] ->sampleMovieURL->size_720_480;
	if ($title[$i] == "") {break;}
	$art = "<div class='az'>
	<a target='_blank' href='$link[$i]$id'><img src='$gazo[$i]' alt='$title[$i]' title='$title[$i]' /></a>
	◆タイトル:<a target='_blank' href='$link[$i]'>$title[$i]</a><BR>
	◆女優名:$actress[$i]<BR>
	◆価格:$price[$i]<BR>
	◆シリーズ:$series[$i]<BR>
	◆サンプルムービー:<a target='_blank' href='$sampleMovieURL[$i]'>サンプル[720×480]を視聴する</a>
	</div>";
echo $art;
}//▲for
?>

→DMMAPI表示テスト
「XML」で出力する場合、「simplexml_load_file()」で処理。
「json」で出力する場合は、「json_decode()」で処理↓

***
$json = "https://api.dmm.com/affiliate/v3***&output=json";
$json = file_get_contents( $json );
$arr = json_decode($json);
for ($i = 0; ; $i++) {
	$item = $arr->result->items;
	$title[$i] = $item[$i] ->title;
***

リクエストパラメータは商品情報APIリファレンス(https://affiliate.dmm.com/api/v3/itemlist.html)から確認。

関連リンク

DMM APIがリニューアルされたみたい[Qiita](http://qiita.com/dimgraycat/items/85aef52f75ad58aa123b)
DMM APIを使ってライブドアブログに自動投稿してみる[はてな](http://anond.hatelabo.jp/20160326071203)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です