*MultiOperationのサンプルコード(VB.NET) [#de68f39e]

ここで紹介しているコードは[[こちらのプロキシクラス>../../../ProxyClass]]を使用しています。

ここで紹介しているコードは[[こちらのC#のコード>../../CS/MultiOperation]]をVB.NETに変換したものです。

MultiOperationを使ってItemSearchオペレーションとListSearchオペレーションのリクエストを一度に送信するサンプルです。TextBoxに検索するキーワードを入力します。

#code(vbnet){{
<%@ Page Language="VB" %>
<%@ Import Namespace="Amazon.jp.v20060913" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    Protected Sub Button1_Click(ByVal sender As Object, _
        ByVal e As EventArgs)
        '商品検索のためのItemSearchを作成
        Dim req1 As New ItemSearchRequest()
        '検索するストアのインデックスを指定する(必須)
        req1.SearchIndex = "Blended"
        '検索する語句を指定
        req1.Keywords = TextBox1.Text
        Dim isc As New ItemSearch()
        'あなたのAccess Key ID
        'AWSAccessKeyIdかSubscriptionIdのどちらかを必ず指定する
        isc.AWSAccessKeyId = "(あなたのAccessKeyID)"
        'あなたのAssociate ID
        isc.AssociateTag = "dobonnet-22"
        isc.Request = New ItemSearchRequest() {req1}
   
        'ウィッシュリスト検索のためのListSearchを作成
        Dim req2 As New ListSearchRequest()
        'Amazon.co.jpではListTypeにはWishListしか指定できない
        req2.ListType = ListSearchRequestListType.WishList
        'リスト作成者の名前で検索する
        req2.Name = TextBox1.Text
        req2.ResponseGroup = New String() _
            {"Request", "ListInfo", "ListMinimum"}
        Dim list As New ListSearch()
        'あなたのAccess Key ID
        list.AWSAccessKeyId = "(あなたのAccessKeyID)"
        'あなたのAssociate ID
        list.AssociateTag = "dobonnet-22"
        list.Request = New ListSearchRequest() {req2}
   
        'MultiOperationの作成
        Dim multiOpe As New MultiOperation()
        multiOpe.ItemSearch = isc
        multiOpe.ListSearch = list
   
        Dim aws As New AWSECommerceService()
        Dim res As MultiOperationResponse
        Try
            'MultiOperationを実行し、結果を取得
            res = aws.MultiOperation(multiOpe)
        Catch ex As Exception
            Label1.Text = "エラー:" + Server.HtmlEncode(ex.Message)
            Return
        End Try
   
        If res Is Nothing Then
            Label1.Text = "結果を取得できませんでした。"
            Return
        End If
   
        '結果を表示
        Label1.Text = ""
   
        '商品検索の結果
        Label1.Text += "<h2>商品検索の結果</h2>" + vbLf
        Dim res1 As ItemSearchResponse = res.ItemSearchResponse
        If res1 Is Nothing OrElse res1.Items Is Nothing Then
            Label1.Text += "商品が見つかりませんでした。<br />" + vbLf
        ElseIf Not (res1.Items(0).Request.Errors Is Nothing) Then
            Label1.Text += "エラー:" + _
                res1.Items(0).Request.Errors(0).Message + _
                "</br />" + vbLf
        ElseIf res1.Items(0).Item Is Nothing Then
            Label1.Text += _
                "該当する商品が見つかりませんでした。<br />" + vbLf
        Else
            Label1.Text += res1.Items(0).TotalResults + _
                " 件見つかりました。<br />" + vbLf
            Label1.Text += "<ul>" + vbLf
            Dim i As Item
            For Each i In res1.Items(0).Item
                'タイトル
                Label1.Text += "<li><a href=""" + i.DetailPageURL + _
                    """>" + i.ItemAttributes.Title + "</a>" + vbLf
            Next i
            Label1.Text += "</ul>" + vbLf
        End If
        
        'ウィッシュリスト検索の結果
        Label1.Text += "<h2>ウィッシュリスト検索の結果</h2>" + vbLf
        Dim res2 As ListSearchResponse = res.ListSearchResponse
        If res2 Is Nothing OrElse res2.Lists Is Nothing Then
            Label1.Text += "リストが見つかりませんでした。<br />" + vbLf
        ElseIf Not (res2.Lists(0).Request.Errors Is Nothing) Then
            Label1.Text += "エラー:" + _
                res2.Lists(0).Request.Errors(0).Message + _
                "</br />" + vbLf
        ElseIf res2.Lists(0).List Is Nothing Then
            Label1.Text += _
                "該当するリストが見つかりませんでした。<br />" + vbLf
        Else
            '結果を表示する
            Label1.Text += res2.Lists(0).TotalResults + _
                "件見つかりました。<br />"
            Label1.Text += "<ul>" + vbLf
            Dim l As List
            For Each l In res2.Lists(0).List
                Label1.Text += "<li>" + "<a href=""" + l.ListURL + _
                    """>" + l.ListName + " : " + l.CustomerName + _
                    "</a>" + vbLf
            Next l
            Label1.Text += "</ul>" + vbLf
        End If
    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Amazonでの商品とウィッシュリストの同時検索</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 />
    </div>
    </form>
    <br />
    <asp:Label ID="Label1" runat="server" EnableViewState="False">
    </asp:Label>
</body>
</html>
}}

//これより下は編集しないでください
#pageinfo(,2006-10-20 (金) 01:42:19,DOBON!,2006-10-20 (金) 02:19:22,DOBON!)

[ トップ ]   [ 新規 | 子ページ作成 | 一覧 | 単語検索 | 最終更新 | ヘルプ ]