yahoo-api 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/README.md +57 -2
- data/lib/yahoo/api/auction.rb +78 -0
- data/lib/yahoo/api/request.rb +12 -0
- data/lib/yahoo/api/response.rb +30 -0
- data/lib/yahoo/api/shopping.rb +65 -0
- data/lib/yahoo/api/version.rb +1 -1
- data/spec/fixtures/shopping_content_match_item_http_/hoge_com/.yml +41 -0
- data/spec/fixtures/shopping_content_match_item_http_/hogeaaaaaaaaaaaaaaaaaa_com/.yml +41 -0
- data/spec/fixtures/shopping_content_match_item_http_/www_yahoo_co_jp/.yml +41 -0
- data/spec/fixtures/shopping_content_match_rankinghttp_/www_yahoo_co_jp/.yml +41 -0
- data/spec/spec_helper.rb +18 -0
- data/spec/yahoo/auction_spec.rb +184 -0
- data/spec/yahoo/shopping_spec.rb +334 -0
- data/test.rb +5 -0
- metadata +21 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4fd3910f79d48d1ac0860545fc252aaea3342ffd
|
|
4
|
+
data.tar.gz: a79cb0bd89a4e3c57c09f80bf23d29fe2a42653f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 07c2fb333b8f6f0984a91e49fef59f95667591f7fd118ca11dec1a54a6c930009d36c424d8a6c179bcd9e6ea792446e8a2d682c7e83cf088070c057477c20175
|
|
7
|
+
data.tar.gz: 98fc8dea5ee95a9bc289367636fc2203796fd2f375f07918b14e3e9a7012b726bceee3945c98550fc2c6fd56511d2c1a6f33a4aae81b028148406938761cda8c
|
data/.gitignore
CHANGED
data/README.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Yahoo::Api
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](http://badge.fury.io/rb/yahoo-api)
|
|
4
|
+
Ruby Yahoo Web API ( Shopping & Auction )
|
|
4
5
|
|
|
5
6
|
## Installation
|
|
6
7
|
|
|
@@ -18,7 +19,61 @@ Or install it yourself as:
|
|
|
18
19
|
|
|
19
20
|
## Usage
|
|
20
21
|
|
|
21
|
-
|
|
22
|
+
### Yahoo Shopping API
|
|
23
|
+
|
|
24
|
+
Yahoo Shopping Item Search API v1
|
|
25
|
+
|
|
26
|
+
res = Yahoo::Api::Shopping.item_search({:category_id => 13457})
|
|
27
|
+
res.code # 200
|
|
28
|
+
res.message # "OK"
|
|
29
|
+
res["ResultSet"]["totalResultsReturned"].times
|
|
30
|
+
|
|
31
|
+
Yahoo Shopping Category Ranking API v1
|
|
32
|
+
def category_ranking(opts={})
|
|
33
|
+
Request.get("http://shopping.yahooapis.jp/ShoppingWebService/V1/json/categoryRanking", opts.merge(Yahoo::Api.options))
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
Yahoo Shopping Category Search API v1
|
|
37
|
+
def category_search(opts={})
|
|
38
|
+
Request.get("http://shopping.yahooapis.jp/ShoppingWebService/V1/json/categorySearch", opts.merge(Yahoo::Api.options))
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
Yahoo Shopping Item Lookup API v1
|
|
42
|
+
def item_lookup(opts={})
|
|
43
|
+
Request.get("http://shopping.yahooapis.jp/ShoppingWebService/V1/json/itemLookup", opts.merge(Yahoo::Api.options))
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
Yahoo Shopping Query Ranking API v1
|
|
47
|
+
def query_ranking(opts={})
|
|
48
|
+
Request.get("http://shopping.yahooapis.jp/ShoppingWebService/V1/json/queryRanking", opts.merge(Yahoo::Api.options))
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
Yahoo Shopping Content Match Item API v1
|
|
52
|
+
def content_match_item(opts={})
|
|
53
|
+
Request.get("http://shopping.yahooapis.jp/ShoppingWebService/V1/json/contentMatchItem", opts.merge(Yahoo::Api.options))
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
Yahoo Shopping Content Match Ranking API v1
|
|
57
|
+
def content_match_ranking(opts={})
|
|
58
|
+
Request.get("http://shopping.yahooapis.jp/ShoppingWebService/V1/json/contentMatchRanking", opts.merge(Yahoo::Api.options))
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
Yahoo Shopping Get Module API v1
|
|
62
|
+
def get_module(opts={})
|
|
63
|
+
Request.get("http://shopping.yahooapis.jp/ShoppingWebService/V1/json/getModule", opts.merge(Yahoo::Api.options))
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
Yahoo Shopping Event Search API v1
|
|
67
|
+
def event_search(opts={})
|
|
68
|
+
Request.get("http://shopping.yahooapis.jp/ShoppingWebService/V1/json/eventSearch", opts.merge(Yahoo::Api.options))
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
Yahoo Shopping Review Search API v1
|
|
72
|
+
def review_search(opts={})
|
|
73
|
+
Request.get("http://shopping.yahooapis.jp/ShoppingWebService/V1/json/reviewSearch", opts.merge(Yahoo::Api.options))
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
### Yahoo Auction API
|
|
22
77
|
|
|
23
78
|
## Contributing
|
|
24
79
|
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
module Yahoo
|
|
2
|
+
|
|
3
|
+
class Api
|
|
4
|
+
|
|
5
|
+
class Auction
|
|
6
|
+
|
|
7
|
+
class << self
|
|
8
|
+
|
|
9
|
+
# Yahoo Auction Category Tree API v2
|
|
10
|
+
def category_tree(opts={})
|
|
11
|
+
opts[:output] = 'json'
|
|
12
|
+
opts[:callback] = 'callback'
|
|
13
|
+
Yahoo::Request.get("http://auctions.yahooapis.jp/AuctionWebService/V2/categoryTree", opts.merge(Yahoo::Api.options))
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Yahoo Auction Category Leaf API v2
|
|
17
|
+
def category_leaf(opts={})
|
|
18
|
+
opts[:output] = 'json'
|
|
19
|
+
opts[:callback] = 'callback'
|
|
20
|
+
Yahoo::Request.get("http://auctions.yahooapis.jp/AuctionWebService/V2/categoryLeaf", opts.merge(Yahoo::Api.options))
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# Yahoo Auction Selling List API v2
|
|
24
|
+
def selling_list(opts={})
|
|
25
|
+
opts[:output] = 'json'
|
|
26
|
+
opts[:callback] = 'callback'
|
|
27
|
+
Yahoo::Request.get("http://auctions.yahooapis.jp/AuctionWebService/V2/sellingList", opts.merge(Yahoo::Api.options))
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Yahoo Auction Search API v2
|
|
31
|
+
def search(opts={})
|
|
32
|
+
opts[:output] = 'json'
|
|
33
|
+
opts[:callback] = 'callback'
|
|
34
|
+
Yahoo::Request.get("http://auctions.yahooapis.jp/AuctionWebService/V2/search", opts.merge(Yahoo::Api.options))
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Yahoo Auction Item API v2
|
|
38
|
+
def item(opts={})
|
|
39
|
+
opts[:output] = 'json'
|
|
40
|
+
opts[:callback] = 'callback'
|
|
41
|
+
Yahoo::Request.get("http://auctions.yahooapis.jp/AuctionWebService/V2/auctionItem", opts.merge(Yahoo::Api.options))
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Yahoo Auction Bid History API v1
|
|
45
|
+
def bid_history(opts={})
|
|
46
|
+
opts[:output] = 'json'
|
|
47
|
+
opts[:callback] = 'callback'
|
|
48
|
+
Yahoo::Request.get("http://auctions.yahooapis.jp/AuctionWebService/V1/BidHistory", opts.merge(Yahoo::Api.options))
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Yahoo Auction Bid History Detail API v1
|
|
52
|
+
def bid_history_detail(opts={})
|
|
53
|
+
opts[:output] = 'json'
|
|
54
|
+
opts[:callback] = 'callback'
|
|
55
|
+
Yahoo::Request.get("http://auctions.yahooapis.jp/AuctionWebService/V1/BidHistoryDetail", opts.merge(Yahoo::Api.options))
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# Yahoo Auction Show Q & A API v1
|
|
59
|
+
def show_q_and_a(opts={})
|
|
60
|
+
opts[:output] = 'json'
|
|
61
|
+
opts[:callback] = 'callback'
|
|
62
|
+
Yahoo::Request.get("http://auctions.yahooapis.jp/AuctionWebService/V1/ShowQandA", opts.merge(Yahoo::Api.options))
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# Yahoo Auction Show Rating API v1
|
|
66
|
+
def show_rating(opts={})
|
|
67
|
+
opts[:output] = 'json'
|
|
68
|
+
opts[:callback] = 'callback'
|
|
69
|
+
Yahoo::Request.get("http://auctions.yahooapis.jp/AuctionWebService/V1/ShowRating", opts.merge(Yahoo::Api.options))
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
module Yahoo
|
|
2
|
+
|
|
3
|
+
class Response
|
|
4
|
+
|
|
5
|
+
def initialize(response)
|
|
6
|
+
@response =response
|
|
7
|
+
body = @response.body
|
|
8
|
+
body = body[9..(body.rindex(")")-1)] if body.include?("callback(")
|
|
9
|
+
@body = JSON.parse(body)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def code
|
|
13
|
+
@response.code.to_i
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def message
|
|
17
|
+
@response.message
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def method_missing(name, *args, &block)
|
|
21
|
+
if @body.respond_to?(name)
|
|
22
|
+
@body.send(name, *args, &block)
|
|
23
|
+
else
|
|
24
|
+
super
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
end
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
module Yahoo
|
|
2
|
+
|
|
3
|
+
class Api
|
|
4
|
+
|
|
5
|
+
class Shopping
|
|
6
|
+
|
|
7
|
+
class << self
|
|
8
|
+
|
|
9
|
+
# Yahoo Shopping Item Search API v1
|
|
10
|
+
def item_search(opts={})
|
|
11
|
+
Yahoo::Request.get("http://shopping.yahooapis.jp/ShoppingWebService/V1/json/itemSearch", opts.merge(Yahoo::Api.options))
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Yahoo Shopping Category Ranking API v1
|
|
15
|
+
def category_ranking(opts={})
|
|
16
|
+
Yahoo::Request.get("http://shopping.yahooapis.jp/ShoppingWebService/V1/json/categoryRanking", opts.merge(Yahoo::Api.options))
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Yahoo Shopping Category Search API v1
|
|
20
|
+
def category_search(opts={})
|
|
21
|
+
Yahoo::Request.get("http://shopping.yahooapis.jp/ShoppingWebService/V1/json/categorySearch", opts.merge(Yahoo::Api.options))
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Yahoo Shopping Item Lookup API v1
|
|
25
|
+
def item_lookup(opts={})
|
|
26
|
+
Yahoo::Request.get("http://shopping.yahooapis.jp/ShoppingWebService/V1/json/itemLookup", opts.merge(Yahoo::Api.options))
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# Yahoo Shopping Query Ranking API v1
|
|
30
|
+
def query_ranking(opts={})
|
|
31
|
+
Yahoo::Request.get("http://shopping.yahooapis.jp/ShoppingWebService/V1/json/queryRanking", opts.merge(Yahoo::Api.options))
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Yahoo Shopping Content Match Item API v1
|
|
35
|
+
def content_match_item(opts={})
|
|
36
|
+
Yahoo::Request.get("http://shopping.yahooapis.jp/ShoppingWebService/V1/json/contentMatchItem", opts.merge(Yahoo::Api.options))
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Yahoo Shopping Content Match Ranking API v1
|
|
40
|
+
def content_match_ranking(opts={})
|
|
41
|
+
Yahoo::Request.get("http://shopping.yahooapis.jp/ShoppingWebService/V1/json/contentMatchRanking", opts.merge(Yahoo::Api.options))
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Yahoo Shopping Get Module API v1
|
|
45
|
+
def get_module(opts={})
|
|
46
|
+
Yahoo::Request.get("http://shopping.yahooapis.jp/ShoppingWebService/V1/json/getModule", opts.merge(Yahoo::Api.options))
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Yahoo Shopping Event Search API v1
|
|
50
|
+
def event_search(opts={})
|
|
51
|
+
Yahoo::Request.get("http://shopping.yahooapis.jp/ShoppingWebService/V1/json/eventSearch", opts.merge(Yahoo::Api.options))
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# Yahoo Shopping Review Search API v1
|
|
55
|
+
def review_search(opts={})
|
|
56
|
+
Yahoo::Request.get("http://shopping.yahooapis.jp/ShoppingWebService/V1/json/reviewSearch", opts.merge(Yahoo::Api.options))
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
end
|
data/lib/yahoo/api/version.rb
CHANGED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: get
|
|
5
|
+
uri: http://shopping.yahooapis.jp/ShoppingWebService/V1/json/contentMatchItem?affiliate_id=http%253A%252F%252Fck.jp.ap.valuecommerce.com%252Fservlet%252Freferral%253Fsid%253D2583199%2526pid%253D878377542%2526vc_url%253D&affiliate_type=vc&appid=dj0zaiZpPVBzbEY1RWlSNVd2biZzPWNvbnN1bWVyc2VjcmV0Jng9MTU-&url=http://hoge.com/
|
|
6
|
+
body:
|
|
7
|
+
encoding: US-ASCII
|
|
8
|
+
string: ''
|
|
9
|
+
headers:
|
|
10
|
+
Accept-Encoding:
|
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
12
|
+
Accept:
|
|
13
|
+
- '*/*'
|
|
14
|
+
User-Agent:
|
|
15
|
+
- Ruby
|
|
16
|
+
Host:
|
|
17
|
+
- shopping.yahooapis.jp
|
|
18
|
+
response:
|
|
19
|
+
status:
|
|
20
|
+
code: 200
|
|
21
|
+
message: OK
|
|
22
|
+
headers:
|
|
23
|
+
Date:
|
|
24
|
+
- Tue, 24 Sep 2013 06:45:12 GMT
|
|
25
|
+
Vary:
|
|
26
|
+
- Accept-Encoding
|
|
27
|
+
Content-Type:
|
|
28
|
+
- application/json; charset=utf-8
|
|
29
|
+
Cache-Control:
|
|
30
|
+
- private
|
|
31
|
+
Connection:
|
|
32
|
+
- close
|
|
33
|
+
Transfer-Encoding:
|
|
34
|
+
- chunked
|
|
35
|
+
body:
|
|
36
|
+
encoding: UTF-8
|
|
37
|
+
string: |
|
|
38
|
+
{"ResultSet":{"totalResultsAvailable":"68890784","totalResultsReturned":6,"firstResultPosition":"1","0":{"Result":{"Request":{"Url":"http:\/\/hoge.com\/"},"0":{"Name":"\u30d5\u30e9\u30f3\u30c6\u30f3\u30d7\u30b9 \u8155\u6642\u8a08 \u30e1\u30f3\u30ba \u30ac\u30f4\u30a1\u30eb\u30cb","Headline":"\u8155\u6642\u8a08 \u30e1\u30f3\u30ba \u4eba\u6c17 \u30e9\u30f3\u30ad\u30f3\u30b0 \u30bb\u30fc\u30eb","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fsincere-inc%2Fgavarnie.html","Image":{"Id":"sincere-inc_gavarnie","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/sincere-inc_gavarnie"},"Price":{"_attributes":{"currency":"JPY"},"_value":"6825"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"","SalePrice":"6825"},"_attributes":{"index":"1"}},"1":{"Name":"\u30c9\u30eb\u30de\u30f3\u30ef\u30f3\u30d4\u30fc\u30b9 \u30cb\u30c3\u30c8\u30bd\u30fc\u9001\u6599\u7121\u6599E1079","Headline":"\u30ef\u30f3\u30d4\u30fc\u30b9\u30c9\u30eb\u30de\u30f3\u30b9\u30ea\u30fc\u30d6","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fkobelettuce%2Fe1079.html","Image":{"Id":"kobelettuce_e1079","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/kobelettuce_e1079"},"Price":{"_attributes":{"currency":"JPY"},"_value":"1000"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"3900","SalePrice":"1000"},"_attributes":{"index":"2"}},"2":{"Name":"\u30c1\u30ce\u30d1\u30f3\u30c4 \u30c1\u30ce\/\u30b9\u30ad\u30cb\u30fc\/\u30e1\u30f3\u30ba\/\u30c1\u30ce\u30d1\u30f3\u30ab\u30fc\u30b4\/\u5c0f\u5c3b\u30fb\u811a\u9577\/\u30ab\u30e9\u30fc","Headline":"\u30c1\u30ce\u30d1\u30f3 \u30ab\u30fc\u30b4\/\u30e1\u30f3\u30ba \u30dc\u30c8\u30e0\u30b9\/\u30d1\u30f3\u30c4\/\u30b8\u30fc\u30f3\u30ba","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Farcade%2Facbt0010.html","Image":{"Id":"arcade_acbt0010","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/arcade_acbt0010"},"Price":{"_attributes":{"currency":"JPY"},"_value":"2980"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"","SalePrice":"2980"},"_attributes":{"index":"3"}},"3":{"Name":"\u30af\u30ed\u30ce\u30b0\u30e9\u30d5 \u30af\u30ed\u30ce\u30b0\u30e9\u30d5\u8155\u6642\u8a08 \u30e1\u30f3\u30ba\u3000\u30ec\u30c7\u30a3\u30fc\u30b9 \u8155\u6642\u8a08 COGU \u30b3\u30b0 HALD","Headline":"\u30af\u30ed\u30ce\u30b0\u30e9\u30d5","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fmanato%2Fcoglibdeitonad0.html","Image":{"Id":"manato_coglibdeitonad0","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/manato_coglibdeitonad0"},"Price":{"_attributes":{"currency":"JPY"},"_value":"16800"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"58000","SalePrice":"16800"},"_attributes":{"index":"4"}},"4":{"Name":"\u672c\u9769\u30e9\u30a4\u30c0\u30fc\u30b9\u30b8\u30e3\u30b1\u30c3\u30c8\/\u30ec\u30b6\u30fc\u30b8\u30e3\u30b1\u30c3\u30c8\/\u30e9\u30a4\u30c0\u30fc\u30b9\u30b8\u30e3\u30b1\u30c3\u30c8","Headline":"\u30e9\u30a4\u30c0\u30fc\u30b9\u30b8\u30e3\u30b1\u30c3\u30c8\/\u30ec\u30b6\u30fc\u30b8\u30e3\u30b1\u30c3\u30c8\/\u672c\u9769","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fmacaronijazz%2Fri015.html","Image":{"Id":"macaronijazz_ri015","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/macaronijazz_ri015"},"Price":{"_attributes":{"currency":"JPY"},"_value":"6800"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"","SalePrice":"6800"},"_attributes":{"index":"5"}},"5":{"Name":"\u9078\u3079\u308b\u9a5a\u757016\u30d1\u30bf\u30fc\u30f3\u3055\u3089\u306b\u8c4a\u5bcc\u306a\u30b5\u30a4\u30ba\/\u30b1\u30fc\u30d6\u30eb\u30cb\u30c3\u30c8\/\u30ab\u30fc\u30c7\u30a3\u30ac\u30f3\/\u30b7\u30e7\u30fc\u30eb\u30ab\u30e9\u30fc\/\u30c9\u30f3\u30ad\u30fc\u887f","Headline":"\u30ab\u30fc\u30c7\u30a3\u30ac\u30f3","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Farcade%2Fpr10.html","Image":{"Id":"arcade_pr10","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/arcade_pr10"},"Price":{"_attributes":{"currency":"JPY"},"_value":"2980"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"","SalePrice":"2980"},"_attributes":{"index":"6"}},"_container":"Hit"}}}}
|
|
39
|
+
http_version:
|
|
40
|
+
recorded_at: Tue, 24 Sep 2013 06:45:14 GMT
|
|
41
|
+
recorded_with: VCR 2.5.0
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: get
|
|
5
|
+
uri: http://shopping.yahooapis.jp/ShoppingWebService/V1/json/contentMatchItem?affiliate_id=http%253A%252F%252Fck.jp.ap.valuecommerce.com%252Fservlet%252Freferral%253Fsid%253D2583199%2526pid%253D878377542%2526vc_url%253D&affiliate_type=vc&appid=dj0zaiZpPVBzbEY1RWlSNVd2biZzPWNvbnN1bWVyc2VjcmV0Jng9MTU-&url=http://hogeaaaaaaaaaaaaaaaaaa.com/
|
|
6
|
+
body:
|
|
7
|
+
encoding: US-ASCII
|
|
8
|
+
string: ''
|
|
9
|
+
headers:
|
|
10
|
+
Accept-Encoding:
|
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
12
|
+
Accept:
|
|
13
|
+
- '*/*'
|
|
14
|
+
User-Agent:
|
|
15
|
+
- Ruby
|
|
16
|
+
Host:
|
|
17
|
+
- shopping.yahooapis.jp
|
|
18
|
+
response:
|
|
19
|
+
status:
|
|
20
|
+
code: 200
|
|
21
|
+
message: OK
|
|
22
|
+
headers:
|
|
23
|
+
Date:
|
|
24
|
+
- Tue, 24 Sep 2013 06:45:27 GMT
|
|
25
|
+
Vary:
|
|
26
|
+
- Accept-Encoding
|
|
27
|
+
Content-Type:
|
|
28
|
+
- application/json; charset=utf-8
|
|
29
|
+
Cache-Control:
|
|
30
|
+
- private
|
|
31
|
+
Connection:
|
|
32
|
+
- close
|
|
33
|
+
Transfer-Encoding:
|
|
34
|
+
- chunked
|
|
35
|
+
body:
|
|
36
|
+
encoding: UTF-8
|
|
37
|
+
string: |
|
|
38
|
+
{"ResultSet":{"totalResultsAvailable":"68890784","totalResultsReturned":6,"firstResultPosition":"1","0":{"Result":{"Request":{"Url":"http:\/\/hogeaaaaaaaaaaaaaaaaaa.com\/"},"0":{"Name":"\u30d5\u30e9\u30f3\u30c6\u30f3\u30d7\u30b9 \u8155\u6642\u8a08 \u30e1\u30f3\u30ba \u30ac\u30f4\u30a1\u30eb\u30cb","Headline":"\u8155\u6642\u8a08 \u30e1\u30f3\u30ba \u4eba\u6c17 \u30e9\u30f3\u30ad\u30f3\u30b0 \u30bb\u30fc\u30eb","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fsincere-inc%2Fgavarnie.html","Image":{"Id":"sincere-inc_gavarnie","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/sincere-inc_gavarnie"},"Price":{"_attributes":{"currency":"JPY"},"_value":"6825"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"","SalePrice":"6825"},"_attributes":{"index":"1"}},"1":{"Name":"\u30c9\u30eb\u30de\u30f3\u30ef\u30f3\u30d4\u30fc\u30b9 \u30cb\u30c3\u30c8\u30bd\u30fc\u9001\u6599\u7121\u6599E1079","Headline":"\u30ef\u30f3\u30d4\u30fc\u30b9\u30c9\u30eb\u30de\u30f3\u30b9\u30ea\u30fc\u30d6","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fkobelettuce%2Fe1079.html","Image":{"Id":"kobelettuce_e1079","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/kobelettuce_e1079"},"Price":{"_attributes":{"currency":"JPY"},"_value":"1000"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"3900","SalePrice":"1000"},"_attributes":{"index":"2"}},"2":{"Name":"\u30c1\u30ce\u30d1\u30f3\u30c4 \u30c1\u30ce\/\u30b9\u30ad\u30cb\u30fc\/\u30e1\u30f3\u30ba\/\u30c1\u30ce\u30d1\u30f3\u30ab\u30fc\u30b4\/\u5c0f\u5c3b\u30fb\u811a\u9577\/\u30ab\u30e9\u30fc","Headline":"\u30c1\u30ce\u30d1\u30f3 \u30ab\u30fc\u30b4\/\u30e1\u30f3\u30ba \u30dc\u30c8\u30e0\u30b9\/\u30d1\u30f3\u30c4\/\u30b8\u30fc\u30f3\u30ba","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Farcade%2Facbt0010.html","Image":{"Id":"arcade_acbt0010","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/arcade_acbt0010"},"Price":{"_attributes":{"currency":"JPY"},"_value":"2980"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"","SalePrice":"2980"},"_attributes":{"index":"3"}},"3":{"Name":"\u30af\u30ed\u30ce\u30b0\u30e9\u30d5 \u30af\u30ed\u30ce\u30b0\u30e9\u30d5\u8155\u6642\u8a08 \u30e1\u30f3\u30ba\u3000\u30ec\u30c7\u30a3\u30fc\u30b9 \u8155\u6642\u8a08 COGU \u30b3\u30b0 HALD","Headline":"\u30af\u30ed\u30ce\u30b0\u30e9\u30d5","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fmanato%2Fcoglibdeitonad0.html","Image":{"Id":"manato_coglibdeitonad0","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/manato_coglibdeitonad0"},"Price":{"_attributes":{"currency":"JPY"},"_value":"16800"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"58000","SalePrice":"16800"},"_attributes":{"index":"4"}},"4":{"Name":"\u672c\u9769\u30e9\u30a4\u30c0\u30fc\u30b9\u30b8\u30e3\u30b1\u30c3\u30c8\/\u30ec\u30b6\u30fc\u30b8\u30e3\u30b1\u30c3\u30c8\/\u30e9\u30a4\u30c0\u30fc\u30b9\u30b8\u30e3\u30b1\u30c3\u30c8","Headline":"\u30e9\u30a4\u30c0\u30fc\u30b9\u30b8\u30e3\u30b1\u30c3\u30c8\/\u30ec\u30b6\u30fc\u30b8\u30e3\u30b1\u30c3\u30c8\/\u672c\u9769","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fmacaronijazz%2Fri015.html","Image":{"Id":"macaronijazz_ri015","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/macaronijazz_ri015"},"Price":{"_attributes":{"currency":"JPY"},"_value":"6800"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"","SalePrice":"6800"},"_attributes":{"index":"5"}},"5":{"Name":"\u9078\u3079\u308b\u9a5a\u757016\u30d1\u30bf\u30fc\u30f3\u3055\u3089\u306b\u8c4a\u5bcc\u306a\u30b5\u30a4\u30ba\/\u30b1\u30fc\u30d6\u30eb\u30cb\u30c3\u30c8\/\u30ab\u30fc\u30c7\u30a3\u30ac\u30f3\/\u30b7\u30e7\u30fc\u30eb\u30ab\u30e9\u30fc\/\u30c9\u30f3\u30ad\u30fc\u887f","Headline":"\u30ab\u30fc\u30c7\u30a3\u30ac\u30f3","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Farcade%2Fpr10.html","Image":{"Id":"arcade_pr10","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/arcade_pr10"},"Price":{"_attributes":{"currency":"JPY"},"_value":"2980"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"","SalePrice":"2980"},"_attributes":{"index":"6"}},"_container":"Hit"}}}}
|
|
39
|
+
http_version:
|
|
40
|
+
recorded_at: Tue, 24 Sep 2013 06:45:27 GMT
|
|
41
|
+
recorded_with: VCR 2.5.0
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: get
|
|
5
|
+
uri: http://shopping.yahooapis.jp/ShoppingWebService/V1/json/contentMatchItem?affiliate_id=http%253A%252F%252Fck.jp.ap.valuecommerce.com%252Fservlet%252Freferral%253Fsid%253D2583199%2526pid%253D878377542%2526vc_url%253D&affiliate_type=vc&appid=dj0zaiZpPVBzbEY1RWlSNVd2biZzPWNvbnN1bWVyc2VjcmV0Jng9MTU-&url=http://www.yahoo.co.jp/
|
|
6
|
+
body:
|
|
7
|
+
encoding: US-ASCII
|
|
8
|
+
string: ''
|
|
9
|
+
headers:
|
|
10
|
+
Accept-Encoding:
|
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
12
|
+
Accept:
|
|
13
|
+
- '*/*'
|
|
14
|
+
User-Agent:
|
|
15
|
+
- Ruby
|
|
16
|
+
Host:
|
|
17
|
+
- shopping.yahooapis.jp
|
|
18
|
+
response:
|
|
19
|
+
status:
|
|
20
|
+
code: 200
|
|
21
|
+
message: OK
|
|
22
|
+
headers:
|
|
23
|
+
Date:
|
|
24
|
+
- Tue, 24 Sep 2013 06:43:50 GMT
|
|
25
|
+
Vary:
|
|
26
|
+
- Accept-Encoding
|
|
27
|
+
Content-Type:
|
|
28
|
+
- application/json; charset=utf-8
|
|
29
|
+
Cache-Control:
|
|
30
|
+
- private
|
|
31
|
+
Connection:
|
|
32
|
+
- close
|
|
33
|
+
Transfer-Encoding:
|
|
34
|
+
- chunked
|
|
35
|
+
body:
|
|
36
|
+
encoding: UTF-8
|
|
37
|
+
string: |
|
|
38
|
+
{"ResultSet":{"totalResultsAvailable":"68890784","totalResultsReturned":6,"firstResultPosition":"1","0":{"Result":{"Request":{"Url":"http:\/\/www.yahoo.co.jp\/"},"0":{"Name":"\u30d5\u30e9\u30f3\u30c6\u30f3\u30d7\u30b9 \u8155\u6642\u8a08 \u30e1\u30f3\u30ba \u30ac\u30f4\u30a1\u30eb\u30cb","Headline":"\u8155\u6642\u8a08 \u30e1\u30f3\u30ba \u4eba\u6c17 \u30e9\u30f3\u30ad\u30f3\u30b0 \u30bb\u30fc\u30eb","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fsincere-inc%2Fgavarnie.html","Image":{"Id":"sincere-inc_gavarnie","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/sincere-inc_gavarnie"},"Price":{"_attributes":{"currency":"JPY"},"_value":"6825"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"","SalePrice":"6825"},"_attributes":{"index":"1"}},"1":{"Name":"\u30c9\u30eb\u30de\u30f3\u30ef\u30f3\u30d4\u30fc\u30b9 \u30cb\u30c3\u30c8\u30bd\u30fc\u9001\u6599\u7121\u6599E1079","Headline":"\u30ef\u30f3\u30d4\u30fc\u30b9\u30c9\u30eb\u30de\u30f3\u30b9\u30ea\u30fc\u30d6","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fkobelettuce%2Fe1079.html","Image":{"Id":"kobelettuce_e1079","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/kobelettuce_e1079"},"Price":{"_attributes":{"currency":"JPY"},"_value":"1000"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"3900","SalePrice":"1000"},"_attributes":{"index":"2"}},"2":{"Name":"\u30c1\u30ce\u30d1\u30f3\u30c4 \u30c1\u30ce\/\u30b9\u30ad\u30cb\u30fc\/\u30e1\u30f3\u30ba\/\u30c1\u30ce\u30d1\u30f3\u30ab\u30fc\u30b4\/\u5c0f\u5c3b\u30fb\u811a\u9577\/\u30ab\u30e9\u30fc","Headline":"\u30c1\u30ce\u30d1\u30f3 \u30ab\u30fc\u30b4\/\u30e1\u30f3\u30ba \u30dc\u30c8\u30e0\u30b9\/\u30d1\u30f3\u30c4\/\u30b8\u30fc\u30f3\u30ba","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Farcade%2Facbt0010.html","Image":{"Id":"arcade_acbt0010","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/arcade_acbt0010"},"Price":{"_attributes":{"currency":"JPY"},"_value":"2980"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"","SalePrice":"2980"},"_attributes":{"index":"3"}},"3":{"Name":"\u30af\u30ed\u30ce\u30b0\u30e9\u30d5 \u30af\u30ed\u30ce\u30b0\u30e9\u30d5\u8155\u6642\u8a08 \u30e1\u30f3\u30ba\u3000\u30ec\u30c7\u30a3\u30fc\u30b9 \u8155\u6642\u8a08 COGU \u30b3\u30b0 HALD","Headline":"\u30af\u30ed\u30ce\u30b0\u30e9\u30d5","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fmanato%2Fcoglibdeitonad0.html","Image":{"Id":"manato_coglibdeitonad0","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/manato_coglibdeitonad0"},"Price":{"_attributes":{"currency":"JPY"},"_value":"16800"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"58000","SalePrice":"16800"},"_attributes":{"index":"4"}},"4":{"Name":"\u672c\u9769\u30e9\u30a4\u30c0\u30fc\u30b9\u30b8\u30e3\u30b1\u30c3\u30c8\/\u30ec\u30b6\u30fc\u30b8\u30e3\u30b1\u30c3\u30c8\/\u30e9\u30a4\u30c0\u30fc\u30b9\u30b8\u30e3\u30b1\u30c3\u30c8","Headline":"\u30e9\u30a4\u30c0\u30fc\u30b9\u30b8\u30e3\u30b1\u30c3\u30c8\/\u30ec\u30b6\u30fc\u30b8\u30e3\u30b1\u30c3\u30c8\/\u672c\u9769","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fmacaronijazz%2Fri015.html","Image":{"Id":"macaronijazz_ri015","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/macaronijazz_ri015"},"Price":{"_attributes":{"currency":"JPY"},"_value":"6800"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"","SalePrice":"6800"},"_attributes":{"index":"5"}},"5":{"Name":"\u9078\u3079\u308b\u9a5a\u757016\u30d1\u30bf\u30fc\u30f3\u3055\u3089\u306b\u8c4a\u5bcc\u306a\u30b5\u30a4\u30ba\/\u30b1\u30fc\u30d6\u30eb\u30cb\u30c3\u30c8\/\u30ab\u30fc\u30c7\u30a3\u30ac\u30f3\/\u30b7\u30e7\u30fc\u30eb\u30ab\u30e9\u30fc\/\u30c9\u30f3\u30ad\u30fc\u887f","Headline":"\u30ab\u30fc\u30c7\u30a3\u30ac\u30f3","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Farcade%2Fpr10.html","Image":{"Id":"arcade_pr10","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/arcade_pr10"},"Price":{"_attributes":{"currency":"JPY"},"_value":"2980"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"","SalePrice":"2980"},"_attributes":{"index":"6"}},"_container":"Hit"}}}}
|
|
39
|
+
http_version:
|
|
40
|
+
recorded_at: Tue, 24 Sep 2013 06:43:50 GMT
|
|
41
|
+
recorded_with: VCR 2.5.0
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: get
|
|
5
|
+
uri: http://shopping.yahooapis.jp/ShoppingWebService/V1/json/contentMatchItem?affiliate_id=http%253A%252F%252Fck.jp.ap.valuecommerce.com%252Fservlet%252Freferral%253Fsid%253D2583199%2526pid%253D878377542%2526vc_url%253D&affiliate_type=vc&appid=dj0zaiZpPVBzbEY1RWlSNVd2biZzPWNvbnN1bWVyc2VjcmV0Jng9MTU-&url=http://www.yahoo.co.jp/
|
|
6
|
+
body:
|
|
7
|
+
encoding: US-ASCII
|
|
8
|
+
string: ''
|
|
9
|
+
headers:
|
|
10
|
+
Accept-Encoding:
|
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
12
|
+
Accept:
|
|
13
|
+
- '*/*'
|
|
14
|
+
User-Agent:
|
|
15
|
+
- Ruby
|
|
16
|
+
Host:
|
|
17
|
+
- shopping.yahooapis.jp
|
|
18
|
+
response:
|
|
19
|
+
status:
|
|
20
|
+
code: 200
|
|
21
|
+
message: OK
|
|
22
|
+
headers:
|
|
23
|
+
Date:
|
|
24
|
+
- Tue, 24 Sep 2013 06:54:47 GMT
|
|
25
|
+
Vary:
|
|
26
|
+
- Accept-Encoding
|
|
27
|
+
Content-Type:
|
|
28
|
+
- application/json; charset=utf-8
|
|
29
|
+
Cache-Control:
|
|
30
|
+
- private
|
|
31
|
+
Connection:
|
|
32
|
+
- close
|
|
33
|
+
Transfer-Encoding:
|
|
34
|
+
- chunked
|
|
35
|
+
body:
|
|
36
|
+
encoding: UTF-8
|
|
37
|
+
string: |
|
|
38
|
+
{"ResultSet":{"totalResultsAvailable":"68890784","totalResultsReturned":6,"firstResultPosition":"1","0":{"Result":{"Request":{"Url":"http:\/\/www.yahoo.co.jp\/"},"0":{"Name":"\u30d5\u30e9\u30f3\u30c6\u30f3\u30d7\u30b9 \u8155\u6642\u8a08 \u30e1\u30f3\u30ba \u30ac\u30f4\u30a1\u30eb\u30cb","Headline":"\u8155\u6642\u8a08 \u30e1\u30f3\u30ba \u4eba\u6c17 \u30e9\u30f3\u30ad\u30f3\u30b0 \u30bb\u30fc\u30eb","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fsincere-inc%2Fgavarnie.html","Image":{"Id":"sincere-inc_gavarnie","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/sincere-inc_gavarnie"},"Price":{"_attributes":{"currency":"JPY"},"_value":"6825"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"","SalePrice":"6825"},"_attributes":{"index":"1"}},"1":{"Name":"\u30c9\u30eb\u30de\u30f3\u30ef\u30f3\u30d4\u30fc\u30b9 \u30cb\u30c3\u30c8\u30bd\u30fc\u9001\u6599\u7121\u6599E1079","Headline":"\u30ef\u30f3\u30d4\u30fc\u30b9\u30c9\u30eb\u30de\u30f3\u30b9\u30ea\u30fc\u30d6","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fkobelettuce%2Fe1079.html","Image":{"Id":"kobelettuce_e1079","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/kobelettuce_e1079"},"Price":{"_attributes":{"currency":"JPY"},"_value":"1000"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"3900","SalePrice":"1000"},"_attributes":{"index":"2"}},"2":{"Name":"\u30c1\u30ce\u30d1\u30f3\u30c4 \u30c1\u30ce\/\u30b9\u30ad\u30cb\u30fc\/\u30e1\u30f3\u30ba\/\u30c1\u30ce\u30d1\u30f3\u30ab\u30fc\u30b4\/\u5c0f\u5c3b\u30fb\u811a\u9577\/\u30ab\u30e9\u30fc","Headline":"\u30c1\u30ce\u30d1\u30f3 \u30ab\u30fc\u30b4\/\u30e1\u30f3\u30ba \u30dc\u30c8\u30e0\u30b9\/\u30d1\u30f3\u30c4\/\u30b8\u30fc\u30f3\u30ba","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Farcade%2Facbt0010.html","Image":{"Id":"arcade_acbt0010","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/arcade_acbt0010"},"Price":{"_attributes":{"currency":"JPY"},"_value":"2980"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"","SalePrice":"2980"},"_attributes":{"index":"3"}},"3":{"Name":"\u30af\u30ed\u30ce\u30b0\u30e9\u30d5 \u30af\u30ed\u30ce\u30b0\u30e9\u30d5\u8155\u6642\u8a08 \u30e1\u30f3\u30ba\u3000\u30ec\u30c7\u30a3\u30fc\u30b9 \u8155\u6642\u8a08 COGU \u30b3\u30b0 HALD","Headline":"\u30af\u30ed\u30ce\u30b0\u30e9\u30d5","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fmanato%2Fcoglibdeitonad0.html","Image":{"Id":"manato_coglibdeitonad0","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/manato_coglibdeitonad0"},"Price":{"_attributes":{"currency":"JPY"},"_value":"16800"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"58000","SalePrice":"16800"},"_attributes":{"index":"4"}},"4":{"Name":"\u672c\u9769\u30e9\u30a4\u30c0\u30fc\u30b9\u30b8\u30e3\u30b1\u30c3\u30c8\/\u30ec\u30b6\u30fc\u30b8\u30e3\u30b1\u30c3\u30c8\/\u30e9\u30a4\u30c0\u30fc\u30b9\u30b8\u30e3\u30b1\u30c3\u30c8","Headline":"\u30e9\u30a4\u30c0\u30fc\u30b9\u30b8\u30e3\u30b1\u30c3\u30c8\/\u30ec\u30b6\u30fc\u30b8\u30e3\u30b1\u30c3\u30c8\/\u672c\u9769","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Fmacaronijazz%2Fri015.html","Image":{"Id":"macaronijazz_ri015","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/macaronijazz_ri015"},"Price":{"_attributes":{"currency":"JPY"},"_value":"6800"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"","SalePrice":"6800"},"_attributes":{"index":"5"}},"5":{"Name":"\u9078\u3079\u308b\u9a5a\u757016\u30d1\u30bf\u30fc\u30f3\u3055\u3089\u306b\u8c4a\u5bcc\u306a\u30b5\u30a4\u30ba\/\u30b1\u30fc\u30d6\u30eb\u30cb\u30c3\u30c8\/\u30ab\u30fc\u30c7\u30a3\u30ac\u30f3\/\u30b7\u30e7\u30fc\u30eb\u30ab\u30e9\u30fc\/\u30c9\u30f3\u30ad\u30fc\u887f","Headline":"\u30ab\u30fc\u30c7\u30a3\u30ac\u30f3","Url":"http:\/\/ck.jp.ap.valuecommerce.com\/servlet\/referral?sid=2583199&pid=878377542&vc_url=http%3A%2F%2Fstore.shopping.yahoo.co.jp%2Farcade%2Fpr10.html","Image":{"Id":"arcade_pr10","Small":"http:\/\/item.shopping.c.yimg.jp\/i\/c\/arcade_pr10"},"Price":{"_attributes":{"currency":"JPY"},"_value":"2980"},"PriceLabel":{"_attributes":{"taxIncluded":"true"},"FixedPrice":"","SalePrice":"2980"},"_attributes":{"index":"6"}},"_container":"Hit"}}}}
|
|
39
|
+
http_version:
|
|
40
|
+
recorded_at: Tue, 24 Sep 2013 06:54:47 GMT
|
|
41
|
+
recorded_with: VCR 2.5.0
|
data/spec/spec_helper.rb
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
require 'webmock/rspec'
|
|
3
|
+
WebMock.disable_net_connect!
|
|
4
|
+
require 'vcr'
|
|
5
|
+
|
|
6
|
+
VCR.configure do |c|
|
|
7
|
+
c.cassette_library_dir = File.expand_path(File.dirname(__FILE__) + '/fixtures')
|
|
8
|
+
c.hook_into :webmock
|
|
9
|
+
c.allow_http_connections_when_no_cassette = true
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
require File.expand_path(File.dirname(__FILE__) + '/../lib/yahoo/api')
|
|
13
|
+
|
|
14
|
+
Yahoo::Api.configure do |options|
|
|
15
|
+
options[:appid] = 'your api id'
|
|
16
|
+
options[:affiliate_type] = "vc or yid"
|
|
17
|
+
options[:affiliate_id] = "your affiliate id"
|
|
18
|
+
end
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
|
3
|
+
|
|
4
|
+
share_examples_for 'found items' do
|
|
5
|
+
context 'code' do
|
|
6
|
+
it { expect(res.code).to eq 200 }
|
|
7
|
+
end
|
|
8
|
+
context 'size' do
|
|
9
|
+
it { expect(res["ResultSet"]["@attributes"]["totalResultsReturned"].to_i).to be > 0 }
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
share_examples_for 'not found items' do
|
|
14
|
+
context 'code' do
|
|
15
|
+
it { expect(res.code).to eq 200 }
|
|
16
|
+
end
|
|
17
|
+
context 'size' do
|
|
18
|
+
it { expect(res["ResultSet"]["@attributes"]["totalResultsReturned"].to_i).to eq 0 }
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
share_examples_for 'bad request' do
|
|
23
|
+
context 'code' do
|
|
24
|
+
it { expect(res_error.code).to eq 400 }
|
|
25
|
+
end
|
|
26
|
+
context 'message' do
|
|
27
|
+
it { expect(res_error.message).to eq 'Bad Request' }
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
describe "Yahoo::Api::Auction.show_rating" do
|
|
32
|
+
|
|
33
|
+
let(:res) {
|
|
34
|
+
VCR.use_cassette('auction_show_rating_' + id.to_s) do
|
|
35
|
+
Yahoo::Api::Auction.show_rating({:id => id})
|
|
36
|
+
end
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
let(:res_error) {
|
|
40
|
+
VCR.use_cassette('auction_show_rating') do
|
|
41
|
+
Yahoo::Api::Auction.show_rating({})
|
|
42
|
+
end
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
context 'found items' do
|
|
46
|
+
let(:id) { 'kaz_vegi' }
|
|
47
|
+
it_should_behave_like 'found items'
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
context 'bad request' do
|
|
51
|
+
it_should_behave_like 'bad request'
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
describe "Yahoo::Api::Auction.show_q_and_a" do
|
|
57
|
+
|
|
58
|
+
let(:res) {
|
|
59
|
+
VCR.use_cassette('auction_show_q_and_a_' + auctionID.to_s) do
|
|
60
|
+
Yahoo::Api::Auction.show_q_and_a({:auctionID => auctionID})
|
|
61
|
+
end
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
context 'found items' do
|
|
65
|
+
let(:auctionID) { 'h180241200' }
|
|
66
|
+
it_should_behave_like 'found items'
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
context 'not found items' do
|
|
70
|
+
let(:auctionID) { 'x297261554' }
|
|
71
|
+
it_should_behave_like 'not found items'
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
describe "Yahoo::Api::Auction.bid_history_detail" do
|
|
77
|
+
|
|
78
|
+
let(:res) {
|
|
79
|
+
VCR.use_cassette('auction_bid_history_detail_' + auctionID.to_s) do
|
|
80
|
+
Yahoo::Api::Auction.bid_history_detail({:auctionID => auctionID})
|
|
81
|
+
end
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
context 'found items' do
|
|
85
|
+
let(:auctionID) { 'x297261554' }
|
|
86
|
+
it_should_behave_like 'found items'
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
describe "Yahoo::Api::Auction.bid_history" do
|
|
92
|
+
|
|
93
|
+
let(:res) {
|
|
94
|
+
VCR.use_cassette('auction_bid_history_' + auctionID.to_s) do
|
|
95
|
+
Yahoo::Api::Auction.bid_history({:auctionID => auctionID})
|
|
96
|
+
end
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
context 'found items' do
|
|
100
|
+
let(:auctionID) { 'x297261554' }
|
|
101
|
+
it_should_behave_like 'found items'
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
describe "Yahoo::Api::Auction.item" do
|
|
107
|
+
|
|
108
|
+
let(:res) {
|
|
109
|
+
VCR.use_cassette('auction_item_' + auctionID.to_s) do
|
|
110
|
+
Yahoo::Api::Auction.item({:auctionID => auctionID})
|
|
111
|
+
end
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
context 'found items' do
|
|
115
|
+
let(:auctionID) { 'x297261554' }
|
|
116
|
+
it_should_behave_like 'found items'
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
describe "Yahoo::Api::Auction.search" do
|
|
122
|
+
|
|
123
|
+
let(:res) {
|
|
124
|
+
VCR.use_cassette('auction_search_' + query.to_s) do
|
|
125
|
+
Yahoo::Api::Auction.search({:query => query})
|
|
126
|
+
end
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
context 'found items' do
|
|
130
|
+
let(:query) { 'au' }
|
|
131
|
+
it_should_behave_like 'found items'
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
context 'not found items' do
|
|
135
|
+
let(:query) { 'auaaaaaaaaaaaaaaa' }
|
|
136
|
+
it_should_behave_like 'not found items'
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
describe "Yahoo::Api::Auction.selling_list" do
|
|
142
|
+
|
|
143
|
+
let(:res) {
|
|
144
|
+
VCR.use_cassette('auction_selling_list_' + sellerID.to_s) do
|
|
145
|
+
Yahoo::Api::Auction.selling_list({:sellerID => sellerID})
|
|
146
|
+
end
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
context 'found items' do
|
|
150
|
+
let(:sellerID) { 'ichienshop55' }
|
|
151
|
+
it_should_behave_like 'found items'
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
describe "Yahoo::Api::Auction.category_leaf" do
|
|
157
|
+
|
|
158
|
+
let(:res) {
|
|
159
|
+
VCR.use_cassette('auction_category_leaf_' + category.to_s) do
|
|
160
|
+
Yahoo::Api::Auction.category_leaf({:category => category})
|
|
161
|
+
end
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
context 'found items' do
|
|
165
|
+
let(:category) { '23336' }
|
|
166
|
+
it_should_behave_like 'found items'
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
describe "Yahoo::Api::Auction.category_tree" do
|
|
172
|
+
|
|
173
|
+
let(:res) {
|
|
174
|
+
VCR.use_cassette('auction_category_tree_' + category.to_s) do
|
|
175
|
+
Yahoo::Api::Auction.category_tree({:category => category})
|
|
176
|
+
end
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
context 'found items' do
|
|
180
|
+
let(:category) { '0' }
|
|
181
|
+
it_should_behave_like 'found items'
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
end
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
|
3
|
+
|
|
4
|
+
share_examples_for 'found items' do
|
|
5
|
+
context 'code' do
|
|
6
|
+
it { expect(res_genre.code).to eq 200 }
|
|
7
|
+
end
|
|
8
|
+
context 'size' do
|
|
9
|
+
it { expect(res_genre["ResultSet"]["totalResultsReturned"].to_i).to be > 0 }
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
share_examples_for 'not found items' do
|
|
14
|
+
context 'code' do
|
|
15
|
+
it { expect(res_genre.code).to eq 200 }
|
|
16
|
+
end
|
|
17
|
+
context 'size' do
|
|
18
|
+
it { expect(res_genre["ResultSet"]["totalResultsReturned"].to_i).to eq 0 }
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
share_examples_for 'found items by genre' do
|
|
23
|
+
context 'code' do
|
|
24
|
+
it { expect(res_genre.code).to eq 200 }
|
|
25
|
+
end
|
|
26
|
+
context 'size' do
|
|
27
|
+
it { expect(res_genre["ResultSet"]["totalResultsReturned"].to_i).to be > 0 }
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
share_examples_for 'not found items by genre' do
|
|
32
|
+
context 'code' do
|
|
33
|
+
it { expect(res_genre.code).to eq 200 }
|
|
34
|
+
end
|
|
35
|
+
context 'size' do
|
|
36
|
+
it { expect(res_genre["ResultSet"]["totalResultsReturned"].to_i).to eq 0 }
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
share_examples_for 'found items by keyword' do
|
|
41
|
+
context 'code' do
|
|
42
|
+
it { expect(res_keyword.code).to eq 200 }
|
|
43
|
+
end
|
|
44
|
+
context 'size' do
|
|
45
|
+
it { expect(res_keyword["ResultSet"]["totalResultsReturned"].to_i).to be > 0 }
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
share_examples_for 'not found items by keyword' do
|
|
50
|
+
context 'code' do
|
|
51
|
+
it { expect(res_keyword.code).to eq 200 }
|
|
52
|
+
end
|
|
53
|
+
context 'size' do
|
|
54
|
+
it { expect(res_keyword["ResultSet"]["totalResultsReturned"].to_i).to eq 0 }
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
share_examples_for 'bad request' do
|
|
60
|
+
context 'code' do
|
|
61
|
+
it { expect(res_error.code).to eq 400 }
|
|
62
|
+
end
|
|
63
|
+
context 'message' do
|
|
64
|
+
it { expect(res_error.message).to eq 'Bad Request' }
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
describe "Yahoo::Api::Shopping.review_search" do
|
|
69
|
+
|
|
70
|
+
let(:res_genre) {
|
|
71
|
+
VCR.use_cassette('shopping_review_search_' + category_id.to_s) do
|
|
72
|
+
Yahoo::Api::Shopping.review_search({:category_id => category_id})
|
|
73
|
+
end
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
let(:res_error) {
|
|
77
|
+
VCR.use_cassette('shopping_review_search') do
|
|
78
|
+
Yahoo::Api::Shopping.review_search({})
|
|
79
|
+
end
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
context 'found items by genre' do
|
|
83
|
+
let(:category_id) { '13457' }
|
|
84
|
+
it_should_behave_like 'found items by genre'
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
context 'bad request' do
|
|
88
|
+
it_should_behave_like 'bad request'
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
describe "Yahoo::Api::Shopping.event_search" do
|
|
94
|
+
|
|
95
|
+
let(:res_genre) {
|
|
96
|
+
VCR.use_cassette('shopping_event_search_' + event_type.to_s) do
|
|
97
|
+
Yahoo::Api::Shopping.event_search({:event_type => event_type})
|
|
98
|
+
end
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
let(:res_error) {
|
|
102
|
+
VCR.use_cassette('shopping_event_search') do
|
|
103
|
+
Yahoo::Api::Shopping.event_search({})
|
|
104
|
+
end
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
context 'found items' do
|
|
108
|
+
let(:event_type) { 'store' }
|
|
109
|
+
it_should_behave_like 'found items'
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
describe "Yahoo::Api::Shopping.get_module" do
|
|
115
|
+
|
|
116
|
+
let(:res_genre) {
|
|
117
|
+
VCR.use_cassette('shopping_get_module_' + category_id.to_s+ '_'+ position.to_s) do
|
|
118
|
+
Yahoo::Api::Shopping.get_module({:category_id => category_id,:position => position})
|
|
119
|
+
end
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
let(:res_error) {
|
|
123
|
+
VCR.use_cassette('shopping_get_module') do
|
|
124
|
+
Yahoo::Api::Shopping.get_module({})
|
|
125
|
+
end
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
context 'found items by genre' do
|
|
129
|
+
let(:category_id) { '13457' }
|
|
130
|
+
let(:position) { 'eventrecommend' }
|
|
131
|
+
it_should_behave_like 'found items by genre'
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
context 'bad request' do
|
|
135
|
+
it_should_behave_like 'bad request'
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
describe "Yahoo::Api::Shopping.content_match_ranking" do
|
|
141
|
+
|
|
142
|
+
let(:res_genre) {
|
|
143
|
+
VCR.use_cassette('shopping_content_match_ranking' + url.to_s) do
|
|
144
|
+
Yahoo::Api::Shopping.content_match_item({:url => url})
|
|
145
|
+
end
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
let(:res_error) {
|
|
149
|
+
VCR.use_cassette('shopping_content_match_ranking') do
|
|
150
|
+
Yahoo::Api::Shopping.content_match_item({})
|
|
151
|
+
end
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
context 'found items' do
|
|
155
|
+
let(:url) { URI.encode('http://www.yahoo.co.jp/') }
|
|
156
|
+
it_should_behave_like 'found items'
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
context 'bad request' do
|
|
160
|
+
it_should_behave_like 'bad request'
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
describe "Yahoo::Api::Shopping.content_match_item" do
|
|
166
|
+
|
|
167
|
+
let(:res_genre) {
|
|
168
|
+
VCR.use_cassette('shopping_content_match_item_' + url.to_s) do
|
|
169
|
+
Yahoo::Api::Shopping.content_match_item({:url => url})
|
|
170
|
+
end
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
let(:res_error) {
|
|
174
|
+
VCR.use_cassette('shopping_content_match_item') do
|
|
175
|
+
Yahoo::Api::Shopping.content_match_item({})
|
|
176
|
+
end
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
context 'found items' do
|
|
180
|
+
let(:url) { URI.encode('http://www.yahoo.co.jp/') }
|
|
181
|
+
it_should_behave_like 'found items'
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
context 'bad request' do
|
|
185
|
+
it_should_behave_like 'bad request'
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
describe "Yahoo::Api::Shopping.query_ranking" do
|
|
191
|
+
|
|
192
|
+
let(:res_genre) {
|
|
193
|
+
VCR.use_cassette('shopping_query_ranking_' + category_id.to_s) do
|
|
194
|
+
Yahoo::Api::Shopping.query_ranking({:category_id => category_id})
|
|
195
|
+
end
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
context 'found items by genre' do
|
|
199
|
+
let(:category_id) { '13457' }
|
|
200
|
+
it_should_behave_like 'found items by genre'
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
context 'not found items by genre' do
|
|
204
|
+
let(:category_id) { '399811111' }
|
|
205
|
+
it_should_behave_like 'not found items by genre'
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
end
|
|
209
|
+
|
|
210
|
+
describe "Yahoo::Api::Shopping.item_lookup" do
|
|
211
|
+
|
|
212
|
+
let(:res_genre) {
|
|
213
|
+
VCR.use_cassette('shopping_item_lookup_' + itemcode.to_s) do
|
|
214
|
+
Yahoo::Api::Shopping.item_lookup({:itemcode => itemcode})
|
|
215
|
+
end
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
let(:res_error) {
|
|
219
|
+
VCR.use_cassette('shopping_item_lookup') do
|
|
220
|
+
Yahoo::Api::Shopping.item_lookup({})
|
|
221
|
+
end
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
context 'found items by genre' do
|
|
225
|
+
let(:itemcode) { 'hair_haclm352nn' }
|
|
226
|
+
it_should_behave_like 'found items by genre'
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
context 'not found items by genre' do
|
|
230
|
+
let(:itemcode) { 'eshopping_113cd02221164' }
|
|
231
|
+
it_should_behave_like 'not found items by genre'
|
|
232
|
+
end
|
|
233
|
+
|
|
234
|
+
context 'bad request' do
|
|
235
|
+
it_should_behave_like 'bad request'
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
end
|
|
239
|
+
|
|
240
|
+
describe "Yahoo::Api::Shopping.category_search" do
|
|
241
|
+
|
|
242
|
+
let(:res_genre) {
|
|
243
|
+
VCR.use_cassette('shopping_category_search_' + category_id.to_s) do
|
|
244
|
+
Yahoo::Api::Shopping.category_search({:category_id => category_id})
|
|
245
|
+
end
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
let(:res_error) {
|
|
249
|
+
VCR.use_cassette('shopping_category_search') do
|
|
250
|
+
Yahoo::Api::Shopping.category_search({})
|
|
251
|
+
end
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
context 'found items by genre' do
|
|
255
|
+
let(:category_id) { '1' }
|
|
256
|
+
it_should_behave_like 'found items by genre'
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
context 'bad request' do
|
|
260
|
+
it_should_behave_like 'bad request'
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
describe "Yahoo::Api::Shopping.category_ranking" do
|
|
266
|
+
|
|
267
|
+
let(:res_genre) {
|
|
268
|
+
VCR.use_cassette('shopping_category_ranking_' + category_id.to_s+ '_'+ gender.to_s) do
|
|
269
|
+
Yahoo::Api::Shopping.category_ranking({:category_id => category_id,:gender => gender})
|
|
270
|
+
end
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
context 'found items by genre' do
|
|
274
|
+
let(:category_id) { '13457' }
|
|
275
|
+
let(:gender) { 'female' }
|
|
276
|
+
it_should_behave_like 'found items by genre'
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
context 'not found items by genre' do
|
|
280
|
+
let(:category_id) { '95' }
|
|
281
|
+
let(:gender) { 'female' }
|
|
282
|
+
it_should_behave_like 'not found items by genre'
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
end
|
|
286
|
+
|
|
287
|
+
describe "Yahoo::Api::Shopping.item_search" do
|
|
288
|
+
|
|
289
|
+
let(:res_genre) {
|
|
290
|
+
VCR.use_cassette('shopping_item_search_' + category_id.to_s+ '_'+ exp_area.to_s) do
|
|
291
|
+
Yahoo::Api::Shopping.item_search({:category_id => category_id,:exp_area => exp_area})
|
|
292
|
+
end
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
let(:res_keyword) {
|
|
296
|
+
VCR.use_cassette('shopping_item_search_' + query.to_s) do
|
|
297
|
+
Yahoo::Api::Shopping.item_search({:query => query})
|
|
298
|
+
end
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
let(:res_error) {
|
|
302
|
+
VCR.use_cassette('shopping_item_search') do
|
|
303
|
+
Yahoo::Api::Shopping.item_search({})
|
|
304
|
+
end
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
context 'found items by genre' do
|
|
308
|
+
let(:category_id) { '13457' }
|
|
309
|
+
let(:exp_area) { '13' }
|
|
310
|
+
it_should_behave_like 'found items by genre'
|
|
311
|
+
end
|
|
312
|
+
|
|
313
|
+
context 'not found items by genre' do
|
|
314
|
+
let(:category_id) { '617' }
|
|
315
|
+
let(:exp_area) { '01' }
|
|
316
|
+
it_should_behave_like 'not found items by genre'
|
|
317
|
+
end
|
|
318
|
+
|
|
319
|
+
context 'found items by keyword' do
|
|
320
|
+
let(:query) { 'au' }
|
|
321
|
+
it_should_behave_like 'found items by keyword'
|
|
322
|
+
end
|
|
323
|
+
|
|
324
|
+
context 'not found items by keyword' do
|
|
325
|
+
let(:query) { 'auaaaaaaa' }
|
|
326
|
+
it_should_behave_like 'not found items by keyword'
|
|
327
|
+
end
|
|
328
|
+
|
|
329
|
+
context 'bad request' do
|
|
330
|
+
it_should_behave_like 'bad request'
|
|
331
|
+
end
|
|
332
|
+
|
|
333
|
+
end
|
|
334
|
+
|
data/test.rb
ADDED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: yahoo-api
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- shoprev
|
|
@@ -93,7 +93,19 @@ files:
|
|
|
93
93
|
- README.md
|
|
94
94
|
- Rakefile
|
|
95
95
|
- lib/yahoo/api.rb
|
|
96
|
+
- lib/yahoo/api/auction.rb
|
|
97
|
+
- lib/yahoo/api/request.rb
|
|
98
|
+
- lib/yahoo/api/response.rb
|
|
99
|
+
- lib/yahoo/api/shopping.rb
|
|
96
100
|
- lib/yahoo/api/version.rb
|
|
101
|
+
- spec/fixtures/shopping_content_match_item_http_/hoge_com/.yml
|
|
102
|
+
- spec/fixtures/shopping_content_match_item_http_/hogeaaaaaaaaaaaaaaaaaa_com/.yml
|
|
103
|
+
- spec/fixtures/shopping_content_match_item_http_/www_yahoo_co_jp/.yml
|
|
104
|
+
- spec/fixtures/shopping_content_match_rankinghttp_/www_yahoo_co_jp/.yml
|
|
105
|
+
- spec/spec_helper.rb
|
|
106
|
+
- spec/yahoo/auction_spec.rb
|
|
107
|
+
- spec/yahoo/shopping_spec.rb
|
|
108
|
+
- test.rb
|
|
97
109
|
- yahoo-api.gemspec
|
|
98
110
|
homepage: https://github.com/shoprev/yahoo-api
|
|
99
111
|
licenses:
|
|
@@ -119,4 +131,11 @@ rubygems_version: 2.0.3
|
|
|
119
131
|
signing_key:
|
|
120
132
|
specification_version: 4
|
|
121
133
|
summary: Ruby Yahoo Web API ( Shopping & Auction )
|
|
122
|
-
test_files:
|
|
134
|
+
test_files:
|
|
135
|
+
- spec/fixtures/shopping_content_match_item_http_/hoge_com/.yml
|
|
136
|
+
- spec/fixtures/shopping_content_match_item_http_/hogeaaaaaaaaaaaaaaaaaa_com/.yml
|
|
137
|
+
- spec/fixtures/shopping_content_match_item_http_/www_yahoo_co_jp/.yml
|
|
138
|
+
- spec/fixtures/shopping_content_match_rankinghttp_/www_yahoo_co_jp/.yml
|
|
139
|
+
- spec/spec_helper.rb
|
|
140
|
+
- spec/yahoo/auction_spec.rb
|
|
141
|
+
- spec/yahoo/shopping_spec.rb
|