コケムスシェルター

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)

コメントを残す

メールアドレスが公開されることはありません。


2件のコメント

  1. 今回初めて伺いました。
    テストしましたが同じように表示されました。
    2つおききしたいのですが
    1.このような形でまとめサイトを仕上げていくのはむつかしいでしょうか?

    2.DMM.comの電子書籍のタイトル・画像・説明・価格・アフィリエイトリンクつきでつくりたいのですがどのようにやればいいでしょうか?(PPCアフィリエイト用)

    よろしくお願いいたします。

    • 管理人 より:

      コメントありがとうございます。

      1.
      APIの情報をまとめても劣化DMM.comにしかならないかと。

      2.
      製品説明以外は取得可能です。
      パラメータはDMMの商品情報APIリファレンスを参考ください。