google-api-ruby-client/generated/google/apis/youtube_analytics_v2/classes.rb

506 lines
19 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 YoutubeAnalyticsV2
# Empty response.
class EmptyResponse
include Google::Apis::Core::Hashable
# Request Error information. The presence of an error field signals that the
# operation has failed.
# Corresponds to the JSON property `errors`
# @return [Google::Apis::YoutubeAnalyticsV2::Errors]
attr_accessor :errors
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@errors = args[:errors] if args.key?(:errors)
end
end
# Describes one specific error.
class ErrorProto
include Google::Apis::Core::Hashable
# Error arguments, to be used when building user-friendly error messages given
# the error domain and code. Different error codes require different arguments.
# Corresponds to the JSON property `argument`
# @return [Array<String>]
attr_accessor :argument
# Error code in the error domain. This should correspond to a value of the enum
# type whose name is in domain. See the core error domain in error_domain.proto.
# Corresponds to the JSON property `code`
# @return [String]
attr_accessor :code
# Debugging information, which should not be shared externally.
# Corresponds to the JSON property `debugInfo`
# @return [String]
attr_accessor :debug_info
# Error domain. RoSy services can define their own domain and error codes. This
# should normally be the name of an enum type, such as: gdata.CoreErrorDomain
# Corresponds to the JSON property `domain`
# @return [String]
attr_accessor :domain
# A short explanation for the error, which can be shared outside Google. Please
# set domain, code and arguments whenever possible instead of this error message
# so that external APIs can build safe error messages themselves. External
# messages built in a RoSy interface will most likely refer to information and
# concepts that are not available externally and should not be exposed. It is
# safer if external APIs can understand the errors and decide what the error
# message should look like.
# Corresponds to the JSON property `externalErrorMessage`
# @return [String]
attr_accessor :external_error_message
# Location of the error, as specified by the location type. If location_type is
# PATH, this should be a path to a field that's relative to the request, using
# FieldPath notation (net/proto2/util/public/field_path.h). Examples:
# authenticated_user.gaia_id resource.address[2].country
# Corresponds to the JSON property `location`
# @return [String]
attr_accessor :location
#
# Corresponds to the JSON property `locationType`
# @return [String]
attr_accessor :location_type
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@argument = args[:argument] if args.key?(:argument)
@code = args[:code] if args.key?(:code)
@debug_info = args[:debug_info] if args.key?(:debug_info)
@domain = args[:domain] if args.key?(:domain)
@external_error_message = args[:external_error_message] if args.key?(:external_error_message)
@location = args[:location] if args.key?(:location)
@location_type = args[:location_type] if args.key?(:location_type)
end
end
# Request Error information. The presence of an error field signals that the
# operation has failed.
class Errors
include Google::Apis::Core::Hashable
# Global error code. Deprecated and ignored. Set custom error codes in
# ErrorProto.domain and ErrorProto.code instead.
# Corresponds to the JSON property `code`
# @return [String]
attr_accessor :code
# Specific error description and codes
# Corresponds to the JSON property `error`
# @return [Array<Google::Apis::YoutubeAnalyticsV2::ErrorProto>]
attr_accessor :error
# Request identifier generated by the service, which can be used to identify the
# error in the logs
# 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)
@code = args[:code] if args.key?(:code)
@error = args[:error] if args.key?(:error)
@request_id = args[:request_id] if args.key?(:request_id)
end
end
# A group.
class Group
include Google::Apis::Core::Hashable
# A group's content details.
# Corresponds to the JSON property `contentDetails`
# @return [Google::Apis::YoutubeAnalyticsV2::GroupContentDetails]
attr_accessor :content_details
# Request Error information. The presence of an error field signals that the
# operation has failed.
# Corresponds to the JSON property `errors`
# @return [Google::Apis::YoutubeAnalyticsV2::Errors]
attr_accessor :errors
# The Etag of this resource.
# Corresponds to the JSON property `etag`
# @return [String]
attr_accessor :etag
# The ID that YouTube uses to uniquely identify the group.
# Corresponds to the JSON property `id`
# @return [String]
attr_accessor :id
# Identifies the API resource's type. The value will be `youtube#group`.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# A group snippet.
# Corresponds to the JSON property `snippet`
# @return [Google::Apis::YoutubeAnalyticsV2::GroupSnippet]
attr_accessor :snippet
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@content_details = args[:content_details] if args.key?(:content_details)
@errors = args[:errors] if args.key?(:errors)
@etag = args[:etag] if args.key?(:etag)
@id = args[:id] if args.key?(:id)
@kind = args[:kind] if args.key?(:kind)
@snippet = args[:snippet] if args.key?(:snippet)
end
end
# A group's content details.
class GroupContentDetails
include Google::Apis::Core::Hashable
# The number of items in the group.
# Corresponds to the JSON property `itemCount`
# @return [Fixnum]
attr_accessor :item_count
# The type of resources that the group contains. Valid values for this property
# are: * `youtube#channel` * `youtube#playlist` * `youtube#video` * `
# youtubePartner#asset`
# Corresponds to the JSON property `itemType`
# @return [String]
attr_accessor :item_type
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@item_count = args[:item_count] if args.key?(:item_count)
@item_type = args[:item_type] if args.key?(:item_type)
end
end
# A group item.
class GroupItem
include Google::Apis::Core::Hashable
# Request Error information. The presence of an error field signals that the
# operation has failed.
# Corresponds to the JSON property `errors`
# @return [Google::Apis::YoutubeAnalyticsV2::Errors]
attr_accessor :errors
# The Etag of this resource.
# Corresponds to the JSON property `etag`
# @return [String]
attr_accessor :etag
# The ID that YouTube uses to uniquely identify the group that contains the item.
# Corresponds to the JSON property `groupId`
# @return [String]
attr_accessor :group_id
# The ID that YouTube uses to uniquely identify the `channel`, `video`, `
# playlist`, or `asset` resource that is included in the group. Note that this
# ID refers specifically to the inclusion of that resource in a particular group
# and is different than the channel ID, video ID, playlist ID, or asset ID that
# uniquely identifies the resource itself. The `resource.id` property's value
# specifies the unique channel, video, playlist, or asset ID.
# Corresponds to the JSON property `id`
# @return [String]
attr_accessor :id
# Identifies the API resource's type. The value will be `youtube#groupItem`.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# The `resource` object contains information that identifies the item being
# added to the group.
# Corresponds to the JSON property `resource`
# @return [Google::Apis::YoutubeAnalyticsV2::GroupItemResource]
attr_accessor :resource
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@errors = args[:errors] if args.key?(:errors)
@etag = args[:etag] if args.key?(:etag)
@group_id = args[:group_id] if args.key?(:group_id)
@id = args[:id] if args.key?(:id)
@kind = args[:kind] if args.key?(:kind)
@resource = args[:resource] if args.key?(:resource)
end
end
#
class GroupItemResource
include Google::Apis::Core::Hashable
# The channel, video, playlist, or asset ID that YouTube uses to uniquely
# identify the item that is being added to the group.
# Corresponds to the JSON property `id`
# @return [String]
attr_accessor :id
# Identifies the type of resource being added to the group. Valid values for
# this property are: * `youtube#channel` * `youtube#playlist` * `youtube#video` *
# `youtubePartner#asset`
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@id = args[:id] if args.key?(:id)
@kind = args[:kind] if args.key?(:kind)
end
end
# A group snippet.
class GroupSnippet
include Google::Apis::Core::Hashable
# The date and time that the group was created. The value is specified in ISO
# 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
# Corresponds to the JSON property `publishedAt`
# @return [String]
attr_accessor :published_at
# The group name. The value must be a non-empty string.
# Corresponds to the JSON property `title`
# @return [String]
attr_accessor :title
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@published_at = args[:published_at] if args.key?(:published_at)
@title = args[:title] if args.key?(:title)
end
end
# Response message for GroupsService.ListGroupItems.
class ListGroupItemsResponse
include Google::Apis::Core::Hashable
# Request Error information. The presence of an error field signals that the
# operation has failed.
# Corresponds to the JSON property `errors`
# @return [Google::Apis::YoutubeAnalyticsV2::Errors]
attr_accessor :errors
# The Etag of this resource.
# Corresponds to the JSON property `etag`
# @return [String]
attr_accessor :etag
# A list of groups that match the API request parameters. Each item in the list
# represents a `groupItem` resource.
# Corresponds to the JSON property `items`
# @return [Array<Google::Apis::YoutubeAnalyticsV2::GroupItem>]
attr_accessor :items
# Identifies the API resource's type. The value will be `youtube#
# groupItemListResponse`.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@errors = args[:errors] if args.key?(:errors)
@etag = args[:etag] if args.key?(:etag)
@items = args[:items] if args.key?(:items)
@kind = args[:kind] if args.key?(:kind)
end
end
# Response message for GroupsService.ListGroups.
class ListGroupsResponse
include Google::Apis::Core::Hashable
# Request Error information. The presence of an error field signals that the
# operation has failed.
# Corresponds to the JSON property `errors`
# @return [Google::Apis::YoutubeAnalyticsV2::Errors]
attr_accessor :errors
# The Etag of this resource.
# Corresponds to the JSON property `etag`
# @return [String]
attr_accessor :etag
# A list of groups that match the API request parameters. Each item in the list
# represents a `group` resource.
# Corresponds to the JSON property `items`
# @return [Array<Google::Apis::YoutubeAnalyticsV2::Group>]
attr_accessor :items
# Identifies the API resource's type. The value will be `youtube#
# groupListResponse`.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# The token that can be used as the value of the `pageToken` parameter to
# retrieve the next page in the result set.
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@errors = args[:errors] if args.key?(:errors)
@etag = args[:etag] if args.key?(:etag)
@items = args[:items] if args.key?(:items)
@kind = args[:kind] if args.key?(:kind)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
end
end
# Response message for TargetedQueriesService.Query.
class QueryResponse
include Google::Apis::Core::Hashable
# This value specifies information about the data returned in the `rows` fields.
# Each item in the `columnHeaders` list identifies a field returned in the `rows`
# value, which contains a list of comma-delimited data. The `columnHeaders`
# list will begin with the dimensions specified in the API request, which will
# be followed by the metrics specified in the API request. The order of both
# dimensions and metrics will match the ordering in the API request. For example,
# if the API request contains the parameters `dimensions=ageGroup,gender&
# metrics=viewerPercentage`, the API response will return columns in this order:
# `ageGroup`, `gender`, `viewerPercentage`.
# Corresponds to the JSON property `columnHeaders`
# @return [Array<Google::Apis::YoutubeAnalyticsV2::ResultTableColumnHeader>]
attr_accessor :column_headers
# Request Error information. The presence of an error field signals that the
# operation has failed.
# Corresponds to the JSON property `errors`
# @return [Google::Apis::YoutubeAnalyticsV2::Errors]
attr_accessor :errors
# This value specifies the type of data included in the API response. For the
# query method, the kind property value will be `youtubeAnalytics#resultTable`.
# Corresponds to the JSON property `kind`
# @return [String]
attr_accessor :kind
# The list contains all rows of the result table. Each item in the list is an
# array that contains comma-delimited data corresponding to a single row of data.
# The order of the comma-delimited data fields will match the order of the
# columns listed in the `columnHeaders` field. If no data is available for the
# given query, the `rows` element will be omitted from the response. The
# response for a query with the `day` dimension will not contain rows for the
# most recent days.
# Corresponds to the JSON property `rows`
# @return [Array<Array<Object>>]
attr_accessor :rows
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@column_headers = args[:column_headers] if args.key?(:column_headers)
@errors = args[:errors] if args.key?(:errors)
@kind = args[:kind] if args.key?(:kind)
@rows = args[:rows] if args.key?(:rows)
end
end
# The description of a column of the result table.
class ResultTableColumnHeader
include Google::Apis::Core::Hashable
# The type of the column (`DIMENSION` or `METRIC`).
# Corresponds to the JSON property `columnType`
# @return [String]
attr_accessor :column_type
# The type of the data in the column (`STRING`, `INTEGER`, `FLOAT`, etc.).
# Corresponds to the JSON property `dataType`
# @return [String]
attr_accessor :data_type
# The name of the dimension or metric.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@column_type = args[:column_type] if args.key?(:column_type)
@data_type = args[:data_type] if args.key?(:data_type)
@name = args[:name] if args.key?(:name)
end
end
end
end
end