楽天Webサービスを利用したジャンル別商品検索

2011年10月24日(月)
PROJECT KySS

このサンプルでは、楽天ウェブサービスのAPIを使ってジャンル別の商品を検索します。

楽天ウェブサービスを利用するには、デベロッパーIDが必要です。既に楽天会員である方には、メールでデベロッパー ID が送られているはずですので、それを使用します。また会員でない方は、下記 URL に入り、「新規登録」をしてデベロッパーID を取得してください。会員の方は、ログイン画面からIDとパスワード入力するとデベロッパーIDがメールで送られてきます。
→参照:楽天WEB SERVICE ログイン画面

楽天Web Serviceの提供APIの詳細については下記URLを参照してください。
→参照:楽天WEB SERVICE 楽天商品検索API
※ジャンル別商品検索における最新の version は 2010-09-15 です。

まずは、このプログラムで実装する機能の動作を、下記に解説しておきます。

実行するとジャンルを選択するListBoxが表示されます。ジャンルの一覧から「本,雑誌,コミック」を選択し、検索キー入力ボックスに「修羅の門」と入力します。関連するコミックの一覧がListBoxに表示されます。任意のコミックを選択すると、WebBrowserTaskが起動して、該当するコミックのサイトが表示されます。タッチスクリーンご使用の場合は2本の指で拡大縮小が可能です(図1)。

図1:該当するコミックの一覧が表示され、クリックするとサイトが表示される(クリックで拡大)

サンプル一式は、会員限定特典としてダウンロードできます。記事末尾をご確認ください。

実機(IS12T)で動かした動画はこちらです。

プロジェクトの作成

VS 2010のメニューから[ファイル(F)/新規作成(N)/プロジェクト(P)]を選択します。次に、「Windows Phone アプリケーション」を選択して、「名前(N)」に任意のプロジェクト名を指定します。ここでは「RakutenSearch」という名前を付けています。Windows Phoneのバージョンは7.1を選択します。

ソリューションエクスプローラー内に、ジャンル別IDを記録した、リスト1のXML文書ファイル(RakutenGenreId.xml)を追加しています。

またVS2010のメニューから「プロジェクト(P)/参照の追加(R)」と選択して、System.Xml.Linqを追加しておきます。

ダウンロードされたファイルにはXML文書ファイルは追加済みです。

リスト1 XML文書ファイル(RakutenGenreId.xml)

<?xml version="1.0"?>
<Items>
  <genreId title="CD,DVD,楽器">101240</genreId>
  <genreId title="インテリア,寝具 ">100804</genreId>
  <genreId title="おもちゃ,ホビー,ゲーム">101164</genreId>
  <genreId title="キッズ,ベビー,マタニティ">100533</genreId>
  <genreId title="キッチン,日用品雑貨,文具 ">215783</genreId>
  ~<genreId></genrrId>繰り返し~
</Items>

Microsoft.Phone.Controls.Toolkitの追加

このサンプルには、ジャンルの一覧が表示されているListBox内の項目を選択した際、傾き効果を視覚的に提供する、TiltEffectを使っています。TiltEffect効果を持たせるには、VS2010メニューの「プロジェクト(P)/参照の追加(R)」から、Microsoft.Phone.Controls.Toolkitを追加し、toolkitという名前空間を定義します。「Windows Phone Toolkit - August 2011 (7.1 SDK) 」がリリースされるまでは、TiltEffectはデフォルトでは提供されてなく、別途、ControlTiltEffect.dllを入手して参照する必要がありました。しかし「Windows Phone Toolkit - August 2011 (7.1 SDK) 」からは、デフォルトでTiltEffectがサポートされていますので、Microsoft.Phone.Controls.Toolkitを追加して名前空間を定義するだけで使用が可能になりました。

VS2010メニューの「プロジェクト(P) /参照の追加(R)」と選択して、「.NET」タブ内のMicrosoft.Phone.Controls.Toolkit を選択して[OK]ボタンをクリックします。もし、「.NET」タブ内にMicrosoft.Phone.Controls.Toolkit が存在しない場合は、「参照」タブから、C:\Program Files\Microsoft SDKs\Windows Phone\v7.1\Toolkit\Aug11\Binフォルダー内にあるMicrosoft.Phone.Controls.Toolkit.dllを指定してください(図2)。

図2:「Microsoft.Phone.Controls.Toolkit.dll」を指定する(クリックで拡大)

次に、要素にtoolkitという名前空間を定義します。xmlns:toolkit=”と入力するとインテリセンス機能が働き名前空間の値の一覧が表示されますので、その中から「Microsoft.Phone.Controls(Microsoft.Phone.Controls.Toolkit)を選択します(図3)。

図3:名前空間toolkitの値にMicrosoft.Phone.Controls(Microsoft.Phone.Controls.Toolkit)を選択」する(クリックで拡大)

名前空間の定義ができたところで、同じく、要素内に、toolkit:と入力するとTiltEffectが表示されますので、「toolkit:TiltEffect.IsTiltEnabled="True"」と選択していきます(図4)。これでTiltEffectの効果が適用されるようになります。ListBox内のジャンル一覧を選択した時にも傾き効果が適用されます。

図4:「toolkit:TiltEffect.IsTiltEnabled="True"」と選択する
  • 「楽天Webサービスを利用したジャンル別商品検索」サンプルプログラム

四国のSOHO。薬師寺国安(VBプログラマ)と、薬師寺聖(デザイナ、エンジニア)によるコラボレーション・ユニット。1997年6月、Dynamic HTMLとDirectAnimationの普及を目的として結成。共同開発やユニット名義での執筆活動を行う。XMLおよび.NETに関する著書や連載多数。最新刊は「Silverlight実践プログラミング」両名とも、Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)。http://www.PROJECTKySS.NET/

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています