DMM.com のAPI 叩くよ

とりあえず現状のソース

<?php
//UTF-8のおまじない
header("Content-type: text/html; charset=UTF-8");
mb_language("Japanese");
mb_internal_encoding("UTF-8");
require_once 'ref.php';
?>
<!doctype html>
<html>
<head>
		<html lang="ja">
		<meta charset="UTF-8">
	</head>
<body>
<form action="" method="post">
<?php
//受信済みのデータが有れば入力
if(isset($_POST["api_id"])) {
echo '<p><label for="api_id">api_id</label><input type="text" id="api_id" name="api_id" value="' . $_POST["api_id"] . '"></p>';
echo '<p><label for="affiliate_id">affiliate_id</label><input type="text" id="affiliate_id" name="affiliate_id" value="' . $_POST["affiliate_id"] . '"></p>';
echo '<select name="site" size="1">';
echo '<option value="DMM.com" selected>一般</option>';
echo '<option value="FANZA">アダルト</option>';
echo '</select>';
echo '<p><label for="service">service</label><input type="text" id="service" name="service" value="' . $_POST["service"] . '"></p>';
echo '<p><label for="floor">floor</label><input type="text" id="floor" name="floor" value="' . $_POST["floor"] . '"></p>';
echo '<p><label for="hits">hits</label><input type="text" id="hits" name="hits" value="' . $_POST["hits"] . '"></p>';
echo '<p><label for="offset">offset</label><input type="text" id="offset" name="offset" value="' . $_POST["offset"] . '"></p>';
echo '<select name="sort" size="1">';
echo '<option value="rank" selected>人気</option>';
echo '<option value="price">価格が高い順</option>';
echo '<option value="-price">価格が安い順</option>';
echo '<option value="date">新着</option>';
echo '<option value="review">評価</option>';
echo '<option value="match">マッチング順</option>';
echo '</select>';
echo '<p><label for="keyword">keyword</label><input type="text" id="keyword" name="keyword" value="' . $_POST["keyword"] . '"></p>';
echo '<p><label for="cid">cid</label><input type="text" id="cid" name="cid" value="' . $_POST["cid"] . '"></p>';
echo '<select name="article" size="1">';
echo '<option value="" selected>なし</option>';
echo '<option value="actress">女優</option>';
echo '<option value="author">作者</option>';
echo '<option value="genre">ジャンル</option>';
echo '<option value="series">シリーズ</option>';
echo '<option value="maker">メーカー</option>';
echo '</select>';
echo '<p><label for="article_id">article_id</label><input type="text" id="article_id" name="article_id" value="' . $_POST["article_id"] . '"></p>';
echo '<p><label for="gte_date">gte_date</label><input type="text" id="gte_date" name="gte_date" value="' . $_POST["gte_date"] . '"></p>';
echo '<p><label for="lte_date">lte_date</label><input type="text" id="lte_date" name="lte_date" value="' . $_POST["lte_date"] . '"></p>';
echo '<select name="mono_stock" size="1">';
echo '<option value="">初期値</option>';
echo '<option value="stock">在庫あり</option>';
echo '<option value="reserve">予約受付中</option>';
echo '<option value="mono">DMM通販のみ</option>';
echo '<option value="dmp">マーケットプレイスのみ</option>';
echo '</select>';
}else{
echo '<p><label for="api_id">api_id</label><input type="text" id="api_id" name="api_id" value="API IDを入れる"></p>';
echo '<p><label for="affiliate_id">affiliate_id</label><input type="text" id="affiliate_id" name="affiliate_id" value="アフィリエイトID(なんか990とかつくやつ)"></p>';
echo '<select name="site" size="1">';
echo '<option value="DMM.com" selected>一般</option>';
echo '<option value="FANZA">アダルト</option>';
echo '</select>';
echo '<p><label for="service">service</label><input type="text" id="service" name="service" value="ebook"></p>';
echo '<p><label for="floor">floor</label><input type="text" id="floor" name="floor" value="comic"></p>';
echo '<p><label for="hits">hits</label><input type="text" id="hits" name="hits" value=""></p>';
echo '<p><label for="offset">offset</label><input type="text" id="offset" name="offset" value=""></p>';
echo '<select name="sort" size="1">';
echo '<option value="rank" selected>人気</option>';
echo '<option value="price">価格が高い順</option>';
echo '<option value="-price">価格が安い順</option>';
echo '<option value="date">新着</option>';
echo '<option value="review">評価</option>';
echo '<option value="match">マッチング順</option>';
echo '</select>';
echo '<p><label for="keyword">keyword</label><input type="text" id="keyword" name="keyword" value=""></p>';
echo '<p><label for="cid">cid</label><input type="text" id="cid" name="cid" value=""></p>';
echo '<select name="article" size="1">';
echo '<option value="" selected>なし</option>';
echo '<option value="actress">女優</option>';
echo '<option value="author">作者</option>';
echo '<option value="genre">ジャンル</option>';
echo '<option value="series">シリーズ</option>';
echo '<option value="maker">メーカー</option>';
echo '</select>';
echo '<p><label for="article_id">article_id</label><input type="text" id="article_id" name="article_id" value=""></p>';
echo '<p><label for="gte_date">gte_date</label><input type="text" id="gte_date" name="gte_date" placeholder="yyyy-mm-ddT00:00:00"></p>';
echo '<p><label for="lte_date">lte_date</label><input type="text" id="lte_date" name="lte_date" placeholder="yyyy-mm-ddT00:00:00"></p>';
echo '<select name="mono_stock" size="1">';
echo '<option value="" selected>初期値</option>';
echo '<option value="stock">在庫あり</option>';
echo '<option value="reserve">予約受付中</option>';
echo '<option value="mono">DMM通販のみ</option>';
echo '<option value="dmp">マーケットプレイスのみ</option>';
echo '</select>';
}
?>
<input type="submit">
</form>
<?php
if(isset($_POST["api_id"])) {
$api_id = $_POST["api_id"];
$affiliate_id = $_POST["affiliate_id"];
$site = $_POST["site"];
$service = $_POST["service"];
$floor = $_POST["floor"];
$hits = $_POST["hits"];
$offset = $_POST["offset"];
$sort = $_POST["sort"];
$keyword = urlencode($_POST["keyword"]);
$cid = $_POST["cid"];
$article = $_POST["article"];
$article_id = $_POST["article_id"];
$gte_date = $_POST["gte_date"];
$lte_date = $_POST["lte_date"];
$mono_stock = $_POST["mono_stock"];
$para="";
if($api_id != ""){$para = $para . "&" . api_id . "={$api_id}";}
if($affiliate_id != ""){$para = $para . "&" . affiliate_id . "={$affiliate_id}";}
if($site != ""){$para = $para . "&" . site . "={$site}";}
if($service != ""){$para = $para . "&" . service . "={$service}";}
if($floor != ""){$para = $para . "&" . floor . "={$floor}";}
if($hits != ""){$para = $para . "&" . hits . "={$hits}";}
if($offset != ""){$para = $para . "&" . offset . "={$offset}";}
if($sort != ""){$para = $para . "&" . sort . "={$sort}";}
if($keyword != ""){$para = $para . "&" . keyword . "={$keyword}";}
if($cid != ""){$para = $para . "&" . cid . "={$cid}";}
if($article != ""){$para = $para . "&" . article . "={$article}";}
if($article_id != ""){$para = $para . "&" . article_id . "={$article_id}";}
if($gte_date != ""){$para = $para . "&" . gte_date . "={$gte_date}";}
if($lte_date != ""){$para = $para . "&" . lte_date . "={$lte_date}";}
if($mono_stock != ""){$para = $para . "&" . mono_stock . "={$mono_stock}";}
$para=substr($para,1);
$url = "https://api.dmm.com/affiliate/v3/ItemList?" . $para;
// JSONデータを取得・エンコードしオブジェクトに変換
$json = file_get_contents($url);
$obj = json_decode( $json );
//	echo "<pre>";
//	var_dump ($obj);
//	echo "</pre>";
$items=$obj->result->items;
//アイテム数
echo count($items);
$count=1;
foreach($items as $item){
//作者情報まとめる
$authors=$item->iteminfo->author;
$sakusya="";
foreach($authors as $author){
if($sakusya==""){
$sakusya=$author->name . "先生";
}else{
$sakusya=$sakusya . "、" . $author->name . "先生";
}
}
//URL情報(立ち読み対応が有ればそちら)
$url="";
if($item->tachiyomi->affiliateURL){
$url=$item->tachiyomi->affiliateURL;
}else{
$url=$item->affiliateURL;
}
//出力
echo "<p>第{$count}位:{$sakusya}の『{$item->title}{$item->number}{$item->prices->price}円<br/>{$url}</p>";
$count++;
}
}
?>

出力


第5位:川上泰樹先生、伏瀬先生、みっつばー先生の『転生したらスライムだった件』21 今 660円
https://al.dmm.com/?lurl=https%3A%2F%2Fbook.dmm.com%2Ftachiyomi%2F%3Fcid%3DFRNfXRNVFW1RAQxaCgZWTgoBRQYFDlcBThFfCUJYU1kCCERYCmkGUFcKWhRHVwVfCBxZW1kEVQ__%26lin%3D1%26sd%3D0%2F&af_id=elve-990&ch=api

コピペしてツイートするとこんな感じ

どのくらい面白かった?

星を押して送信してね

平均 0 / 5. Vote count: 0

是非フォローしてください

最新の情報をお伝えします

コメントする

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