in jobs/V3/filter_search_sample.rb [212:258]
def job_discovery_compensation_search project_id:, company_name:, min_unit:, max_unit:
require "google/apis/jobs_v3"
jobs = Google::Apis::JobsV3
talent_solution_client = jobs::CloudTalentSolutionService.new
talent_solution_client.authorization = Google::Auth.get_application_default(
"https://www.googleapis.com/auth/jobs"
)
request_metadata = jobs::RequestMetadata.new user_id: "HashedUserId",
session_id: "HashedSessionId",
domain: "http://careers.google.com"
compensation_range = jobs::CompensationRange.new max_compensation: (
jobs::Money.new currency_code: "USD",
units: max_unit,
nanos: 500_000_000
),
min_compensation: (
jobs::Money.new currency_code: "USD",
units: min_unit,
nanos: 0
)
compensation_filter = jobs::CompensationFilter.new type: "UNIT_AND_AMOUNT",
units: ["HOURLY"],
range: compensation_range
job_query = jobs::JobQuery.new compensation_filter: compensation_filter,
company_names: [company_name]
search_jobs_request = jobs::SearchJobsRequest.new request_metadata: request_metadata,
job_query: job_query,
search_mode: "JOB_SEARCH"
search_jobs_response = talent_solution_client.search_jobs project_id, search_jobs_request
puts search_jobs_response.to_json
search_jobs_response
end