795 lines
		
	
	
		
			31 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			795 lines
		
	
	
		
			31 KiB
		
	
	
	
		
			Ruby
		
	
	
	
| # Copyright 2015 Google Inc.
 | |
| #
 | |
| # Licensed under the Apache License, Version 2.0 (the "License");
 | |
| # you may not use this file except in compliance with the License.
 | |
| # You may obtain a copy of the License at
 | |
| #
 | |
| #      http://www.apache.org/licenses/LICENSE-2.0
 | |
| #
 | |
| # Unless required by applicable law or agreed to in writing, software
 | |
| # distributed under the License is distributed on an "AS IS" BASIS,
 | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
| # See the License for the specific language governing permissions and
 | |
| # limitations under the License.
 | |
| 
 | |
| require 'date'
 | |
| require 'google/apis/core/base_service'
 | |
| require 'google/apis/core/json_representation'
 | |
| require 'google/apis/core/hashable'
 | |
| require 'google/apis/errors'
 | |
| 
 | |
| module Google
 | |
|   module Apis
 | |
|     module SurveysV2
 | |
|       
 | |
|       # 
 | |
|       class FieldMask
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `fields`
 | |
|         # @return [Array<Google::Apis::SurveysV2::FieldMask>]
 | |
|         attr_accessor :fields
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `id`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :id
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @fields = args[:fields] if args.key?(:fields)
 | |
|           @id = args[:id] if args.key?(:id)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # Representation of an individual pre-defined panel object defining a targeted
 | |
|       # audience of opinion rewards mobile app users.
 | |
|       class MobileAppPanel
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Country code for the country of the users that the panel contains. Uses
 | |
|         # standard ISO 3166-1 2-character language codes. For instance, 'US' for the
 | |
|         # United States, and 'GB' for the United Kingdom. Any survey created targeting
 | |
|         # this panel must also target the corresponding country.
 | |
|         # Corresponds to the JSON property `country`
 | |
|         # @return [String]
 | |
|         attr_accessor :country
 | |
|       
 | |
|         # Whether or not the panel is accessible to all API users.
 | |
|         # Corresponds to the JSON property `isPublicPanel`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :is_public_panel
 | |
|         alias_method :is_public_panel?, :is_public_panel
 | |
|       
 | |
|         # Language code that the panel can target. For instance, 'en-US'. Uses standard
 | |
|         # BCP47 language codes. See specification. Any survey created targeting this
 | |
|         # panel must also target the corresponding language.
 | |
|         # Corresponds to the JSON property `language`
 | |
|         # @return [String]
 | |
|         attr_accessor :language
 | |
|       
 | |
|         # Unique panel ID string. This corresponds to the mobile_app_panel_id used in
 | |
|         # Survey Insert requests.
 | |
|         # Corresponds to the JSON property `mobileAppPanelId`
 | |
|         # @return [String]
 | |
|         attr_accessor :mobile_app_panel_id
 | |
|       
 | |
|         # Human readable name of the audience panel.
 | |
|         # Corresponds to the JSON property `name`
 | |
|         # @return [String]
 | |
|         attr_accessor :name
 | |
|       
 | |
|         # List of email addresses for users who can target members of this panel. Must
 | |
|         # contain at least the address of the user making the API call for panels that
 | |
|         # are not public. This field will be empty for public panels.
 | |
|         # Corresponds to the JSON property `owners`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :owners
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @country = args[:country] if args.key?(:country)
 | |
|           @is_public_panel = args[:is_public_panel] if args.key?(:is_public_panel)
 | |
|           @language = args[:language] if args.key?(:language)
 | |
|           @mobile_app_panel_id = args[:mobile_app_panel_id] if args.key?(:mobile_app_panel_id)
 | |
|           @name = args[:name] if args.key?(:name)
 | |
|           @owners = args[:owners] if args.key?(:owners)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class MobileAppPanelsListResponse
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `pageInfo`
 | |
|         # @return [Google::Apis::SurveysV2::PageInfo]
 | |
|         attr_accessor :page_info
 | |
|       
 | |
|         # Unique request ID used for logging and debugging. Please include in any error
 | |
|         # reporting or troubleshooting requests.
 | |
|         # Corresponds to the JSON property `requestId`
 | |
|         # @return [String]
 | |
|         attr_accessor :request_id
 | |
|       
 | |
|         # An individual predefined panel of Opinion Rewards mobile users.
 | |
|         # Corresponds to the JSON property `resources`
 | |
|         # @return [Array<Google::Apis::SurveysV2::MobileAppPanel>]
 | |
|         attr_accessor :resources
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `tokenPagination`
 | |
|         # @return [Google::Apis::SurveysV2::TokenPagination]
 | |
|         attr_accessor :token_pagination
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @page_info = args[:page_info] if args.key?(:page_info)
 | |
|           @request_id = args[:request_id] if args.key?(:request_id)
 | |
|           @resources = args[:resources] if args.key?(:resources)
 | |
|           @token_pagination = args[:token_pagination] if args.key?(:token_pagination)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class PageInfo
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `resultPerPage`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :result_per_page
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `startIndex`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :start_index
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `totalResults`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :total_results
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @result_per_page = args[:result_per_page] if args.key?(:result_per_page)
 | |
|           @start_index = args[:start_index] if args.key?(:start_index)
 | |
|           @total_results = args[:total_results] if args.key?(:total_results)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class ResultsGetRequest
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `resultMask`
 | |
|         # @return [Google::Apis::SurveysV2::ResultsMask]
 | |
|         attr_accessor :result_mask
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @result_mask = args[:result_mask] if args.key?(:result_mask)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class ResultsMask
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `fields`
 | |
|         # @return [Array<Google::Apis::SurveysV2::FieldMask>]
 | |
|         attr_accessor :fields
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `projection`
 | |
|         # @return [String]
 | |
|         attr_accessor :projection
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @fields = args[:fields] if args.key?(:fields)
 | |
|           @projection = args[:projection] if args.key?(:projection)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # Representation of an individual survey object.
 | |
|       class Survey
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Specifications for the target audience of a survey run through the API.
 | |
|         # Corresponds to the JSON property `audience`
 | |
|         # @return [Google::Apis::SurveysV2::SurveyAudience]
 | |
|         attr_accessor :audience
 | |
|       
 | |
|         # Message defining the cost to run a given survey through API.
 | |
|         # Corresponds to the JSON property `cost`
 | |
|         # @return [Google::Apis::SurveysV2::SurveyCost]
 | |
|         attr_accessor :cost
 | |
|       
 | |
|         # Additional information to store on behalf of the API consumer and associate
 | |
|         # with this question. This binary blob is treated as opaque. This field is
 | |
|         # limited to 64K bytes.
 | |
|         # Corresponds to the JSON property `customerData`
 | |
|         # NOTE: Values are automatically base64 encoded/decoded in the client library.
 | |
|         # @return [String]
 | |
|         attr_accessor :customer_data
 | |
|       
 | |
|         # Text description of the survey.
 | |
|         # Corresponds to the JSON property `description`
 | |
|         # @return [String]
 | |
|         attr_accessor :description
 | |
|       
 | |
|         # List of email addresses for survey owners. Must contain at least the address
 | |
|         # of the user making the API call.
 | |
|         # Corresponds to the JSON property `owners`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :owners
 | |
|       
 | |
|         # List of questions defining the survey.
 | |
|         # Corresponds to the JSON property `questions`
 | |
|         # @return [Array<Google::Apis::SurveysV2::SurveyQuestion>]
 | |
|         attr_accessor :questions
 | |
|       
 | |
|         # Message representing why the survey was rejected from review, if it was.
 | |
|         # Corresponds to the JSON property `rejectionReason`
 | |
|         # @return [Google::Apis::SurveysV2::SurveyRejection]
 | |
|         attr_accessor :rejection_reason
 | |
|       
 | |
|         # State that the survey is in.
 | |
|         # Corresponds to the JSON property `state`
 | |
|         # @return [String]
 | |
|         attr_accessor :state
 | |
|       
 | |
|         # Unique survey ID, that is viewable in the URL of the Survey Creator UI
 | |
|         # Corresponds to the JSON property `surveyUrlId`
 | |
|         # @return [String]
 | |
|         attr_accessor :survey_url_id
 | |
|       
 | |
|         # Optional name that will be given to the survey.
 | |
|         # Corresponds to the JSON property `title`
 | |
|         # @return [String]
 | |
|         attr_accessor :title
 | |
|       
 | |
|         # Number of responses desired for the survey.
 | |
|         # Corresponds to the JSON property `wantedResponseCount`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :wanted_response_count
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @audience = args[:audience] if args.key?(:audience)
 | |
|           @cost = args[:cost] if args.key?(:cost)
 | |
|           @customer_data = args[:customer_data] if args.key?(:customer_data)
 | |
|           @description = args[:description] if args.key?(:description)
 | |
|           @owners = args[:owners] if args.key?(:owners)
 | |
|           @questions = args[:questions] if args.key?(:questions)
 | |
|           @rejection_reason = args[:rejection_reason] if args.key?(:rejection_reason)
 | |
|           @state = args[:state] if args.key?(:state)
 | |
|           @survey_url_id = args[:survey_url_id] if args.key?(:survey_url_id)
 | |
|           @title = args[:title] if args.key?(:title)
 | |
|           @wanted_response_count = args[:wanted_response_count] if args.key?(:wanted_response_count)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # Specifications for the target audience of a survey run through the API.
 | |
|       class SurveyAudience
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Optional list of age buckets to target. Supported age buckets are: ['18-24', '
 | |
|         # 25-34', '35-44', '45-54', '55-64', '65+']
 | |
|         # Corresponds to the JSON property `ages`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :ages
 | |
|       
 | |
|         # Required country code that surveys should be targeted to. Accepts standard ISO
 | |
|         # 3166-1 2 character language codes. For instance, 'US' for the United States,
 | |
|         # and 'GB' for the United Kingdom.
 | |
|         # Corresponds to the JSON property `country`
 | |
|         # @return [String]
 | |
|         attr_accessor :country
 | |
|       
 | |
|         # Country subdivision (states/provinces/etc) that surveys should be targeted to.
 | |
|         # For all countries except GB, ISO-3166-2 subdivision code is required (eg. 'US-
 | |
|         # OH' for Ohio, United States). For GB, NUTS 1 statistical region codes for the
 | |
|         # United Kingdom is required (eg. 'UK-UKC' for North East England).
 | |
|         # Corresponds to the JSON property `countrySubdivision`
 | |
|         # @return [String]
 | |
|         attr_accessor :country_subdivision
 | |
|       
 | |
|         # Optional gender to target.
 | |
|         # Corresponds to the JSON property `gender`
 | |
|         # @return [String]
 | |
|         attr_accessor :gender
 | |
|       
 | |
|         # Language code that surveys should be targeted to. For instance, 'en-US'.
 | |
|         # Surveys may target bilingual users by specifying a list of language codes (for
 | |
|         # example, 'de' and 'en-US'). In that case, all languages will be used for
 | |
|         # targeting users but the survey content (which is displayed) must match the
 | |
|         # first language listed. Accepts standard BCP47 language codes. See
 | |
|         # specification.
 | |
|         # Corresponds to the JSON property `languages`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :languages
 | |
|       
 | |
|         # Key for predefined panel that causes survey to be sent to a predefined set of
 | |
|         # Opinion Rewards App users. You must set PopulationSource to ANDROID_APP_PANEL
 | |
|         # to use this field.
 | |
|         # Corresponds to the JSON property `mobileAppPanelId`
 | |
|         # @return [String]
 | |
|         attr_accessor :mobile_app_panel_id
 | |
|       
 | |
|         # Online population source where the respondents are sampled from.
 | |
|         # Corresponds to the JSON property `populationSource`
 | |
|         # @return [String]
 | |
|         attr_accessor :population_source
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @ages = args[:ages] if args.key?(:ages)
 | |
|           @country = args[:country] if args.key?(:country)
 | |
|           @country_subdivision = args[:country_subdivision] if args.key?(:country_subdivision)
 | |
|           @gender = args[:gender] if args.key?(:gender)
 | |
|           @languages = args[:languages] if args.key?(:languages)
 | |
|           @mobile_app_panel_id = args[:mobile_app_panel_id] if args.key?(:mobile_app_panel_id)
 | |
|           @population_source = args[:population_source] if args.key?(:population_source)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # Message defining the cost to run a given survey through API.
 | |
|       class SurveyCost
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Cost per survey response in nano units of the given currency. To get the total
 | |
|         # cost for a survey, multiply this value by wanted_response_count.
 | |
|         # Corresponds to the JSON property `costPerResponseNanos`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :cost_per_response_nanos
 | |
|       
 | |
|         # Currency code that the cost is given in.
 | |
|         # Corresponds to the JSON property `currencyCode`
 | |
|         # @return [String]
 | |
|         attr_accessor :currency_code
 | |
|       
 | |
|         # Threshold to start a survey automatically if the quoted price is at most this
 | |
|         # value. When a survey has a Screener (threshold) question, it must go through
 | |
|         # an incidence pricing test to determine the final cost per response. Typically
 | |
|         # you will have to make a followup call to start the survey giving the final
 | |
|         # computed cost per response. If the survey has no threshold_answers, setting
 | |
|         # this property will return an error. By specifying this property, you indicate
 | |
|         # the max price per response you are willing to pay in advance of the incidence
 | |
|         # test. If the price turns out to be lower than the specified value, the survey
 | |
|         # will begin immediately and you will be charged at the rate determined by the
 | |
|         # incidence pricing test. If the price turns out to be greater than the
 | |
|         # specified value the survey will not be started and you will instead be
 | |
|         # notified what price was determined by the incidence test. At that point, you
 | |
|         # must raise the value of this property to be greater than or equal to that cost
 | |
|         # before attempting to start the survey again. This will immediately start the
 | |
|         # survey as long the incidence test was run within the last 21 days.
 | |
|         # Corresponds to the JSON property `maxCostPerResponseNanos`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :max_cost_per_response_nanos
 | |
|       
 | |
|         # Cost of survey in nano units of the given currency. DEPRECATED in favor of
 | |
|         # cost_per_response_nanos
 | |
|         # Corresponds to the JSON property `nanos`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :nanos
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @cost_per_response_nanos = args[:cost_per_response_nanos] if args.key?(:cost_per_response_nanos)
 | |
|           @currency_code = args[:currency_code] if args.key?(:currency_code)
 | |
|           @max_cost_per_response_nanos = args[:max_cost_per_response_nanos] if args.key?(:max_cost_per_response_nanos)
 | |
|           @nanos = args[:nanos] if args.key?(:nanos)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # Message defining the question specifications.
 | |
|       class SurveyQuestion
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The randomization option for multiple choice and multi-select questions. If
 | |
|         # not specified, this option defaults to randomize.
 | |
|         # Corresponds to the JSON property `answerOrder`
 | |
|         # @return [String]
 | |
|         attr_accessor :answer_order
 | |
|       
 | |
|         # Required list of answer options for a question.
 | |
|         # Corresponds to the JSON property `answers`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :answers
 | |
|       
 | |
|         # Option to allow open-ended text box for Single Answer and Multiple Answer
 | |
|         # question types. This can be used with SINGLE_ANSWER, SINGLE_ANSWER_WITH_IMAGE,
 | |
|         # MULTIPLE_ANSWERS, and MULTIPLE_ANSWERS_WITH_IMAGE question types.
 | |
|         # Corresponds to the JSON property `hasOther`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :has_other
 | |
|         alias_method :has_other?, :has_other
 | |
|       
 | |
|         # For rating questions, the text for the higher end of the scale, such as 'Best'.
 | |
|         # For numeric questions, a string representing a floating-point that is the
 | |
|         # maximum allowed number for a response.
 | |
|         # Corresponds to the JSON property `highValueLabel`
 | |
|         # @return [String]
 | |
|         attr_accessor :high_value_label
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `images`
 | |
|         # @return [Array<Google::Apis::SurveysV2::SurveyQuestionImage>]
 | |
|         attr_accessor :images
 | |
|       
 | |
|         # Currently only support pinning an answer option to the last position.
 | |
|         # Corresponds to the JSON property `lastAnswerPositionPinned`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :last_answer_position_pinned
 | |
|         alias_method :last_answer_position_pinned?, :last_answer_position_pinned
 | |
|       
 | |
|         # For rating questions, the text for the lower end of the scale, such as 'Worst'.
 | |
|         # For numeric questions, a string representing a floating-point that is the
 | |
|         # minimum allowed number for a response.
 | |
|         # Corresponds to the JSON property `lowValueLabel`
 | |
|         # @return [String]
 | |
|         attr_accessor :low_value_label
 | |
|       
 | |
|         # Option to force the user to pick one of the open text suggestions. This
 | |
|         # requires that suggestions are provided for this question.
 | |
|         # Corresponds to the JSON property `mustPickSuggestion`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :must_pick_suggestion
 | |
|         alias_method :must_pick_suggestion?, :must_pick_suggestion
 | |
|       
 | |
|         # Number of stars to use for ratings questions.
 | |
|         # Corresponds to the JSON property `numStars`
 | |
|         # @return [String]
 | |
|         attr_accessor :num_stars
 | |
|       
 | |
|         # Placeholder text for an open text question.
 | |
|         # Corresponds to the JSON property `openTextPlaceholder`
 | |
|         # @return [String]
 | |
|         attr_accessor :open_text_placeholder
 | |
|       
 | |
|         # A list of suggested answers for open text question auto-complete. This is only
 | |
|         # valid if single_line_response is true.
 | |
|         # Corresponds to the JSON property `openTextSuggestions`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :open_text_suggestions
 | |
|       
 | |
|         # Required question text shown to the respondent.
 | |
|         # Corresponds to the JSON property `question`
 | |
|         # @return [String]
 | |
|         attr_accessor :question
 | |
|       
 | |
|         # Used by the Rating Scale with Text question type. This text goes along with
 | |
|         # the question field that is presented to the respondent, and is the actual text
 | |
|         # that the respondent is asked to rate.
 | |
|         # Corresponds to the JSON property `sentimentText`
 | |
|         # @return [String]
 | |
|         attr_accessor :sentiment_text
 | |
|       
 | |
|         # Option to allow multiple line open text responses instead of a single line
 | |
|         # response. Note that we don't show auto-complete suggestions with multiple line
 | |
|         # responses.
 | |
|         # Corresponds to the JSON property `singleLineResponse`
 | |
|         # @return [Boolean]
 | |
|         attr_accessor :single_line_response
 | |
|         alias_method :single_line_response?, :single_line_response
 | |
|       
 | |
|         # The threshold/screener answer options, which will screen a user into the rest
 | |
|         # of the survey. These will be a subset of the answer option strings.
 | |
|         # Corresponds to the JSON property `thresholdAnswers`
 | |
|         # @return [Array<String>]
 | |
|         attr_accessor :threshold_answers
 | |
|       
 | |
|         # Required field defining the question type. For details about configuring
 | |
|         # different type of questions, consult the question configuration guide.
 | |
|         # Corresponds to the JSON property `type`
 | |
|         # @return [String]
 | |
|         attr_accessor :type
 | |
|       
 | |
|         # Optional unit of measurement for display (for example: hours, people, miles).
 | |
|         # Corresponds to the JSON property `unitOfMeasurementLabel`
 | |
|         # @return [String]
 | |
|         attr_accessor :unit_of_measurement_label
 | |
|       
 | |
|         # The YouTube video ID to be show in video questions.
 | |
|         # Corresponds to the JSON property `videoId`
 | |
|         # @return [String]
 | |
|         attr_accessor :video_id
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @answer_order = args[:answer_order] if args.key?(:answer_order)
 | |
|           @answers = args[:answers] if args.key?(:answers)
 | |
|           @has_other = args[:has_other] if args.key?(:has_other)
 | |
|           @high_value_label = args[:high_value_label] if args.key?(:high_value_label)
 | |
|           @images = args[:images] if args.key?(:images)
 | |
|           @last_answer_position_pinned = args[:last_answer_position_pinned] if args.key?(:last_answer_position_pinned)
 | |
|           @low_value_label = args[:low_value_label] if args.key?(:low_value_label)
 | |
|           @must_pick_suggestion = args[:must_pick_suggestion] if args.key?(:must_pick_suggestion)
 | |
|           @num_stars = args[:num_stars] if args.key?(:num_stars)
 | |
|           @open_text_placeholder = args[:open_text_placeholder] if args.key?(:open_text_placeholder)
 | |
|           @open_text_suggestions = args[:open_text_suggestions] if args.key?(:open_text_suggestions)
 | |
|           @question = args[:question] if args.key?(:question)
 | |
|           @sentiment_text = args[:sentiment_text] if args.key?(:sentiment_text)
 | |
|           @single_line_response = args[:single_line_response] if args.key?(:single_line_response)
 | |
|           @threshold_answers = args[:threshold_answers] if args.key?(:threshold_answers)
 | |
|           @type = args[:type] if args.key?(:type)
 | |
|           @unit_of_measurement_label = args[:unit_of_measurement_label] if args.key?(:unit_of_measurement_label)
 | |
|           @video_id = args[:video_id] if args.key?(:video_id)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # Container object for image data and alt_text.
 | |
|       class SurveyQuestionImage
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # The alt text property used in image tags is required for all images.
 | |
|         # Corresponds to the JSON property `altText`
 | |
|         # @return [String]
 | |
|         attr_accessor :alt_text
 | |
|       
 | |
|         # Inline jpeg, gif, tiff, bmp, or png image raw bytes for an image question
 | |
|         # types.
 | |
|         # Corresponds to the JSON property `data`
 | |
|         # NOTE: Values are automatically base64 encoded/decoded in the client library.
 | |
|         # @return [String]
 | |
|         attr_accessor :data
 | |
|       
 | |
|         # The read-only URL for the hosted images.
 | |
|         # Corresponds to the JSON property `url`
 | |
|         # @return [String]
 | |
|         attr_accessor :url
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @alt_text = args[:alt_text] if args.key?(:alt_text)
 | |
|           @data = args[:data] if args.key?(:data)
 | |
|           @url = args[:url] if args.key?(:url)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # Message representing why the survey was rejected from review, if it was.
 | |
|       class SurveyRejection
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # A human-readable explanation of what was wrong with the survey.
 | |
|         # Corresponds to the JSON property `explanation`
 | |
|         # @return [String]
 | |
|         attr_accessor :explanation
 | |
|       
 | |
|         # Which category of rejection this was. See the  Google Surveys Help Center for
 | |
|         # additional details on each category.
 | |
|         # Corresponds to the JSON property `type`
 | |
|         # @return [String]
 | |
|         attr_accessor :type
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @explanation = args[:explanation] if args.key?(:explanation)
 | |
|           @type = args[:type] if args.key?(:type)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # Reference to the current results for a given survey.
 | |
|       class SurveyResults
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Human readable string describing the status of the request.
 | |
|         # Corresponds to the JSON property `status`
 | |
|         # @return [String]
 | |
|         attr_accessor :status
 | |
|       
 | |
|         # External survey ID as viewable by survey owners in the editor view.
 | |
|         # Corresponds to the JSON property `surveyUrlId`
 | |
|         # @return [String]
 | |
|         attr_accessor :survey_url_id
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @status = args[:status] if args.key?(:status)
 | |
|           @survey_url_id = args[:survey_url_id] if args.key?(:survey_url_id)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class SurveysDeleteResponse
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Unique request ID used for logging and debugging. Please include in any error
 | |
|         # reporting or troubleshooting requests.
 | |
|         # Corresponds to the JSON property `requestId`
 | |
|         # @return [String]
 | |
|         attr_accessor :request_id
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @request_id = args[:request_id] if args.key?(:request_id)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class SurveysListResponse
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `pageInfo`
 | |
|         # @return [Google::Apis::SurveysV2::PageInfo]
 | |
|         attr_accessor :page_info
 | |
|       
 | |
|         # Unique request ID used for logging and debugging. Please include in any error
 | |
|         # reporting or troubleshooting requests.
 | |
|         # Corresponds to the JSON property `requestId`
 | |
|         # @return [String]
 | |
|         attr_accessor :request_id
 | |
|       
 | |
|         # An individual survey resource.
 | |
|         # Corresponds to the JSON property `resources`
 | |
|         # @return [Array<Google::Apis::SurveysV2::Survey>]
 | |
|         attr_accessor :resources
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `tokenPagination`
 | |
|         # @return [Google::Apis::SurveysV2::TokenPagination]
 | |
|         attr_accessor :token_pagination
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @page_info = args[:page_info] if args.key?(:page_info)
 | |
|           @request_id = args[:request_id] if args.key?(:request_id)
 | |
|           @resources = args[:resources] if args.key?(:resources)
 | |
|           @token_pagination = args[:token_pagination] if args.key?(:token_pagination)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class SurveysStartRequest
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Threshold to start a survey automically if the quoted prices is less than or
 | |
|         # equal to this value. See Survey.Cost for more details.
 | |
|         # Corresponds to the JSON property `maxCostPerResponseNanos`
 | |
|         # @return [Fixnum]
 | |
|         attr_accessor :max_cost_per_response_nanos
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @max_cost_per_response_nanos = args[:max_cost_per_response_nanos] if args.key?(:max_cost_per_response_nanos)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class SurveysStartResponse
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Unique request ID used for logging and debugging. Please include in any error
 | |
|         # reporting or troubleshooting requests.
 | |
|         # Corresponds to the JSON property `requestId`
 | |
|         # @return [String]
 | |
|         attr_accessor :request_id
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @request_id = args[:request_id] if args.key?(:request_id)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class SurveysStopResponse
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # Unique request ID used for logging and debugging. Please include in any error
 | |
|         # reporting or troubleshooting requests.
 | |
|         # Corresponds to the JSON property `requestId`
 | |
|         # @return [String]
 | |
|         attr_accessor :request_id
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @request_id = args[:request_id] if args.key?(:request_id)
 | |
|         end
 | |
|       end
 | |
|       
 | |
|       # 
 | |
|       class TokenPagination
 | |
|         include Google::Apis::Core::Hashable
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `nextPageToken`
 | |
|         # @return [String]
 | |
|         attr_accessor :next_page_token
 | |
|       
 | |
|         # 
 | |
|         # Corresponds to the JSON property `previousPageToken`
 | |
|         # @return [String]
 | |
|         attr_accessor :previous_page_token
 | |
|       
 | |
|         def initialize(**args)
 | |
|            update!(**args)
 | |
|         end
 | |
|       
 | |
|         # Update properties of this object
 | |
|         def update!(**args)
 | |
|           @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
 | |
|           @previous_page_token = args[:previous_page_token] if args.key?(:previous_page_token)
 | |
|         end
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 |