Skip to content

Commit ce284df

Browse files
feat: Added the product_id_base64_url_encoded field to RenderProductIssuesRequest. This allows for product IDs containing special characters to be correctly handled when unpadded base64url-encoded (#32170)
feat: Added `VERIFY_BUSINESS_VIDEO_IN_MERCHANT_CENTER` as a new enum value to `ExternalAction.Type`. This supports redirecting to Merchant Center for business video verification PiperOrigin-RevId: 830781240 Source-Link: googleapis/googleapis@18bb600 Source-Link: googleapis/googleapis-gen@f28a7bf Copy-Tag: eyJwIjoiZ29vZ2xlLXNob3BwaW5nLW1lcmNoYW50LWlzc3VlX3Jlc29sdXRpb24tdjEvLk93bEJvdC55YW1sIiwiaCI6ImYyOGE3YmZkNzQ5NDYxYWM1NDk1ZTVjODk2NGM4NGNkMjkwOTZjMDIifQ== * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
1 parent b98ddd7 commit ce284df

File tree

6 files changed

+54
-13
lines changed

6 files changed

+54
-13
lines changed

google-shopping-merchant-issue_resolution-v1/lib/google/shopping/merchant/issue_resolution/v1/issue_resolution_service/client.rb

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ def render_account_issues request, options = nil
303303
# @param options [::Gapic::CallOptions, ::Hash]
304304
# Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
305305
#
306-
# @overload render_product_issues(name: nil, language_code: nil, time_zone: nil, payload: nil)
306+
# @overload render_product_issues(name: nil, language_code: nil, time_zone: nil, payload: nil, product_id_base64_url_encoded: nil)
307307
# Pass arguments to `render_product_issues` via keyword arguments. Note that at
308308
# least one keyword argument is required. To specify no parameters, or to keep all
309309
# the default parameter values, pass an empty Hash as a request object (see above).
@@ -321,6 +321,17 @@ def render_account_issues request, options = nil
321321
# 'America/Los_Angeles'. If not set, results will use as a default UTC.
322322
# @param payload [::Google::Shopping::Merchant::IssueResolution::V1::RenderIssuesRequestPayload, ::Hash]
323323
# Optional. The payload for configuring how the content should be rendered.
324+
# @param product_id_base64_url_encoded [::Boolean]
325+
# Optional. If true, the `{product}` in the `name` field of the request will
326+
# be interpreted as unpadded base64url-encoded and decoded during request
327+
# processing to match the decoded value. Default value is `false`. Use this
328+
# if your `{product}` contains special characters, such as forward slash `/`
329+
# or other characters that are unpadded base64url-encoded (as per RFC 7515:
330+
# https://datatracker.ietf.org/doc/html/rfc7515#section-2).
331+
#
332+
# Note that future versions of the API will only accept unpadded
333+
# base64url-encoded product ids, so we strongly recommend proactively setting
334+
# this to `true` and encoding the product ids.
324335
#
325336
# @yield [response, operation] Access the result along with the RPC operation
326337
# @yieldparam response [::Google::Shopping::Merchant::IssueResolution::V1::RenderProductIssuesResponse]

google-shopping-merchant-issue_resolution-v1/lib/google/shopping/merchant/issue_resolution/v1/issue_resolution_service/rest/client.rb

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ def render_account_issues request, options = nil
289289
# @param options [::Gapic::CallOptions, ::Hash]
290290
# Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
291291
#
292-
# @overload render_product_issues(name: nil, language_code: nil, time_zone: nil, payload: nil)
292+
# @overload render_product_issues(name: nil, language_code: nil, time_zone: nil, payload: nil, product_id_base64_url_encoded: nil)
293293
# Pass arguments to `render_product_issues` via keyword arguments. Note that at
294294
# least one keyword argument is required. To specify no parameters, or to keep all
295295
# the default parameter values, pass an empty Hash as a request object (see above).
@@ -307,6 +307,17 @@ def render_account_issues request, options = nil
307307
# 'America/Los_Angeles'. If not set, results will use as a default UTC.
308308
# @param payload [::Google::Shopping::Merchant::IssueResolution::V1::RenderIssuesRequestPayload, ::Hash]
309309
# Optional. The payload for configuring how the content should be rendered.
310+
# @param product_id_base64_url_encoded [::Boolean]
311+
# Optional. If true, the `{product}` in the `name` field of the request will
312+
# be interpreted as unpadded base64url-encoded and decoded during request
313+
# processing to match the decoded value. Default value is `false`. Use this
314+
# if your `{product}` contains special characters, such as forward slash `/`
315+
# or other characters that are unpadded base64url-encoded (as per RFC 7515:
316+
# https://datatracker.ietf.org/doc/html/rfc7515#section-2).
317+
#
318+
# Note that future versions of the API will only accept unpadded
319+
# base64url-encoded product ids, so we strongly recommend proactively setting
320+
# this to `true` and encoding the product ids.
310321
# @yield [result, operation] Access the result along with the TransportOperation object
311322
# @yieldparam result [::Google::Shopping::Merchant::IssueResolution::V1::RenderProductIssuesResponse]
312323
# @yieldparam operation [::Gapic::Rest::TransportOperation]

google-shopping-merchant-issue_resolution-v1/lib/google/shopping/merchant/issueresolution/v1/issueresolution_pb.rb

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

google-shopping-merchant-issue_resolution-v1/proto_docs/google/shopping/merchant/issueresolution/v1/issueresolution.rb

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,18 @@ class RenderProductIssuesResponse
119119
# @!attribute [rw] payload
120120
# @return [::Google::Shopping::Merchant::IssueResolution::V1::RenderIssuesRequestPayload]
121121
# Optional. The payload for configuring how the content should be rendered.
122+
# @!attribute [rw] product_id_base64_url_encoded
123+
# @return [::Boolean]
124+
# Optional. If true, the `{product}` in the `name` field of the request will
125+
# be interpreted as unpadded base64url-encoded and decoded during request
126+
# processing to match the decoded value. Default value is `false`. Use this
127+
# if your `{product}` contains special characters, such as forward slash `/`
128+
# or other characters that are unpadded base64url-encoded (as per RFC 7515:
129+
# https://datatracker.ietf.org/doc/html/rfc7515#section-2).
130+
#
131+
# Note that future versions of the API will only accept unpadded
132+
# base64url-encoded product ids, so we strongly recommend proactively setting
133+
# this to `true` and encoding the product ids.
122134
class RenderProductIssuesRequest
123135
include ::Google::Protobuf::MessageExts
124136
extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -775,6 +787,10 @@ module ExternalActionType
775787
# Redirect to Merchant Center where the business can perform identity
776788
# verification.
777789
VERIFY_IDENTITY_IN_MERCHANT_CENTER = 4
790+
791+
# Redirect to Merchant Center where the business can perform business
792+
# video verification.
793+
VERIFY_BUSINESS_VIDEO_IN_MERCHANT_CENTER = 5
778794
end
779795
end
780796

google-shopping-merchant-issue_resolution-v1/test/google/shopping/merchant/issue_resolution/v1/issue_resolution_service_rest_test.rb

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ def test_render_product_issues
147147
language_code = "hello world"
148148
time_zone = "hello world"
149149
payload = {}
150+
product_id_base64_url_encoded = true
150151

151152
render_product_issues_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:, method_name:|
152153
assert options.metadata.key? :"x-goog-api-client"
@@ -162,27 +163,27 @@ def test_render_product_issues
162163
end
163164

164165
# Use hash object
165-
client.render_product_issues({ name: name, language_code: language_code, time_zone: time_zone, payload: payload }) do |_result, response|
166+
client.render_product_issues({ name: name, language_code: language_code, time_zone: time_zone, payload: payload, product_id_base64_url_encoded: product_id_base64_url_encoded }) do |_result, response|
166167
assert_equal http_response, response.underlying_op
167168
end
168169

169170
# Use named arguments
170-
client.render_product_issues name: name, language_code: language_code, time_zone: time_zone, payload: payload do |_result, response|
171+
client.render_product_issues name: name, language_code: language_code, time_zone: time_zone, payload: payload, product_id_base64_url_encoded: product_id_base64_url_encoded do |_result, response|
171172
assert_equal http_response, response.underlying_op
172173
end
173174

174175
# Use protobuf object
175-
client.render_product_issues ::Google::Shopping::Merchant::IssueResolution::V1::RenderProductIssuesRequest.new(name: name, language_code: language_code, time_zone: time_zone, payload: payload) do |_result, response|
176+
client.render_product_issues ::Google::Shopping::Merchant::IssueResolution::V1::RenderProductIssuesRequest.new(name: name, language_code: language_code, time_zone: time_zone, payload: payload, product_id_base64_url_encoded: product_id_base64_url_encoded) do |_result, response|
176177
assert_equal http_response, response.underlying_op
177178
end
178179

179180
# Use hash object with options
180-
client.render_product_issues({ name: name, language_code: language_code, time_zone: time_zone, payload: payload }, call_options) do |_result, response|
181+
client.render_product_issues({ name: name, language_code: language_code, time_zone: time_zone, payload: payload, product_id_base64_url_encoded: product_id_base64_url_encoded }, call_options) do |_result, response|
181182
assert_equal http_response, response.underlying_op
182183
end
183184

184185
# Use protobuf object with options
185-
client.render_product_issues(::Google::Shopping::Merchant::IssueResolution::V1::RenderProductIssuesRequest.new(name: name, language_code: language_code, time_zone: time_zone, payload: payload), call_options) do |_result, response|
186+
client.render_product_issues(::Google::Shopping::Merchant::IssueResolution::V1::RenderProductIssuesRequest.new(name: name, language_code: language_code, time_zone: time_zone, payload: payload, product_id_base64_url_encoded: product_id_base64_url_encoded), call_options) do |_result, response|
186187
assert_equal http_response, response.underlying_op
187188
end
188189

google-shopping-merchant-issue_resolution-v1/test/google/shopping/merchant/issue_resolution/v1/issue_resolution_service_test.rb

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ def test_render_product_issues
139139
language_code = "hello world"
140140
time_zone = "hello world"
141141
payload = {}
142+
product_id_base64_url_encoded = true
142143

143144
render_product_issues_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:|
144145
assert_equal :render_product_issues, name
@@ -147,6 +148,7 @@ def test_render_product_issues
147148
assert_equal "hello world", request["language_code"]
148149
assert_equal "hello world", request["time_zone"]
149150
assert_equal Gapic::Protobuf.coerce({}, to: ::Google::Shopping::Merchant::IssueResolution::V1::RenderIssuesRequestPayload), request["payload"]
151+
assert_equal true, request["product_id_base64_url_encoded"]
150152
refute_nil options
151153
end
152154

@@ -157,31 +159,31 @@ def test_render_product_issues
157159
end
158160

159161
# Use hash object
160-
client.render_product_issues({ name: name, language_code: language_code, time_zone: time_zone, payload: payload }) do |response, operation|
162+
client.render_product_issues({ name: name, language_code: language_code, time_zone: time_zone, payload: payload, product_id_base64_url_encoded: product_id_base64_url_encoded }) do |response, operation|
161163
assert_equal grpc_response, response
162164
assert_equal grpc_operation, operation
163165
end
164166

165167
# Use named arguments
166-
client.render_product_issues name: name, language_code: language_code, time_zone: time_zone, payload: payload do |response, operation|
168+
client.render_product_issues name: name, language_code: language_code, time_zone: time_zone, payload: payload, product_id_base64_url_encoded: product_id_base64_url_encoded do |response, operation|
167169
assert_equal grpc_response, response
168170
assert_equal grpc_operation, operation
169171
end
170172

171173
# Use protobuf object
172-
client.render_product_issues ::Google::Shopping::Merchant::IssueResolution::V1::RenderProductIssuesRequest.new(name: name, language_code: language_code, time_zone: time_zone, payload: payload) do |response, operation|
174+
client.render_product_issues ::Google::Shopping::Merchant::IssueResolution::V1::RenderProductIssuesRequest.new(name: name, language_code: language_code, time_zone: time_zone, payload: payload, product_id_base64_url_encoded: product_id_base64_url_encoded) do |response, operation|
173175
assert_equal grpc_response, response
174176
assert_equal grpc_operation, operation
175177
end
176178

177179
# Use hash object with options
178-
client.render_product_issues({ name: name, language_code: language_code, time_zone: time_zone, payload: payload }, grpc_options) do |response, operation|
180+
client.render_product_issues({ name: name, language_code: language_code, time_zone: time_zone, payload: payload, product_id_base64_url_encoded: product_id_base64_url_encoded }, grpc_options) do |response, operation|
179181
assert_equal grpc_response, response
180182
assert_equal grpc_operation, operation
181183
end
182184

183185
# Use protobuf object with options
184-
client.render_product_issues(::Google::Shopping::Merchant::IssueResolution::V1::RenderProductIssuesRequest.new(name: name, language_code: language_code, time_zone: time_zone, payload: payload), grpc_options) do |response, operation|
186+
client.render_product_issues(::Google::Shopping::Merchant::IssueResolution::V1::RenderProductIssuesRequest.new(name: name, language_code: language_code, time_zone: time_zone, payload: payload, product_id_base64_url_encoded: product_id_base64_url_encoded), grpc_options) do |response, operation|
185187
assert_equal grpc_response, response
186188
assert_equal grpc_operation, operation
187189
end

0 commit comments

Comments
 (0)