simple_ga_reporting 1.0.4 → 1.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 93f5bda8c264e442196ebdecc2f40f062a5edb040eccd07eb583642d060e12d8
|
4
|
+
data.tar.gz: 06411f48196f37897f11e104f7afcca247e268124f7e90d6861f80a0413eb2f0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 24886998f3a4548f1a03e242adb06e6d5f227a4703d8b72227d92e22307e4c76f0cccdfe88464690079ba92eabdbdf3c76d87c7cee4cb57d8099db269a2f239e
|
7
|
+
data.tar.gz: 7dccf9f673c5970bc38ba984ba3e9411ee58a4d5f03377c054858d0d1301edb1b45909957c05d2a5f469d50b637d12ef0c9aa2a028ea81bf5bc0335d528cc23d
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
[](https://badge.fury.io/rb/simple_ga_reporting) [](https://circleci.com/gh/corselia/simple-ga-reporting)
|
2
2
|
|
3
|
+
# Japanese Document
|
4
|
+
- Japanese Document (my blog's article) is following
|
5
|
+
- [Google Analytics の API を用いて簡単にデータを取得できる gem を作りました](https://obel.hatenablog.jp/entry/20180409/1523282148)
|
6
|
+
|
3
7
|
# What's this?
|
4
8
|
This gem helps you to obtain `Google Analytics` reporting data with ease.
|
5
9
|
|
@@ -45,7 +49,7 @@ $ gem install simple-ga-reporting
|
|
45
49
|
- `SimpleGaReports.filtered_results`
|
46
50
|
- Only three lines :-)
|
47
51
|
- Note
|
48
|
-
- If you don't use filters, use `SimpleGaReports.raw_results`
|
52
|
+
- If you don't use filters, also use `SimpleGaReports.raw_results`
|
49
53
|
- when no filter is in configure file, `SimpleGaReports.raw_results` is the same as `SimpleGaReports.filtered_results`
|
50
54
|
|
51
55
|
```ruby
|
@@ -302,9 +306,8 @@ end
|
|
302
306
|
```ruby
|
303
307
|
require 'simple_ga_reporting'
|
304
308
|
|
305
|
-
SimpleGaReports.configure('./bar/my_ga_reporting_config.yml','./foobar/filters.rb', start_date:
|
306
|
-
|
307
|
-
results = SimpleGaReports.filtered_results('./foo/my_key_and_email.yml')
|
309
|
+
SimpleGaReports.configure(report_config: './bar/my_ga_reporting_config.yml', filters: './foobar/filters.rb', start_date: '2daysAgo', limit: 100)
|
310
|
+
results = SimpleGaReports.filtered_results(key_and_email: './foo/my_key_and_email.yml')
|
308
311
|
|
309
312
|
results.each do |result|
|
310
313
|
puts '==================================='
|
@@ -410,6 +413,7 @@ HAPPY CHECK!
|
|
410
413
|
- offset
|
411
414
|
- quota_user
|
412
415
|
- segment_id
|
416
|
+
- `segment` is the conbination of filters actually, so you can use 'filters' as alternative way
|
413
417
|
|
414
418
|
# Development
|
415
419
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
@@ -11,15 +11,15 @@ module LegatoGaUser
|
|
11
11
|
TOKEN_URL = 'https://accounts.google.com/o/oauth2/token'.freeze
|
12
12
|
|
13
13
|
# private
|
14
|
-
def create_ga_user(
|
15
|
-
signing_key = OpenSSL::PKey::RSA.new(private_key(
|
14
|
+
def create_ga_user(key_and_email)
|
15
|
+
signing_key = OpenSSL::PKey::RSA.new(private_key(key_and_email))
|
16
16
|
auth_client = Signet::OAuth2::Client.new(
|
17
17
|
token_credential_uri: TOKEN_CREDENTIAL_URI,
|
18
18
|
audience: AUDIENCE,
|
19
19
|
scope: SCOPE,
|
20
|
-
issuer: client_email(
|
20
|
+
issuer: client_email(key_and_email),
|
21
21
|
signing_key: signing_key,
|
22
|
-
sub: client_email(
|
22
|
+
sub: client_email(key_and_email),
|
23
23
|
)
|
24
24
|
access_token = auth_client.fetch_access_token!
|
25
25
|
|
@@ -40,11 +40,11 @@ module LegatoGaUser
|
|
40
40
|
ga_user
|
41
41
|
end
|
42
42
|
|
43
|
-
def private_key(
|
44
|
-
YAML.load_file(
|
43
|
+
def private_key(key_and_email)
|
44
|
+
YAML.load_file(key_and_email)['private_key']
|
45
45
|
end
|
46
46
|
|
47
|
-
def client_email(
|
48
|
-
YAML.load_file(
|
47
|
+
def client_email(key_and_email)
|
48
|
+
YAML.load_file(key_and_email)['client_email']
|
49
49
|
end
|
50
50
|
end
|
@@ -6,23 +6,23 @@ class SimpleGaReports
|
|
6
6
|
end
|
7
7
|
|
8
8
|
class << SimpleGaReports
|
9
|
-
def configure(
|
9
|
+
def configure(report_config: 'config/ga_reporting_config.yml', filters: 'config/filters.rb', **options)
|
10
10
|
# TODO: oh... global variable...
|
11
|
-
$model_config = YAML.load_file(
|
12
|
-
$filters_file =
|
11
|
+
$model_config = YAML.load_file(report_config)
|
12
|
+
$filters_file = filters
|
13
13
|
|
14
14
|
require 'simple_ga_reporting/legato_ga_model'
|
15
15
|
query_parameters($model_config, options)
|
16
16
|
end
|
17
17
|
|
18
|
-
def filtered_results(
|
19
|
-
raw_results = raw_results(
|
18
|
+
def filtered_results(key_and_email: 'config/key_and_email.yml')
|
19
|
+
raw_results = raw_results(key_and_email)
|
20
20
|
filtering(raw_results)
|
21
21
|
end
|
22
22
|
|
23
|
-
def raw_results(
|
23
|
+
def raw_results(key_and_email)
|
24
24
|
# 'legato_ga_model' method is generated by Model class automatically
|
25
|
-
query = ga_profile(
|
25
|
+
query = ga_profile(key_and_email).legato_ga_model
|
26
26
|
|
27
27
|
query.results(
|
28
28
|
start_date: @start_date,
|
@@ -47,8 +47,8 @@ class << SimpleGaReports
|
|
47
47
|
end
|
48
48
|
|
49
49
|
# TODO: should specify by profile id, too
|
50
|
-
def ga_profile(
|
51
|
-
ga_user = create_ga_user(
|
50
|
+
def ga_profile(key_and_email)
|
51
|
+
ga_user = create_ga_user(key_and_email)
|
52
52
|
|
53
53
|
ga_user.profiles.each do |profile|
|
54
54
|
return profile if profile.name === @profile_name
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_ga_reporting
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Osamu Takiya
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-04-
|
11
|
+
date: 2018-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|