Class: Google::Apis::YoutubeAnalyticsV2::YouTubeAnalyticsService

Inherits:
Core::BaseService
  • Object
show all
Defined in:
generated/google/apis/youtube_analytics_v2/service.rb

Overview

YouTube Analytics API

Retrieves your YouTube Analytics data.

Examples:

require 'google/apis/youtube_analytics_v2'

YoutubeAnalytics = Google::Apis::YoutubeAnalyticsV2 # Alias the module
service = YoutubeAnalytics::YouTubeAnalyticsService.new

See Also:

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeYouTubeAnalyticsService

Returns a new instance of YouTubeAnalyticsService.



45
46
47
48
# File 'generated/google/apis/youtube_analytics_v2/service.rb', line 45

def initialize
  super('https://youtubeanalytics.googleapis.com/', '')
  @batch_path = 'batch'
end

Instance Attribute Details

#keyString

Returns API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.

Returns:

  • (String)

    API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.



38
39
40
# File 'generated/google/apis/youtube_analytics_v2/service.rb', line 38

def key
  @key
end

#quota_userString

Returns Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.

Returns:

  • (String)

    Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.



43
44
45
# File 'generated/google/apis/youtube_analytics_v2/service.rb', line 43

def quota_user
  @quota_user
end

Instance Method Details

#delete_group(id: nil, on_behalf_of_content_owner: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::YoutubeAnalyticsV2::EmptyResponse

Deletes a group.

Parameters:

  • id (String) (defaults to: nil)

    The id parameter specifies the YouTube group ID of the group that is being deleted.

  • on_behalf_of_content_owner (String) (defaults to: nil)

    This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners that own and manage many different YouTube channels. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube user who is acting on behalf of the content owner specified in the parameter value. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The account that the user authenticates with must be linked to the specified YouTube content owner.

  • fields (String) (defaults to: nil)

    Selector specifying which fields to include in a partial response.

  • quota_user (String) (defaults to: nil)

    Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.

  • options (Google::Apis::RequestOptions) (defaults to: nil)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:

  • (Google::Apis::ServerError)

    An error occurred on the server and the request can be retried

  • (Google::Apis::ClientError)

    The request is invalid and should not be retried without modification

  • (Google::Apis::AuthorizationError)

    Authorization is required



206
207
208
209
210
211
212
213
214
215
# File 'generated/google/apis/youtube_analytics_v2/service.rb', line 206

def delete_group(id: nil, on_behalf_of_content_owner: nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:delete, 'v2/groups', options)
  command.response_representation = Google::Apis::YoutubeAnalyticsV2::EmptyResponse::Representation
  command.response_class = Google::Apis::YoutubeAnalyticsV2::EmptyResponse
  command.query['id'] = id unless id.nil?
  command.query['onBehalfOfContentOwner'] = on_behalf_of_content_owner unless on_behalf_of_content_owner.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end

#delete_group_item(id: nil, on_behalf_of_content_owner: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::YoutubeAnalyticsV2::EmptyResponse

Removes an item from a group.

Parameters:

  • id (String) (defaults to: nil)

    The id parameter specifies the YouTube group item ID of the group item that is being deleted.

  • on_behalf_of_content_owner (String) (defaults to: nil)

    This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners that own and manage many different YouTube channels. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube user who is acting on behalf of the content owner specified in the parameter value. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The account that the user authenticates with must be linked to the specified YouTube content owner.

  • fields (String) (defaults to: nil)

    Selector specifying which fields to include in a partial response.

  • quota_user (String) (defaults to: nil)

    Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.

  • options (Google::Apis::RequestOptions) (defaults to: nil)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:

  • (Google::Apis::ServerError)

    An error occurred on the server and the request can be retried

  • (Google::Apis::ClientError)

    The request is invalid and should not be retried without modification

  • (Google::Apis::AuthorizationError)

    Authorization is required



81
82
83
84
85
86
87
88
89
90
# File 'generated/google/apis/youtube_analytics_v2/service.rb', line 81

def delete_group_item(id: nil, on_behalf_of_content_owner: nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:delete, 'v2/groupItems', options)
  command.response_representation = Google::Apis::YoutubeAnalyticsV2::EmptyResponse::Representation
  command.response_class = Google::Apis::YoutubeAnalyticsV2::EmptyResponse
  command.query['id'] = id unless id.nil?
  command.query['onBehalfOfContentOwner'] = on_behalf_of_content_owner unless on_behalf_of_content_owner.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end

#insert_group(group_object = nil, on_behalf_of_content_owner: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::YoutubeAnalyticsV2::Group

Creates a group.

Parameters:

  • group_object (Google::Apis::YoutubeAnalyticsV2::Group) (defaults to: nil)
  • on_behalf_of_content_owner (String) (defaults to: nil)

    This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners that own and manage many different YouTube channels. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube user who is acting on behalf of the content owner specified in the parameter value. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The account that the user authenticates with must be linked to the specified YouTube content owner.

  • fields (String) (defaults to: nil)

    Selector specifying which fields to include in a partial response.

  • quota_user (String) (defaults to: nil)

    Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.

  • options (Google::Apis::RequestOptions) (defaults to: nil)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:

  • (Google::Apis::ServerError)

    An error occurred on the server and the request can be retried

  • (Google::Apis::ClientError)

    The request is invalid and should not be retried without modification

  • (Google::Apis::AuthorizationError)

    Authorization is required



246
247
248
249
250
251
252
253
254
255
256
# File 'generated/google/apis/youtube_analytics_v2/service.rb', line 246

def insert_group(group_object = nil, on_behalf_of_content_owner: nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:post, 'v2/groups', options)
  command.request_representation = Google::Apis::YoutubeAnalyticsV2::Group::Representation
  command.request_object = group_object
  command.response_representation = Google::Apis::YoutubeAnalyticsV2::Group::Representation
  command.response_class = Google::Apis::YoutubeAnalyticsV2::Group
  command.query['onBehalfOfContentOwner'] = on_behalf_of_content_owner unless on_behalf_of_content_owner.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end

#insert_group_item(group_item_object = nil, on_behalf_of_content_owner: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::YoutubeAnalyticsV2::GroupItem

Creates a group item.

Parameters:

  • group_item_object (Google::Apis::YoutubeAnalyticsV2::GroupItem) (defaults to: nil)
  • on_behalf_of_content_owner (String) (defaults to: nil)

    This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners that own and manage many different YouTube channels. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube user who is acting on behalf of the content owner specified in the parameter value. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The account that the user authenticates with must be linked to the specified YouTube content owner.

  • fields (String) (defaults to: nil)

    Selector specifying which fields to include in a partial response.

  • quota_user (String) (defaults to: nil)

    Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.

  • options (Google::Apis::RequestOptions) (defaults to: nil)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:

  • (Google::Apis::ServerError)

    An error occurred on the server and the request can be retried

  • (Google::Apis::ClientError)

    The request is invalid and should not be retried without modification

  • (Google::Apis::AuthorizationError)

    Authorization is required



121
122
123
124
125
126
127
128
129
130
131
# File 'generated/google/apis/youtube_analytics_v2/service.rb', line 121

def insert_group_item(group_item_object = nil, on_behalf_of_content_owner: nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:post, 'v2/groupItems', options)
  command.request_representation = Google::Apis::YoutubeAnalyticsV2::GroupItem::Representation
  command.request_object = group_item_object
  command.response_representation = Google::Apis::YoutubeAnalyticsV2::GroupItem::Representation
  command.response_class = Google::Apis::YoutubeAnalyticsV2::GroupItem
  command.query['onBehalfOfContentOwner'] = on_behalf_of_content_owner unless on_behalf_of_content_owner.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end

#list_group_items(group_id: nil, on_behalf_of_content_owner: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::YoutubeAnalyticsV2::ListGroupItemsResponse

Returns a collection of group items that match the API request parameters.

Parameters:

  • group_id (String) (defaults to: nil)

    The groupId parameter specifies the unique ID of the group for which you want to retrieve group items.

  • on_behalf_of_content_owner (String) (defaults to: nil)

    This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners that own and manage many different YouTube channels. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube user who is acting on behalf of the content owner specified in the parameter value. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The account that the user authenticates with must be linked to the specified YouTube content owner.

  • fields (String) (defaults to: nil)

    Selector specifying which fields to include in a partial response.

  • quota_user (String) (defaults to: nil)

    Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.

  • options (Google::Apis::RequestOptions) (defaults to: nil)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:

  • (Google::Apis::ServerError)

    An error occurred on the server and the request can be retried

  • (Google::Apis::ClientError)

    The request is invalid and should not be retried without modification

  • (Google::Apis::AuthorizationError)

    Authorization is required



164
165
166
167
168
169
170
171
172
173
# File 'generated/google/apis/youtube_analytics_v2/service.rb', line 164

def list_group_items(group_id: nil, on_behalf_of_content_owner: nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:get, 'v2/groupItems', options)
  command.response_representation = Google::Apis::YoutubeAnalyticsV2::ListGroupItemsResponse::Representation
  command.response_class = Google::Apis::YoutubeAnalyticsV2::ListGroupItemsResponse
  command.query['groupId'] = group_id unless group_id.nil?
  command.query['onBehalfOfContentOwner'] = on_behalf_of_content_owner unless on_behalf_of_content_owner.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end

#list_groups(id: nil, mine: nil, on_behalf_of_content_owner: nil, page_token: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::YoutubeAnalyticsV2::ListGroupsResponse

Returns a collection of groups that match the API request parameters. For example, you can retrieve all groups that the authenticated user owns, or you can retrieve one or more groups by their unique IDs.

Parameters:

  • id (String) (defaults to: nil)

    The id parameter specifies a comma-separated list of the YouTube group ID(s) for the resource(s) that are being retrieved. Each group must be owned by the authenticated user. In a group resource, the id property specifies the group's YouTube group ID. Note that if you do not specify a value for the id parameter, then you must set the mine parameter to true.

  • mine (Boolean) (defaults to: nil)

    This parameter can only be used in a properly authorized request. Set this parameter's value to true to retrieve all groups owned by the authenticated user.

  • on_behalf_of_content_owner (String) (defaults to: nil)

    This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners that own and manage many different YouTube channels. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube user who is acting on behalf of the content owner specified in the parameter value. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The account that the user authenticates with must be linked to the specified YouTube content owner.

  • page_token (String) (defaults to: nil)

    The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken property identifies the next page that can be retrieved.

  • fields (String) (defaults to: nil)

    Selector specifying which fields to include in a partial response.

  • quota_user (String) (defaults to: nil)

    Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.

  • options (Google::Apis::RequestOptions) (defaults to: nil)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:

  • (Google::Apis::ServerError)

    An error occurred on the server and the request can be retried

  • (Google::Apis::ClientError)

    The request is invalid and should not be retried without modification

  • (Google::Apis::AuthorizationError)

    Authorization is required



302
303
304
305
306
307
308
309
310
311
312
313
# File 'generated/google/apis/youtube_analytics_v2/service.rb', line 302

def list_groups(id: nil, mine: nil, on_behalf_of_content_owner: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:get, 'v2/groups', options)
  command.response_representation = Google::Apis::YoutubeAnalyticsV2::ListGroupsResponse::Representation
  command.response_class = Google::Apis::YoutubeAnalyticsV2::ListGroupsResponse
  command.query['id'] = id unless id.nil?
  command.query['mine'] = mine unless mine.nil?
  command.query['onBehalfOfContentOwner'] = on_behalf_of_content_owner unless on_behalf_of_content_owner.nil?
  command.query['pageToken'] = page_token unless page_token.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end

#query_report(currency: nil, dimensions: nil, end_date: nil, filters: nil, ids: nil, include_historical_channel_data: nil, max_results: nil, metrics: nil, sort: nil, start_date: nil, start_index: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::YoutubeAnalyticsV2::QueryResponse

Retrieve your YouTube Analytics reports.

Parameters:

  • currency (String) (defaults to: nil)

    The currency to which financial metrics should be converted. The default is US Dollar (USD). If the result contains no financial metrics, this flag will be ignored. Responds with an error if the specified currency is not recognized.", pattern: [A-Z]3

  • dimensions (String) (defaults to: nil)

    A comma-separated list of YouTube Analytics dimensions, such as views or ageGroup,gender. See the Available Reports document for a list of the reports that you can retrieve and the dimensions used for those reports. Also see the Dimensions document for definitions of those dimensions." pattern: [0-9a-zA-Z,]+

  • end_date (String) (defaults to: nil)

    The end date for fetching YouTube Analytics data. The value should be in YYYY- MM-DD format. required: true, pattern: [0-9]4-[0-9]2-[0-9]2

  • filters (String) (defaults to: nil)

    A list of filters that should be applied when retrieving YouTube Analytics data. The Available Reports document identifies the dimensions that can be used to filter each report, and the Dimensions document defines those dimensions. If a request uses multiple filters, join them together with a semicolon (;), and the returned result table will satisfy both filters. For example, a filters parameter value of video==dMH0bHeiRNg;country==IT restricts the result set to include data for the given video in Italy.",

  • ids (String) (defaults to: nil)

    Identifies the YouTube channel or content owner for which you are retrieving YouTube Analytics data. - To request data for a YouTube user, set the ids parameter value to channel==CHANNEL_ID, where CHANNEL_ID specifies the unique YouTube channel ID. - To request data for a YouTube CMS content owner, set the ids parameter value to contentOwner==OWNER_NAME, where OWNER_NAME is the CMS name of the content owner. required: true, pattern: [a-zA-Z]+==[a- zA-Z0-9_+-]+

  • include_historical_channel_data (Boolean) (defaults to: nil)

    If set to true historical data (i.e. channel data from before the linking of the channel to the content owner) will be retrieved.",

  • max_results (Fixnum) (defaults to: nil)

    The maximum number of rows to include in the response.", minValue: 1

  • metrics (String) (defaults to: nil)

    A comma-separated list of YouTube Analytics metrics, such as views or likes, dislikes. See the Available Reports document for a list of the reports that you can retrieve and the metrics available in each report, and see the Metrics document for definitions of those metrics. required: true, pattern: [0- 9a-zA-Z,]+

  • sort (String) (defaults to: nil)

    A comma-separated list of dimensions or metrics that determine the sort order for YouTube Analytics data. By default the sort order is ascending. The '-' prefix causes descending sort order.", pattern: [-0-9a-zA-Z,]+

  • start_date (String) (defaults to: nil)

    The start date for fetching YouTube Analytics data. The value should be in YYYY-MM-DD format. required: true, pattern: "[0-9]4-[0-9]2-[0-9]2

  • start_index (Fixnum) (defaults to: nil)

    An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter (one-based, inclusive).", minValue: 1

  • fields (String) (defaults to: nil)

    Selector specifying which fields to include in a partial response.

  • quota_user (String) (defaults to: nil)

    Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.

  • options (Google::Apis::RequestOptions) (defaults to: nil)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:

  • (Google::Apis::ServerError)

    An error occurred on the server and the request can be retried

  • (Google::Apis::ClientError)

    The request is invalid and should not be retried without modification

  • (Google::Apis::AuthorizationError)

    Authorization is required



429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
# File 'generated/google/apis/youtube_analytics_v2/service.rb', line 429

def query_report(currency: nil, dimensions: nil, end_date: nil, filters: nil, ids: nil, include_historical_channel_data: nil, max_results: nil, metrics: nil, sort: nil, start_date: nil, start_index: nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:get, 'v2/reports', options)
  command.response_representation = Google::Apis::YoutubeAnalyticsV2::QueryResponse::Representation
  command.response_class = Google::Apis::YoutubeAnalyticsV2::QueryResponse
  command.query['currency'] = currency unless currency.nil?
  command.query['dimensions'] = dimensions unless dimensions.nil?
  command.query['endDate'] = end_date unless end_date.nil?
  command.query['filters'] = filters unless filters.nil?
  command.query['ids'] = ids unless ids.nil?
  command.query['includeHistoricalChannelData'] = include_historical_channel_data unless include_historical_channel_data.nil?
  command.query['maxResults'] = max_results unless max_results.nil?
  command.query['metrics'] = metrics unless metrics.nil?
  command.query['sort'] = sort unless sort.nil?
  command.query['startDate'] = start_date unless start_date.nil?
  command.query['startIndex'] = start_index unless start_index.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end

#update_group(group_object = nil, on_behalf_of_content_owner: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::YoutubeAnalyticsV2::Group

Modifies a group. For example, you could change a group's title.

Parameters:

  • group_object (Google::Apis::YoutubeAnalyticsV2::Group) (defaults to: nil)
  • on_behalf_of_content_owner (String) (defaults to: nil)

    This parameter can only be used in a properly authorized request. Note: This parameter is intended exclusively for YouTube content partners that own and manage many different YouTube channels. The onBehalfOfContentOwner parameter indicates that the request's authorization credentials identify a YouTube user who is acting on behalf of the content owner specified in the parameter value. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The account that the user authenticates with must be linked to the specified YouTube content owner.

  • fields (String) (defaults to: nil)

    Selector specifying which fields to include in a partial response.

  • quota_user (String) (defaults to: nil)

    Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.

  • options (Google::Apis::RequestOptions) (defaults to: nil)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:

  • (Google::Apis::ServerError)

    An error occurred on the server and the request can be retried

  • (Google::Apis::ClientError)

    The request is invalid and should not be retried without modification

  • (Google::Apis::AuthorizationError)

    Authorization is required



344
345
346
347
348
349
350
351
352
353
354
# File 'generated/google/apis/youtube_analytics_v2/service.rb', line 344

def update_group(group_object = nil, on_behalf_of_content_owner: nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:put, 'v2/groups', options)
  command.request_representation = Google::Apis::YoutubeAnalyticsV2::Group::Representation
  command.request_object = group_object
  command.response_representation = Google::Apis::YoutubeAnalyticsV2::Group::Representation
  command.response_class = Google::Apis::YoutubeAnalyticsV2::Group
  command.query['onBehalfOfContentOwner'] = on_behalf_of_content_owner unless on_behalf_of_content_owner.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end