2017-03-30 22:30:51 +00:00
|
|
|
# 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`
|
2017-03-31 19:53:27 +00:00
|
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
2017-03-30 22:30:51 +00:00
|
|
|
# @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 [String]
|
|
|
|
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 [String]
|
|
|
|
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 [String]
|
|
|
|
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`
|
2017-03-31 19:53:27 +00:00
|
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
2017-03-30 22:30:51 +00:00
|
|
|
# @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 [String]
|
|
|
|
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
|
|
|
|
|
|
|
|
# Representation of an individual survey object.
|
|
|
|
# Corresponds to the JSON property `resource`
|
|
|
|
# @return [Google::Apis::SurveysV2::Survey]
|
|
|
|
attr_accessor :resource
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@request_id = args[:request_id] if args.key?(:request_id)
|
|
|
|
@resource = args[:resource] if args.key?(:resource)
|
|
|
|
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
|
|
|
|
|
|
|
|
# Representation of an individual survey object.
|
|
|
|
# Corresponds to the JSON property `resource`
|
|
|
|
# @return [Google::Apis::SurveysV2::Survey]
|
|
|
|
attr_accessor :resource
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@request_id = args[:request_id] if args.key?(:request_id)
|
|
|
|
@resource = args[:resource] if args.key?(:resource)
|
|
|
|
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
|