第0回プログラミング実習室(2009年11月8日)のレポート

第0回プログラミング実習室

11月8日(日)13時~18時、ネスト赤羽2階会議室にて、「第0回プログラミング実習室」が行われました。

参加者21名と、定員を20名前後と設定していましたので、ぴったりの人数でした。
また、和歌山県や新潟県からお越しになった方もいました。多くの方々にお集まりいただきまして、ありがとうございました。

第0回プログラミング実習室(2009年11月8日)のスケジュールは、
第0回プログラミング実習室(2009年11月8日)の申し込みに書かれた通りに進みました。

12時から1時間ほど、「ジョナサン赤羽岩淵店」にて、ランチ会を行いました。
今回が第1回目ということもあり、お互いを知らない人同士も多かったので、自己紹介を兼ねてのランチ会となりました。
15名の方にご参加いただきました。ありがとうございます!

その後、13時より、ネスト赤羽2階会議室で、勉強会をスタートしました。

まず、始めに改めて、名刺交換。
情報交換や交流をしやすく工夫しました。

今回は、
楽天ウェブサービスと、Valuecommerce+YahooAPIのお話と、それに基づくサンプルコード、
余裕のある人は、Wordpressのカスタムフィールド等を利用したサイト作りをしました。

第0回のプログラミング実習室の講師は、
株式会社しくみラボの田村さんでした。

田村さんのマインドマップ型のレジュメは、以下のURLから閲覧が可能です。
プログラミング実習室 第1回レジュメ

関連するリンクもマインドマップに貼ってありますので、ご参考ください。

まず始めに、
バリューコマース(ValueCommerce)への登録方法
・バリューコマース(ValueCommerce)でAPIを使う場合の広告設定
Yahoo!デベロッパーネットワークへの登録方法
楽天ウェブサービス(RAKUTEN WEBSERVICE)への登録の仕方
を、プロジェクタを使って、実演していただきました。

プログラミング実習室第0回

その後、価格や排除キーワードやショップの絞り込み等で、自分の希望通りの検索システムにするコツについて、参加者で話し合う等しました。
それらを実現するためにAPIには、パラメーターがあり、より良く使うことが、一つのコツとなるようです。

一通りのお話の後、それぞれワークショップ形式で、それぞれのWEB制作を行いました。
分からない点がある場合には、近くの人に聞いたり、技術的に高い人に相談したり、それぞれが自主的なコミュニケーションの中で、APIを使ってWEBサービスを作るキッカケの勉強をしました。

時間的に余裕のある人は、Wordpressのカスタムフィールド等を利用したサイト作りなどを行い、プロジェクタで実演していただきました。

今回、勉強のために、サンプルコードとして、参加者に配布されたPHPプログラムコードは、以下の通りです。

(1)
楽天APIが正常に動作していることを確認するため、デベロッパーID(Deveroper ID)とアフィリエイトID(Affiliate ID)を入力し、XML形式で出力するPHPプログラムのサンプルコード。
これにより、URLが正しいかをチェックできるため、ここから作るとのこと。
IDが正しいかを確認するためにも用いました。

(2)
(1)を踏まえて、Simple XMLで動いていることを確認するPHPプログラムのサンプルコード。
Simple XMLを用いるため、PHP5の環境でのみ動きます(PHP4では動きません)。
自分のレンタルサーバーやXAMPPなどの環境で、動いていることを確認するために用いました。

(3)
(1)と(2)は、文字列が出力されるのみでしたが、(1)と(2)を踏まえて、実際にWEBサービスの原型となるモノを作りました。
(2)で確認した中身を、人間が見やすいように、表形式で出力しました。
foreach構文を用いて、連想配列を最後まで繰り返し回しているPHPプログラムのサンプルコードです。
今回は、例として、「株式会社シグマの1400万画素高画質デジタルカメラSIGMA DP2」を呼び出してAPIを使ってサンプルページを作りました。

SIGMA DP2を、楽天APIで呼び出したサンプルコード
(デザイン部分は、htmlやcssで工夫することができます。)
(エラーが出る場合には、今回は勉強用のサンプルコードですので、ページを更新することで解決すると思います。以降、同じです。)

(4)
(3)では、「$query = “0085126926755″;」という形で、SIGMA DP2 のJANコードを内部のPHPコードで取得しましたが、より応用的なコードとするために、
「$query = $_GET['query'];」
として、queryを$_GETで取得しました。
これにより、URLの末尾に、「?query=0085126926755」と記載するなど、「=」以降で商品を流動的にすることができます。

SIGMA DP2を、楽天APIで呼び出したサンプルコード
URLが、
http://www.program-study.com/link/rakuten1108-4.php?query=0085126926755
となります。

今回は勉強用のサンプルコードですので、まだ原型ではありますが、ここから応用的な形にすることができるようになります。
例えば、
casioを、楽天APIで呼び出したサンプルコード
URLが、
http://www.program-study.com/link/rakuten1108-4.php?query=casio
となります。

このように「=」以降を変えることで、APIから別の商品データの取得を行うことができることを、参加者の方にはワークショップ形式で実感していただきました。
サンプルコードは、日本語対応はしていませんので、日本語でのqueryにはエラーが出来ますが、よりコードを改善することで解決することができます。

(5)
(4)を踏まえて、楽天ウェブサービス(RAKUTEN WEBSERVICE)のパラメーターを使って、価格の安い順にソートして、商品を表示させました。

SIGMA DP2を、価格の安い順にソートして、楽天APIで呼び出したサンプルコード

(6)
(5)を踏まえて、さらに、「商品詳細」を表示させました。
「商品詳細」は今回は全文取得の羅列になっていますが、これもよりコードを改善することで自由にデータの取得を考えることができます。
もちろん、デザイン部分も、htmlやcssで工夫することで、改善することができます。

SIGMA DP2を、価格の安い順にソートして、かつ、商品詳細を表示させて、楽天APIで呼び出したサンプルコード

(7)
楽天のAPIを踏まえた上で、同じことをYahooショッピングAPIでも表示させました。
上の(5)と同じ仕組みを、バリューコマース(ValueCommerce)Yahoo!デベロッパーネットワークで実現させたPHPプログラムのサンプルコードです。
また、JavaScripttの仕組みを用いて、価格などでソートが掛けられるようになっています。

SIGMA DP2を、JavaScriptによってソートできるようにして、YahooショッピングAPIで呼び出したサンプルコード

(8)
(5)と(7)を踏まえて、上段にYahooショッピングAPIを、下段に楽天APIを表示させました。

SIGMA DP2を、JavaScriptによってソートできるようにして、上段にYahooショッピングAPIを、下段に楽天APIを、それぞれ呼び出したサンプルコード

(9)
(8)を踏まえて、Yahooショッピングと楽天を横断させて、両方を合わせて、価格の安い順にソートして表示させました。
YahooショッピングAPIと楽天APIを組み合わせて検索を行う、いわゆる「横断検索」の原型を、参加者の方にはワークショップ形式で実感していただきました。

SIGMA DP2を、JavaScriptによってソートできるようにして、YahooショッピングAPIと楽天APIを、横断検索して呼び出したサンプルコード

今回の、APIの登録の説明や、サンプルコードの説明は、以上にして、その後は、ワークショップ形式で、それぞれのサイトを作っていただきました。
分からない点がある人は、その都度、声を掛けていただいて、解決しながら、サイトを作っていきました。

さっそく、勉強会中にも、いくつかWEBサービスを作られた方がいらっしゃいまいたので、ご紹介いたします。

プログラミング実習室第0回

うかさんのうかブログの個別記事の右側サイドバーの商品表示は、YahooショッピングAPIと楽天APIとリンクシェア(linkshare)クロスオーバーサーチを使って、その3つのAPIの横断検索の結果を表示させています。カスタムフィールドと組み合わせて、表示させているという説明をいただきました。(レイアウトをまた後日変えられるかもしれないとのことです。)

ちわままさんの朝カレー宣言!の個別記事の記事の下にある検索結果も、同様に、YahooショッピングAPIと楽天APIを使って、横断検索の結果を表示させています。WordPressのカスタムフィールドと組み合わせて、表示させているという説明をいただきました。

その他にも、いくつかのサイトで、WEBサービスの原型ができたというお話が上がってきました。

今回は、バリューコマース(ValueCommerce)の媒体担当の方も勉強会に参加されていましたので、勉強会の最後に、パソコン周辺グッズを参加者一人一人にいただきました。ありがとうございます!

次回以降は、毎月第2土曜日に定期開催することになりましたので、お時間とご興味の合います方は、次回以降もぜひご参加ください。

プログラミング実習室は、サイト制作・運営のためのプログラミングを学ぶ場として、向上を目指す方々にとって、有意義な勉強会&交流会にしていければと考えております。

どうぞよろしくお願い致します。