MultiOperationのサンプルコード(VB.NET) †
ここで紹介しているコードはこちらのプロキシクラスを使用しています。
ここで紹介しているコードはこちらのC#のコードをVB.NETに変換したものです。
MultiOperationを使ってItemSearchオペレーションとListSearchオペレーションのリクエストを一度に送信するサンプルです。TextBoxに検索するキーワードを入力します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
| | <%@ 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)
Dim req1 As New ItemSearchRequest()
req1.SearchIndex = "Blended"
req1.Keywords = TextBox1.Text
Dim isc As New ItemSearch()
isc.AWSAccessKeyId = "(あなたのAccessKeyID)"
isc.AssociateTag = "dobonnet-22"
isc.Request = New ItemSearchRequest() {req1}
Dim req2 As New ListSearchRequest()
req2.ListType = ListSearchRequestListType.WishList
req2.Name = TextBox1.Text
req2.ResponseGroup = New String() _
{"Request", "ListInfo", "ListMinimum"}
Dim list As New ListSearch()
list.AWSAccessKeyId = "(あなたのAccessKeyID)"
list.AssociateTag = "dobonnet-22"
list.Request = New ListSearchRequest() {req2}
Dim multiOpe As New MultiOperation()
multiOpe.ItemSearch = isc
multiOpe.ListSearch = list
Dim aws As New AWSECommerceService()
Dim res As MultiOperationResponse
Try
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>
|