search_console_api 0.0.1 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +4 -1
- data/lib/search_console_api/request.rb +2 -2
- data/lib/search_console_api/resources/search_analytics/query.rb +14 -4
- data/lib/search_console_api/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3968aa346b7e66d1096c29eef5dbcfab5814196b722fe2890dfcc2f671d70d63
|
4
|
+
data.tar.gz: 9267710cb171c3974dc6d136ea3d2dc1429ae61e2606f0df0d167590338b0883
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0c9905e38e8a5a0d891b52cd692e99fdd395380962d4b65adfb6d790fa944b01e761876b4c78c0c7834f432f2f0f2ecb394042bd3e41d085a974f0b111db1e23
|
7
|
+
data.tar.gz: bef1b28a7ee2fcf906ae732152762b300e37f67beb387b56c7eca6eabb7d8ce7235839436e9d7d2e5cd4195e93b55961f2ababeeb651dbea1f182ffaf62fe812
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -45,7 +45,7 @@ You will probably want to add the `dimensions` parameters (like in the second ex
|
|
45
45
|
response = client.query(site: my_site, start_date: "2024/03/01", end_date: "2024/04/01")
|
46
46
|
=> [#<SearchConsoleApi::Objects::QueryResponseRow:0x000000010929d510 @clicks=69, @ctr=0.04542462146148782, @impressions=1519, @keys=nil, @position=15.596445029624753>]
|
47
47
|
|
48
|
-
# a more
|
48
|
+
# a more complex query:
|
49
49
|
response = client.query(site: my_site, start_date: "2024/03/01", end_date: "2024/04/01", dimensions: ["query"], row_limit: 3)
|
50
50
|
=>
|
51
51
|
[#<SearchConsoleApi::Objects::QueryResponseRow:0x0000000109324c18
|
@@ -69,6 +69,9 @@ response = client.query(site: my_site, start_date: "2024/03/01", end_date: "2024
|
|
69
69
|
@keys=["location agreement template"],
|
70
70
|
@position=5.392857142857143,
|
71
71
|
@query="location agreement template">]
|
72
|
+
|
73
|
+
# You can also use a simple url instead of a Site object in the parameters:
|
74
|
+
response = client.query(site: "https://example.com", start_date: "2024/03/01", end_date: "2024/04/01", dimensions: ["query"], row_limit: 3)
|
72
75
|
```
|
73
76
|
|
74
77
|
The response will be an array of `SearchConsoleApi::Objects::QueryResponseRow` objects, representing each row of the original response.
|
@@ -21,7 +21,7 @@ module SearchConsoleApi
|
|
21
21
|
|
22
22
|
http.request request
|
23
23
|
end
|
24
|
-
raise SearchConsoleApi::Error.new(response) unless response.is_a?(Net::HTTPSuccess)
|
24
|
+
raise SearchConsoleApi::Error.new(response.body) unless response.is_a?(Net::HTTPSuccess)
|
25
25
|
|
26
26
|
JSON.parse response.body
|
27
27
|
end
|
@@ -38,7 +38,7 @@ module SearchConsoleApi
|
|
38
38
|
request.body = payload
|
39
39
|
|
40
40
|
response = https.request(request)
|
41
|
-
raise SearchConsoleApi::Error.new(response) unless response.is_a?(Net::HTTPSuccess)
|
41
|
+
raise SearchConsoleApi::Error.new(response.body) unless response.is_a?(Net::HTTPSuccess)
|
42
42
|
|
43
43
|
JSON.parse response.body
|
44
44
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require "date"
|
2
|
+
|
1
3
|
module SearchConsoleApi
|
2
4
|
module Resources
|
3
5
|
module SearchAnalytics
|
@@ -5,8 +7,8 @@ module SearchConsoleApi
|
|
5
7
|
def initialize(access_token:, site: nil, start_date: nil, end_date: nil, dimensions: [], type: nil, dimension_filter_groups: [], aggregation_type: nil, row_limit: nil, start_row: nil, data_state: nil)
|
6
8
|
@access_token = access_token
|
7
9
|
@site = site
|
8
|
-
@start_date = start_date
|
9
|
-
@end_date = end_date
|
10
|
+
@start_date = DateTime.parse(start_date).strftime("%Y-%m-%d")
|
11
|
+
@end_date = DateTime.parse(end_date).strftime("%Y-%m-%d")
|
10
12
|
@dimensions = dimensions
|
11
13
|
@type = type
|
12
14
|
@dimension_filter_groups = dimension_filter_groups
|
@@ -14,6 +16,10 @@ module SearchConsoleApi
|
|
14
16
|
@row_limit = row_limit
|
15
17
|
@start_row = start_row
|
16
18
|
@data_state = data_state
|
19
|
+
|
20
|
+
unless @site.is_a?(SearchConsoleApi::Objects::Site)
|
21
|
+
@site = SearchConsoleApi::Objects::Site.new({"siteUrl" => @site})
|
22
|
+
end
|
17
23
|
end
|
18
24
|
|
19
25
|
def call
|
@@ -22,12 +28,16 @@ module SearchConsoleApi
|
|
22
28
|
end
|
23
29
|
end
|
24
30
|
|
31
|
+
def request_path
|
32
|
+
"/sites/#{@site.encoded_site_url}/searchAnalytics/query"
|
33
|
+
end
|
34
|
+
|
25
35
|
private
|
26
36
|
|
27
37
|
def response
|
28
38
|
Request.post(
|
29
39
|
access_token: @access_token,
|
30
|
-
path:
|
40
|
+
path: request_path,
|
31
41
|
payload: payload
|
32
42
|
)
|
33
43
|
end
|
@@ -49,4 +59,4 @@ module SearchConsoleApi
|
|
49
59
|
end
|
50
60
|
end
|
51
61
|
end
|
52
|
-
end
|
62
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: search_console_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gustavo Garcia
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-03-
|
11
|
+
date: 2024-03-12 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A very humble wrapper for the Google Search Console API to be used in
|
14
14
|
conjuntion with OAuth2
|