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へのリクエストのトリガーをエンドユーザーの操作によって毎回発生させることは好ましくありません。ユーザーの要求に対しては、前もって取得しておいたレスポンスから生成したコンテンツ(キャッシュ)を返すといった処理の実装が推奨されます。

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$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」。多分ただの書き間違い。β版だしそのうち修正されそう。

コメントを残す

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