*Yahoo!検索Webサービス 関連検索ワードのサンプルコード(C#) [#u664870c] Yahoo!関連検索ワードWebサービスを使用するサンプルです。なおこのサンプルを実行するには、xsd.exeにより「/c」オプションで作成されたクラスが必要です。このクラスを添付しておきます。 Yahoo!関連検索ワードWebサービスを使用するサンプルです。なおこのサンプルを実行するには、xsd.exeにより「/c」オプションで作成されたクラスが必要です((現在はYahoo!で公開されているXSDをそのままxsd.exeで変換しようとするとエラーが発生して失敗します。xsd.exeを使う前に修正する必要があります。))。このクラスを添付しておきます。 #attach(noform) #code(csharp){{ <%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> protected void Button1_Click(object sender, EventArgs e) { //URLを構築する string requestUrl = "http://api.search.yahoo.co.jp/AssistSearchService/V1/webunitSearch"; //アプリケーションIDを指定(必ず指定すること) requestUrl += "?appid=XXXXX"; //クエリー。UTF-8エンコードする。 requestUrl += "&query=" + Server.UrlEncode(TextBox1.Text); //HttpWebRequestの作成 System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create( requestUrl); System.Net.HttpWebResponse response = null; Yahoo.jp.WebUnitSearchResponse.ResultSet res; try { //レスポンスの取得 response = (System.Net.HttpWebResponse)request.GetResponse(); System.IO.Stream strm = response.GetResponseStream(); //サーバーから返されたXMLデータを解析 //xsd.exeで作成したクラスに逆シリアル化 System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer( typeof(Yahoo.jp.WebUnitSearchResponse.ResultSet)); res = (Yahoo.jp.WebUnitSearchResponse.ResultSet) serializer.Deserialize(strm); } catch (Exception ex) { Label1.Text = "エラー:" + Server.HtmlEncode(ex.Message); return; } finally { if (response != null) response.Close(); } //結果を表示 if (res.Result == null) { Label1.Text = "見つかりませんでした。"; } else { Label1.Text = ""; Label1.Text += "<b>" + Server.HtmlEncode(TextBox1.Text) + "</b> の検索結果 約 " + res.totalResultsAvailable + "件中 " + res.firstResultPosition + " - " + res.totalResultsReturned + " 件目<br />\n"; Label1.Text += "<ul>\n"; foreach (string r in res.Result) { Label1.Text += "<li>" + r + "\n"; } Label1.Text += "</ul>\n"; } } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title>Yahoo! 関連検索ワードWebサービス サンプル</title> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="送信" /><br /> <br /> <asp:Label ID="Label1" runat="server" EnableViewState="False"> </asp:Label></div> </form> <!-- Begin Yahoo! JAPAN Web Services Attribution Snippet --> <span style="margin:15px 15px 15px 15px"> <a href="http://developer.yahoo.co.jp/about">Webサービス by Yahoo! JAPAN</a> </span> <!-- End Yahoo! JAPAN Web Services Attribution Snippet --> </body> </html> }} //これより下は編集しないでください #pageinfo(,2006-09-12 (火) 03:07:03,DOBON!,2006-09-12 (火) 03:07:03,DOBON!) #pageinfo(,2006-09-12 (火) 03:07:03,DOBON!,2006-09-12 (火) 03:10:09,DOBON!) |