DMM APIのSDKを読んでいて、DMM APIのAFFILIATE IDが違うとずっと言われてしまっていた。今回試していたリクエストURLは以下のようになっていた。
https://api.dmm.com/affiliate/v3/ItemList?api_id=J5PasdasASsdeJshU&affiliate_id=affiliate-990&site=DMM.R18&service=digital&floor=videoa&hits=10&sort=date&keyword=上原亜衣&output=xml
<xml> <request> <parameters> <api_id> J5adsaaAesSfJfsZ6zzT5We1U </api_id> <affiliate_id> affiliate-990 </affiliate_id> <site> DMM.R18 </site> <service> digital </service> <floor> videoa </floor> <hits> 10 </hits> <sort> date </sort> <keyword> 上原亜衣 </keyword> <output> xml </output> </parameters> </request> <result> <status> 400 </status> <message> BAD REQUEST </message> <errors> <affiliate_id> Invalid Request Error </affiliate_id> </errors> </result> </xml>
しかし、エラーが出ているよう。
<errors> <affiliate_id> Invalid Request Error </affiliate_id> </errors>
とのこと。
解決法はとてもシンプルで、アフィリエイトIDが間違っていたようだった。SDKドキュメントを見ると、
論理名 | 物理名 | 必須 | 値のサンプル | 概要 |
---|---|---|---|---|
APIID | api_id | ○ | 登録時に割り振られたID | |
アフィリエイトID | affiliate_id | ○ | affiliate-990 | 登録時に割り振られた990~999までのアフィリエイトID |
サイト | site | ○ | DMM.R18 | 一般(DMM.com)かアダルト(DMM.R18)か |
アカウント情報からアフィリエイトIDが確認できるようだ。そこのアフィリエイトIDにしたらうまくいった。所要時間1時間。SDKちょっとわかりにくかった。