Java 楽天API 〜Javaで楽天の商品情報をゲット〜

イントロダクション

ここ最近は、人工知能(機械学習)の学習を進めようとネットを検索しては首をひねっています。

そこで、ちょっとPHPでかじったのでJavaでやってみようと思いました。

楽天API with Java

ちょっと古いけど、このサイトを参考に作成します。

そして作りました。シンプルに以下の手順を踏みます。

  1. 参考サイトにあるURLにリクエスト(GET)を送信
  2. 値を取得する

※パラメータを設定してやる必要があります。詳細は参考サイトをみてください。

<ソース>

	/**
	 * 【実行方法】参考サイトより
	 * https://app.rakuten.co.jp/services/api/IchibaItem/Search/20170706?
	 * applicationId=[アプリID]
	 * &keyword=検索したいキーワード
	 * &sort=%2BitemPrice
	 * 
	 * @param keyword 検索するときのキーワード
	 */
	public void exeRakutenAPI(String keyword) {
		StringBuilder RAKUTEN_API = new StringBuilder(prop.getProperty("pUrl"));
		RAKUTEN_API.append("applicationId=" + prop.getProperty("applicationId"));
		RAKUTEN_API.append("&keyword=" + keyword);
		URLConnection connection = null;
		try {     // ここの部分でリクエスト送信と結果の取得
			URL url = new URL(RAKUTEN_API.toString());
			connection = url.openConnection();
			BufferedReader buf = new BufferedReader(new InputStreamReader(connection.getInputStream()));
			String tmp = "";
			while((tmp = buf.readLine()) != null) {
				System.out.println(tmp);
			}
		} catch(IOException e) {
			e.printStackTrace();
		}
	}


取得したデータ(アイテム1件分)

"Items":[{"Item":{"itemName":"クリスタルガイザー(500mL*48本入)【クリスタルガイザー(Crystal Geyser)】[水 ミネラルウォーター 500ml 48本ケース]【送料無料(北海道、沖縄を除く)】", 
"catchcopy":"クリスタルガイザー / クリスタルガイザー(Crystal Geyser) / 水 ミネラルウォーター 500ml 48本ケース", 
"itemCode":"soukaidrink:10000912", 
"itemPrice":2136, 
"itemCaption":"お店TOP>ミネラルウォーター>海外ミネラルウォーター>クリスタルガイザー (500mL*48本入)☆送料無料(北海道、沖縄を除く)☆【クリスタルガイザーの商品詳細】アメリカの定番ミネラルウォーター、クリスタルガイザー。まとめ買いに最適!クセが少なく飲みやすいので、水分補給にそのまま飲むもよし、コーヒー・お茶などの飲料用、お米やお料理等、体に取り入れる水としていろいろな場所場面で大活躍!また、職場・学校・お店・レジャー等外出先にも持って行っていろいろな場面で使えますよ。非常時の備えとして防災グッズとあわせて備蓄しておくのもおすすめです。【クリスタルガイザーの原材料】水(湧水)【栄養成分】カリフォルニア・オランチャ水源(100mLあたり)エネルギー・・・0kcaLたんぱく質・・・0g脂質・・・0g炭水化物・・・0gナトリウム・・・1.91mgカルシウム・・・2.24mgマグネシウム・・・0.27mgカリウム・・・0.26mg硬度・・・67mg/Lウィード・シャスタ水源(100mLあたり)エネルギー・・・0kcaLタンパク質・・・0g脂質・・・ 0g炭水化物・・・0gナトリウム・・・1.13mgカルシウム・・・ 0.64mgマグネシウム・・・0.54mgカリウム・・・0.18mgバナジウム・・・ 5μg硬度・・・38mg/L【保存方法】・高温、直射日光をさけて保存してください。・開栓後は冷蔵庫に入れ、お早めにお飲みください。・容器のまま、加熱、凍結はしないでください。・加熱、凍結、長期保存等により白い沈殿物ができる事がありますが、天然のミネラル成分の結晶ですのでご安心ください。【注意事項】・キャップが小さく、開けづらくなっております。開封時にはプラスチック部分で指などを切らないようご注意ください。【ブランド】クリスタルガイザー(Crystal Geyser)【発売元、製造元、輸入元又は販売元】Rakuten Direct本品は並行輸入品です。パッケージ等、予告なく変更される場合がございます。予めご了承ください。賞味期限はボトル上部にSELL BY MM.DD.YYと記載されております。 例)10.08.20XX→20XX年10月8日まで採水地は2か所(オランチャ・シャスタ)ございますがお選びいただくことはできません。リニューアルに伴い、パッケージ・内容等予告なく変更する場合がございます。予めご了承ください。(ケース セット Crystal Geyser クリスタルカイザー 0.5L クリスタルゲイザー)/ケース//(/F206803/F200201/F221807/F214903/F201603/F233602/)/Rakuten Direct810-0001 福岡県福岡市中央区天神1丁目15番6号050-5306-1825広告文責:Rakuten Direct株式会社電話:050-5306-1825[ミネラルウォーター/ブランド:クリスタルガイザー(Crystal Geyser)/]", 
"itemUrl":"https://item.rakuten.co.jp/soukaidrink/9000009984074/", 
"shopUrl":"https://www.rakuten.co.jp/soukaidrink/", 
"smallImageUrls":[{"imageUrl":"https://thumbnail.image.rakuten.co.jp/@0_mall/soukaidrink/cabinet/74/9000009984074.jpg?_ex=64x64"}, 
{"imageUrl":"https://thumbnail.image.rakuten.co.jp/@0_mall/soukaidrink/cabinet/74/9000009984074-2.jpg?_ex=64x64"}, 
{"imageUrl":"https://thumbnail.image.rakuten.co.jp/@0_mall/soukaidrink/cabinet/74/9000009984074-3.jpg?_ex=64x64"}], 
"mediumImageUrls":[{"imageUrl":"https://thumbnail.image.rakuten.co.jp/@0_mall/soukaidrink/cabinet/74/9000009984074.jpg?_ex=128x128"}, 
{"imageUrl":"https://thumbnail.image.rakuten.co.jp/@0_mall/soukaidrink/cabinet/74/9000009984074-2.jpg?_ex=128x128"}, 
{"imageUrl":"https://thumbnail.image.rakuten.co.jp/@0_mall/soukaidrink/cabinet/74/9000009984074-3.jpg?_ex=128x128"}], 
"affiliateUrl":"", 
"shopAffiliateUrl":"", 
"imageFlag":1, 
"availability":1, 
"taxFlag":0, 
"postageFlag":1, 
"creditCardFlag":1, 
"shopOfTheYearFlag":0, 
"shipOverseasFlag":0, 
"shipOverseasArea":"", 
"asurakuFlag":0, 
"asurakuClosingTime":"", 
"asurakuArea":"", 
"affiliateRate":1, 
"startTime":"", 
"endTime":"", 
"reviewCount":21459, 
"reviewAverage":4.56, 
"pointRate":1, 
"pointRateStartTime":"", 
"pointRateEndTime":"", 
"giftFlag":0, 
"shopName":"爽快ドリンク専門店", 
"shopCode":"soukaidrink", 
"genreId":"201351", 
"tagIds":[1003704, 
1003726, 
1003729, 
1003741, 
1003798, 
1007192]}},

ふー、一服でもついて寝よう