DUGA API 入門【PHP】

ウェブサービス(Web API)β版をリリース

2016年04月18日
かねてよりご要望の多かった「ウェブサービス(Web API)β版」の提供を本日より開始しました。
ウェブサービスをご利用いただくとDUGAの作品ページと同等の情報量を持つコンテンツを作成できるようになります。従来の作品データCSVでは、必要な項目が不足していたり、ランキング情報を取得できないという制約によって、作成できるコンテンツに限界がありましたが、ウェブサービスをご利用いただくことにより、これまでは実現できなかった非常に高度なアプリケーションを開発することが可能となります。
ウェブサービスのご利用にあたっては、APEXアフィリエイトシステムへの登録が必要です。

DUGAのAPIが公開されていたので触ってみた。

APIの仕様

出力はXMLかJSOM
「リクエスト回数制限」が特殊。60秒間60回。そのままでの使用はできない。

APIのリクエスト回数に対して制限が設けられています。上限回数を超えて更にリクエストを行った場合、APIからはエラーが返されます。リクエストの上限回数は1アプリケーションIDごとに60秒間60回です。
回数制限によるエラー回避の観点から、APIへのリクエストのトリガーをエンドユーザーの操作によって毎回発生させることは好ましくありません。ユーザーの要求に対しては、前もって取得しておいたレスポンスから生成したコンテンツ(キャッシュ)を返すといった処理の実装が推奨されます。

リクエスト制限は気にせず、とりあえず表示させてみる↓

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

<?php
$xml = "http://affapi.duga.jp/search?XXX";
$xml = simplexml_load_file($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
for ($i = 0; ; $i++) {
	$item = $xml->items->item;
	$title[$i] = $item[$i] ->title;
	$link[$i] = $item[$i] ->url;
	$l_image[$i] = $item[$i] ->jacketimage->large;
	$m_image[$i] = $item[$i] ->jacketimage->midium;
	$price[$i] = $item[$i] ->price;
	if ($title[$i] == "") {break;}
	$art = "<div class='az'>
	<a target='_blank' href='$link[$i]$id'><img src='$m_image[$i]' alt='$title[$i]' title='$title[$i]' /></a>
	◆タイトル:<a target='_blank' href='$link[$i]'>$title[$i]</a><BR>
	◆価格:$price[$i]<BR>
	</div>";
echo $art;
}//▲for
?>

→DUGAAPI表示テスト

自動ランキングツール

自動ランキングツールを作成。
→DUGA自動ランキングツール
3つのファイルに分けて処理した。
1つ目:CRONで定期実行。APIをリクエストし、XMLファイルに書き込む
2つ目:書き込み用のXMLファイル
3つ目:出力処理。アフィリエイトIDや表示数を受け取り、出力処理を行う
回数制限回避のため、CRONで定期的にリクエスト、更新する仕様。

その他メモ

レスポンスjacketimageの画像サイズは「medium」ではなく「midium」。多分ただの書き間違い。β版だしそのうち修正されそう。

コメントを残す

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