google-ads-googleads 25.0.0 → 25.0.2
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/CHANGELOG.md +4 -0
- data/google_ads_config.rb +6 -0
- data/lib/google/ads/google_ads/config.rb +2 -0
- data/lib/google/ads/google_ads/google_ads_client.rb +0 -1
- data/lib/google/ads/google_ads/interceptors/logging_interceptor.rb +37 -1
- data/lib/google/ads/google_ads/service_lookup.rb +7 -3
- data/lib/google/ads/google_ads/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f28443d70013ab5917dd103b40ae20c3e319ce1cd7577cb8d048e57547de4ed4
|
4
|
+
data.tar.gz: 19e3462910b2e7ecc34081a6993e3e09f8dfac2d835fd473e0c7bef504aa9128
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce0d8a9795a7997afb45637e2d5dfe6ed2174ed3959bb1c916a83f5b4ceda80afe25419e503e826fc53041389e4fdcdb9328c307f1f87c3cb638682be9a3861b
|
7
|
+
data.tar.gz: ad1f8ea84fb93385619a403682ecf8f24e448337008ea2d1b132a073677f4d5dd896a5fc869d8004e71caf9b17c6470b22c07d06dfdadb3e2f49d89431823c74
|
data/CHANGELOG.md
CHANGED
data/google_ads_config.rb
CHANGED
@@ -26,6 +26,12 @@ Google::Ads::GoogleAds::Config.new do |c|
|
|
26
26
|
c.client_secret = 'INSERT_CLIENT_SECRET_HERE'
|
27
27
|
c.refresh_token = 'INSERT_REFRESH_TOKEN_HERE'
|
28
28
|
|
29
|
+
# Whether to use the Google Cloud Organization of your Google Cloud
|
30
|
+
# project instead of developer token to determine your Google Ads API access levels.
|
31
|
+
# Use this flag only if you are enrolled into a limited pilot that supports
|
32
|
+
# this configuration.
|
33
|
+
# c.use_cloud_org_for_api_access = false
|
34
|
+
|
29
35
|
# You can also authenticate using a service account. If "keyfile" is
|
30
36
|
# specified below, then service account authentication will be assumed and
|
31
37
|
# the above authentication fields ignored. Read more about service account
|
@@ -32,6 +32,7 @@ module Google
|
|
32
32
|
attr_accessor :developer_token
|
33
33
|
attr_accessor :login_customer_id
|
34
34
|
attr_accessor :linked_customer_id
|
35
|
+
attr_accessor :use_cloud_org_for_api_access
|
35
36
|
|
36
37
|
attr_accessor :log_level
|
37
38
|
attr_accessor :log_target
|
@@ -55,6 +56,7 @@ module Google
|
|
55
56
|
@developer_token = nil
|
56
57
|
@login_customer_id = nil
|
57
58
|
@linked_customer_id = nil
|
59
|
+
@use_cloud_org_for_api_access = false
|
58
60
|
|
59
61
|
@log_level = nil
|
60
62
|
@log_target = nil
|
@@ -225,7 +225,6 @@ module Google
|
|
225
225
|
# Provides a Google::Auth::Credentials initialized with a keyfile
|
226
226
|
# specified in the config.
|
227
227
|
def get_service_account_credentials
|
228
|
-
raise 'config.impersonate required if keyfile specified' unless @config.impersonate
|
229
228
|
keyfile = File.read(@config.keyfile)
|
230
229
|
keyfile = JSON.parse(keyfile)
|
231
230
|
Signet::OAuth2::Client.new(
|
@@ -37,7 +37,11 @@ module Google
|
|
37
37
|
customer_user_access.email_address|
|
38
38
|
customer_user_access_invitation.email_address|
|
39
39
|
change_event.user_email|
|
40
|
-
feed.places_location_feed_data.email_address
|
40
|
+
feed.places_location_feed_data.email_address|
|
41
|
+
local_services_lead.contact_details.phone_number|
|
42
|
+
local_services_lead.contact_details.email|
|
43
|
+
local_services_lead.contact_details.consumer_name|
|
44
|
+
local_services_lead_conversation.message_details.text
|
41
45
|
/x
|
42
46
|
|
43
47
|
MASK_REPLACEMENT = "REDACTED"
|
@@ -244,11 +248,43 @@ module Google
|
|
244
248
|
message["emailAddress"] = MASK_REPLACEMENT
|
245
249
|
end
|
246
250
|
message
|
251
|
+
elsif "LocalServicesLead" == message_class
|
252
|
+
# Sanitize sensitive fields when creating a LocalServiceLead.
|
253
|
+
message = clone_to_json(message)
|
254
|
+
sanitize_local_services_lead(message)
|
255
|
+
elsif "LocalServicesLeadConversation" == message_class
|
256
|
+
# Sanitize sensitive fields when creating a LocalServicesLeadConversation.
|
257
|
+
message = clone_to_json(message)
|
258
|
+
sanitize_local_services_lead_conversation(message)
|
247
259
|
else
|
248
260
|
message
|
249
261
|
end
|
250
262
|
end
|
251
263
|
|
264
|
+
def sanitize_local_services_lead_conversation(message)
|
265
|
+
if message.include?("messageDetails")
|
266
|
+
if message["messageDetails"].include?("text")
|
267
|
+
message["messageDetails"]["text"] = MASK_REPLACEMENT
|
268
|
+
end
|
269
|
+
end
|
270
|
+
message
|
271
|
+
end
|
272
|
+
|
273
|
+
def sanitize_local_services_lead(message)
|
274
|
+
if message.include?("contactDetails")
|
275
|
+
if message["contactDetails"].include?("email")
|
276
|
+
message["contactDetails"]["email"] = MASK_REPLACEMENT
|
277
|
+
end
|
278
|
+
if message["contactDetails"].include?("phoneNumber")
|
279
|
+
message["contactDetails"]["phoneNumber"] = MASK_REPLACEMENT
|
280
|
+
end
|
281
|
+
if message["contactDetails"].include?("consumerName")
|
282
|
+
message["contactDetails"]["consumerName"] = MASK_REPLACEMENT
|
283
|
+
end
|
284
|
+
end
|
285
|
+
message
|
286
|
+
end
|
287
|
+
|
252
288
|
def sanitize_customer_user_access(message)
|
253
289
|
if message.include?("emailAddress")
|
254
290
|
message["emailAddress"] = MASK_REPLACEMENT
|
@@ -62,9 +62,13 @@ module Google
|
|
62
62
|
end
|
63
63
|
|
64
64
|
def headers
|
65
|
-
headers = {
|
66
|
-
|
67
|
-
|
65
|
+
headers = {}
|
66
|
+
|
67
|
+
# If config.use_cloud_org_for_api_access is not True, add the developer
|
68
|
+
# token to the request's metadata
|
69
|
+
if !config.use_cloud_org_for_api_access
|
70
|
+
headers[:"developer-token"] = config.developer_token
|
71
|
+
end
|
68
72
|
|
69
73
|
if config.login_customer_id
|
70
74
|
validate_customer_id(:login_customer_id)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-ads-googleads
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 25.0.
|
4
|
+
version: 25.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Google Inc
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-12-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gapic-common
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.20'
|
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: '0.
|
26
|
+
version: '0.20'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: google-protobuf
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|