yahoo_store_api 0.2.1 → 0.2.6
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/.github/workflows/main.yml +41 -0
- data/.gitignore +4 -1
- data/.vscode/settings.json +8 -0
- data/README.md +10 -3
- data/lib/yahoo_store_api/helper.rb +1 -3
- data/lib/yahoo_store_api/version.rb +1 -1
- data/lib/yahoo_store_api.rb +11 -16
- data/yahoo_store_api.gemspec +5 -5
- metadata +28 -15
- data/.travis.yml +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7fa488df1fd962d30ed6ff5876af8f0be58f3be7155fe23df86ba0b9c7d910fe
|
4
|
+
data.tar.gz: fd2c8defe9a71a809b6bacbb6cd0a517897ba6681e00828bd1f721a75ca5aa48
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1fea9cdc46fe5b06c4cf129bc32e658b5a9dc57062ed7962e8d60600aeff4912d8e1b9ed76f32db0776af5ff0b51924e0bce49eb4dee5095ee82ed8e5fbf04f4
|
7
|
+
data.tar.gz: f077634770b61d3ce3a4b61035c63059e10143d1a1a87d2fc436411e705a4ac56cd7aea5b869d635f2ab66a97790833e6a2d7979d46bf6922debb63de09239f5
|
@@ -0,0 +1,41 @@
|
|
1
|
+
name: Ruby
|
2
|
+
|
3
|
+
on: [push]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
build:
|
7
|
+
runs-on: ubuntu-latest
|
8
|
+
strategy:
|
9
|
+
matrix:
|
10
|
+
ruby: [2.5, 2.6, 2.7, 3.0]
|
11
|
+
name: Ruby ${{ matrix.ruby }}
|
12
|
+
|
13
|
+
steps:
|
14
|
+
- uses: actions/checkout@v2
|
15
|
+
- uses: actions/cache@v2
|
16
|
+
with:
|
17
|
+
path: vendor/bundle
|
18
|
+
key: bundle-${{ hashFiles('**/Gemfile.lock') }}
|
19
|
+
|
20
|
+
- name: Set up Ruby
|
21
|
+
uses: actions/setup-ruby@v1
|
22
|
+
with:
|
23
|
+
ruby-version: ${{ matrix.ruby }}
|
24
|
+
bundler-cache: true
|
25
|
+
|
26
|
+
- name: Install bundler
|
27
|
+
run: gem install bundler
|
28
|
+
|
29
|
+
- name: Bundle install
|
30
|
+
run: bundle install --jobs 4 --retry 3
|
31
|
+
env:
|
32
|
+
RAILS_ENV: test
|
33
|
+
|
34
|
+
- name: Run test
|
35
|
+
run: rake test
|
36
|
+
env:
|
37
|
+
RAILS_ENV: test
|
38
|
+
YOUR_SELLER_ID: YOUR_SELLER_ID
|
39
|
+
YOUR_APPLICATION_ID: YOUR_APPLICATION_ID
|
40
|
+
YOUR_APPLICATION_SECRET: YOUR_APPLICATION_SECRET
|
41
|
+
YOUR_REFRESH_TOKEN: YOUR_REFRESH_TOKEN
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -1,13 +1,20 @@
|
|
1
1
|
# YahooStoreApi
|
2
2
|
|
3
|
+
**⚠️Deprecated⚠️**
|
4
|
+
|
5
|
+
YahooのAPI認証がv1からv2に移行しており、自分自身EC関連の業務から離れているため、メンテナンスができません。
|
6
|
+
|
7
|
+
> 2021年8月3日をもちましてYahoo! ID連携 v1の新規の登録を終了いたしました。
|
8
|
+
> 2022年4月27日にYahoo! ID連携 v1の利用を終了いたしますのでv2への移行が必要です。
|
9
|
+
|
10
|
+
---
|
11
|
+
|
3
12
|
[](https://badge.fury.io/rb/yahoo_store_api)
|
4
|
-
[](https://github.com/t4traw/yahoo_store_api/actions/workflows/main.yml)
|
5
14
|
[](https://codeclimate.com/github/t4traw/yahoo_store_api)
|
6
15
|
|
7
16
|
Yahoo!ショッピング プロフェッショナル出店ストア向けAPIを簡単に叩けるrubyラッパーです。
|
8
17
|
|
9
|
-
現在開発中です🐛 まだ商品情報のCRUDと在庫情報の取得・更新、反映予約しかできません。順次機能追加をしていきたいと思います。
|
10
|
-
|
11
18
|
## できること
|
12
19
|
|
13
20
|
* 商品に関連するAPI
|
@@ -4,9 +4,7 @@ module YahooStoreApi
|
|
4
4
|
|
5
5
|
def connection(method, with_seller_id: false)
|
6
6
|
url = ENDPOINT + method
|
7
|
-
if with_seller_id
|
8
|
-
url += "?seller_id=#{@seller_id}" if with_seller_id
|
9
|
-
end
|
7
|
+
url += "?seller_id=#{@seller_id}" if with_seller_id
|
10
8
|
|
11
9
|
Faraday.new(url: url) do |c|
|
12
10
|
c.request :multipart
|
data/lib/yahoo_store_api.rb
CHANGED
@@ -27,40 +27,35 @@ module YahooStoreApi
|
|
27
27
|
@application_id = application_id
|
28
28
|
@application_secret = application_secret
|
29
29
|
@redirect_uri = redirect_uri ? "&redirect_uri=" + CGI.escape(redirect_uri) : nil
|
30
|
-
@access_token =
|
30
|
+
@access_token = refresh_token.present? ? refresh_access_token(refresh_token) : get_access_token(authorization_code)
|
31
31
|
end
|
32
32
|
|
33
33
|
private
|
34
34
|
|
35
|
-
ACCESS_TOKEN_ENDPOINT = "https://auth.login.yahoo.co.jp/yconnect/
|
35
|
+
ACCESS_TOKEN_ENDPOINT = "https://auth.login.yahoo.co.jp/yconnect/v2/token".freeze
|
36
36
|
|
37
37
|
def access_token_connection
|
38
38
|
Faraday.new(url: ACCESS_TOKEN_ENDPOINT) do |c|
|
39
39
|
c.adapter Faraday.default_adapter
|
40
|
-
c.authorization :Basic, Base64.strict_encode64("#{@application_id}:#{@application_secret}")
|
40
|
+
c.request :authorization, :Basic, Base64.strict_encode64("#{@application_id}:#{@application_secret}")
|
41
41
|
c.headers["Content-Type"] = "application/x-www-form-urlencoded;charset=UTF-8"
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
45
|
def get_access_token(authorization_code)
|
46
46
|
param = "grant_type=authorization_code&code=#{authorization_code}#{@redirect_uri}"
|
47
|
-
|
48
|
-
result =
|
49
|
-
@refresh_token = result[
|
50
|
-
result[
|
47
|
+
response = access_token_connection.post { |r| r.body = param }
|
48
|
+
result = JSON.parse(response.body)
|
49
|
+
@refresh_token = result["refresh_token"]
|
50
|
+
result["access_token"]
|
51
51
|
end
|
52
52
|
|
53
|
-
def
|
53
|
+
def refresh_access_token(refresh_token)
|
54
54
|
param = "grant_type=refresh_token&refresh_token=#{refresh_token}"
|
55
|
-
|
56
|
-
result =
|
55
|
+
response = access_token_connection.post { |r| r.body = param }
|
56
|
+
result = JSON.parse(response.body)
|
57
57
|
@refresh_token = refresh_token
|
58
|
-
result[
|
59
|
-
end
|
60
|
-
|
61
|
-
def hash_converter(str)
|
62
|
-
ary = str.body.delete('"{}').split(/[:,]/)
|
63
|
-
ary.each_slice(2).map { |k, v| [k.to_sym, v] }.to_h
|
58
|
+
result["access_token"]
|
64
59
|
end
|
65
60
|
end
|
66
61
|
end
|
data/yahoo_store_api.gemspec
CHANGED
@@ -21,15 +21,15 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
22
|
spec.require_paths = ["lib"]
|
23
23
|
|
24
|
-
spec.add_dependency "faraday", "
|
25
|
-
spec.add_dependency "activesupport", ">= 4.2.8"
|
26
|
-
spec.add_dependency "activemodel", ">= 4.2.8"
|
24
|
+
spec.add_dependency "faraday", "~> 1.8.0"
|
25
|
+
spec.add_dependency "activesupport", ">= 4.2.8", "< 7.0"
|
26
|
+
spec.add_dependency "activemodel", ">= 4.2.8", "< 7.0"
|
27
27
|
spec.add_dependency "builder"
|
28
28
|
|
29
29
|
spec.add_development_dependency "bundler"
|
30
30
|
spec.add_development_dependency "rake", ">= 12.3.3"
|
31
|
-
spec.add_development_dependency "pry", "~> 0.
|
32
|
-
spec.add_development_dependency "minitest", "~> 5.
|
31
|
+
spec.add_development_dependency "pry", "~> 0.14"
|
32
|
+
spec.add_development_dependency "minitest", "~> 5.12"
|
33
33
|
spec.add_development_dependency "minitest-reporters"
|
34
34
|
spec.add_development_dependency "webmock"
|
35
35
|
spec.add_development_dependency "vcr"
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yahoo_store_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- t4traw
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 1.8.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 1.8.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: activesupport
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -31,6 +31,9 @@ dependencies:
|
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 4.2.8
|
34
|
+
- - "<"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '7.0'
|
34
37
|
type: :runtime
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -38,6 +41,9 @@ dependencies:
|
|
38
41
|
- - ">="
|
39
42
|
- !ruby/object:Gem::Version
|
40
43
|
version: 4.2.8
|
44
|
+
- - "<"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '7.0'
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: activemodel
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -45,6 +51,9 @@ dependencies:
|
|
45
51
|
- - ">="
|
46
52
|
- !ruby/object:Gem::Version
|
47
53
|
version: 4.2.8
|
54
|
+
- - "<"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '7.0'
|
48
57
|
type: :runtime
|
49
58
|
prerelease: false
|
50
59
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -52,6 +61,9 @@ dependencies:
|
|
52
61
|
- - ">="
|
53
62
|
- !ruby/object:Gem::Version
|
54
63
|
version: 4.2.8
|
64
|
+
- - "<"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '7.0'
|
55
67
|
- !ruby/object:Gem::Dependency
|
56
68
|
name: builder
|
57
69
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,28 +112,28 @@ dependencies:
|
|
100
112
|
requirements:
|
101
113
|
- - "~>"
|
102
114
|
- !ruby/object:Gem::Version
|
103
|
-
version: 0.
|
115
|
+
version: '0.14'
|
104
116
|
type: :development
|
105
117
|
prerelease: false
|
106
118
|
version_requirements: !ruby/object:Gem::Requirement
|
107
119
|
requirements:
|
108
120
|
- - "~>"
|
109
121
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0.
|
122
|
+
version: '0.14'
|
111
123
|
- !ruby/object:Gem::Dependency
|
112
124
|
name: minitest
|
113
125
|
requirement: !ruby/object:Gem::Requirement
|
114
126
|
requirements:
|
115
127
|
- - "~>"
|
116
128
|
- !ruby/object:Gem::Version
|
117
|
-
version: '5.
|
129
|
+
version: '5.12'
|
118
130
|
type: :development
|
119
131
|
prerelease: false
|
120
132
|
version_requirements: !ruby/object:Gem::Requirement
|
121
133
|
requirements:
|
122
134
|
- - "~>"
|
123
135
|
- !ruby/object:Gem::Version
|
124
|
-
version: '5.
|
136
|
+
version: '5.12'
|
125
137
|
- !ruby/object:Gem::Dependency
|
126
138
|
name: minitest-reporters
|
127
139
|
requirement: !ruby/object:Gem::Requirement
|
@@ -186,8 +198,9 @@ extensions: []
|
|
186
198
|
extra_rdoc_files: []
|
187
199
|
files:
|
188
200
|
- ".env.sample"
|
201
|
+
- ".github/workflows/main.yml"
|
189
202
|
- ".gitignore"
|
190
|
-
- ".
|
203
|
+
- ".vscode/settings.json"
|
191
204
|
- Gemfile
|
192
205
|
- LICENSE
|
193
206
|
- README.md
|
@@ -211,7 +224,7 @@ files:
|
|
211
224
|
homepage: https://github.com/t4traw/yahoo_store_api
|
212
225
|
licenses: []
|
213
226
|
metadata: {}
|
214
|
-
post_install_message:
|
227
|
+
post_install_message:
|
215
228
|
rdoc_options: []
|
216
229
|
require_paths:
|
217
230
|
- lib
|
@@ -226,8 +239,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
226
239
|
- !ruby/object:Gem::Version
|
227
240
|
version: '0'
|
228
241
|
requirements: []
|
229
|
-
rubygems_version: 3.
|
230
|
-
signing_key:
|
242
|
+
rubygems_version: 3.2.32
|
243
|
+
signing_key:
|
231
244
|
specification_version: 4
|
232
245
|
summary: Yahoo!ショッピング プロフェッショナル出店ストア向けAPIを簡単に叩けるrubyラッパー
|
233
246
|
test_files: []
|