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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 88835f07d06a4aa179460a34e9974066131638acd65885072cd9bfcd1b254ba7
4
- data.tar.gz: 311ad20ecc6436ee9cfd1007640747398f58762b65454602d271e04d9aecaa0a
3
+ metadata.gz: f28443d70013ab5917dd103b40ae20c3e319ce1cd7577cb8d048e57547de4ed4
4
+ data.tar.gz: 19e3462910b2e7ecc34081a6993e3e09f8dfac2d835fd473e0c7bef504aa9128
5
5
  SHA512:
6
- metadata.gz: 3e5e22be127a606fb2eb360f640eed722abb5b49fc7ec85b5f5aabbd09b9b99e61bd12a4ff6586eb0327b6f08e8a90a35a8e9aa29783abb3e6625a2f162c18c1
7
- data.tar.gz: 85554b0ee3b7a81ee7cf3626c74dd8a9ee4fc52d506bfdaa552b1e041aea8a2a7c73a4e8ab80744acc3fd830418fa5806b6520694cf35ed1fbd9ed42e2cb9f52
6
+ metadata.gz: ce0d8a9795a7997afb45637e2d5dfe6ed2174ed3959bb1c916a83f5b4ceda80afe25419e503e826fc53041389e4fdcdb9328c307f1f87c3cb638682be9a3861b
7
+ data.tar.gz: ad1f8ea84fb93385619a403682ecf8f24e448337008ea2d1b132a073677f4d5dd896a5fc869d8004e71caf9b17c6470b22c07d06dfdadb3e2f49d89431823c74
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ 25.0.1
2
+ ------
3
+ - Updated dependencies to support new gRPC features
4
+
1
5
  25.0.0
2
6
  ------
3
7
  - Compatibility with v15 of the API: https://developers.google.com/google-ads/api/docs/release-notes
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
- :"developer-token" => config.developer_token
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)
@@ -20,7 +20,7 @@ module Google
20
20
  module Ads
21
21
  module GoogleAds
22
22
  CLIENT_LIB_NAME = 'gccl'.freeze
23
- CLIENT_LIB_VERSION = '25.0.0'.freeze
23
+ CLIENT_LIB_VERSION = '25.0.2'.freeze
24
24
  VERSION = CLIENT_LIB_VERSION
25
25
  end
26
26
  end
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.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-10-20 00:00:00.000000000 Z
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.6'
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.6'
26
+ version: '0.20'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: google-protobuf
29
29
  requirement: !ruby/object:Gem::Requirement