google-api-client 0.9.6 → 0.9.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/api_names.yaml +15 -0
- data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
- data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +75 -12
- data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +25 -5
- data/generated/google/apis/adexchangebuyer_v1_4/service.rb +6 -2
- data/generated/google/apis/adexchangeseller_v2_0.rb +1 -1
- data/generated/google/apis/admin_directory_v1/classes.rb +1 -1
- data/generated/google/apis/admin_directory_v1/representations.rb +1 -2
- data/generated/google/apis/adsense_v1_4.rb +1 -1
- data/generated/google/apis/adsensehost_v4_1.rb +1 -1
- data/generated/google/apis/analytics_v3.rb +1 -1
- data/generated/google/apis/analyticsreporting_v4.rb +37 -0
- data/generated/google/apis/analyticsreporting_v4/classes.rb +1385 -0
- data/generated/google/apis/analyticsreporting_v4/representations.rb +597 -0
- data/generated/google/apis/analyticsreporting_v4/service.rb +88 -0
- data/generated/google/apis/androidenterprise_v1.rb +1 -1
- data/generated/google/apis/androidenterprise_v1/classes.rb +98 -2
- data/generated/google/apis/androidenterprise_v1/representations.rb +48 -0
- data/generated/google/apis/androidenterprise_v1/service.rb +63 -1
- data/generated/google/apis/androidpublisher_v2.rb +1 -1
- data/generated/google/apis/androidpublisher_v2/classes.rb +268 -0
- data/generated/google/apis/androidpublisher_v2/representations.rb +142 -0
- data/generated/google/apis/androidpublisher_v2/service.rb +121 -0
- data/generated/google/apis/appstate_v1.rb +1 -1
- data/generated/google/apis/autoscaler_v1beta2.rb +1 -1
- data/generated/google/apis/autoscaler_v1beta2/classes.rb +10 -47
- data/generated/google/apis/autoscaler_v1beta2/representations.rb +1 -18
- data/generated/google/apis/autoscaler_v1beta2/service.rb +4 -4
- data/generated/google/apis/bigquery_v2.rb +1 -1
- data/generated/google/apis/bigquery_v2/classes.rb +97 -61
- data/generated/google/apis/bigquery_v2/representations.rb +23 -18
- data/generated/google/apis/calendar_v3.rb +1 -1
- data/generated/google/apis/classroom_v1.rb +23 -2
- data/generated/google/apis/classroom_v1/classes.rb +920 -6
- data/generated/google/apis/classroom_v1/representations.rb +419 -0
- data/generated/google/apis/classroom_v1/service.rb +507 -1
- data/generated/google/apis/cloudbuild_v1.rb +1 -1
- data/generated/google/apis/cloudbuild_v1/classes.rb +30 -23
- data/generated/google/apis/cloudbuild_v1/representations.rb +4 -3
- data/generated/google/apis/cloudbuild_v1/service.rb +25 -25
- data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +55 -0
- data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +40 -0
- data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +35 -0
- data/generated/google/apis/cloudtrace_v1.rb +11 -3
- data/generated/google/apis/cloudtrace_v1/classes.rb +5 -5
- data/generated/google/apis/cloudtrace_v1/service.rb +8 -6
- data/generated/google/apis/compute_beta.rb +2 -2
- data/generated/google/apis/compute_beta/classes.rb +162 -32
- data/generated/google/apis/compute_beta/representations.rb +58 -0
- data/generated/google/apis/compute_beta/service.rb +392 -267
- data/generated/google/apis/compute_v1.rb +2 -2
- data/generated/google/apis/compute_v1/classes.rb +21 -9
- data/generated/google/apis/compute_v1/representations.rb +1 -0
- data/generated/google/apis/compute_v1/service.rb +291 -253
- data/generated/google/apis/container_v1.rb +1 -1
- data/generated/google/apis/container_v1/classes.rb +148 -0
- data/generated/google/apis/container_v1/representations.rb +55 -0
- data/generated/google/apis/container_v1/service.rb +161 -0
- data/generated/google/apis/content_v2.rb +1 -1
- data/generated/google/apis/content_v2/classes.rb +18 -6
- data/generated/google/apis/content_v2/representations.rb +1 -0
- data/generated/google/apis/customsearch_v1.rb +1 -1
- data/generated/google/apis/dataproc_v1.rb +2 -11
- data/generated/google/apis/dataproc_v1/classes.rb +0 -19
- data/generated/google/apis/dataproc_v1/representations.rb +0 -13
- data/generated/google/apis/dataproc_v1/service.rb +8 -87
- data/generated/google/apis/deploymentmanager_v2.rb +1 -1
- data/generated/google/apis/dfareporting_v2_3.rb +1 -1
- data/generated/google/apis/dfareporting_v2_3/classes.rb +41 -32
- data/generated/google/apis/discovery_v1.rb +2 -2
- data/generated/google/apis/discovery_v1/service.rb +2 -2
- data/generated/google/apis/dns_v1.rb +2 -3
- data/generated/google/apis/dns_v1/service.rb +1 -2
- data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
- data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
- data/generated/google/apis/drive_v2.rb +3 -2
- data/generated/google/apis/drive_v2/service.rb +2 -1
- data/generated/google/apis/drive_v3.rb +3 -2
- data/generated/google/apis/drive_v3/service.rb +2 -1
- data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
- data/generated/google/apis/games_management_v1management.rb +1 -1
- data/generated/google/apis/games_management_v1management/classes.rb +34 -0
- data/generated/google/apis/games_management_v1management/representations.rb +16 -0
- data/generated/google/apis/games_v1.rb +1 -1
- data/generated/google/apis/games_v1/classes.rb +34 -0
- data/generated/google/apis/games_v1/representations.rb +16 -0
- data/generated/google/apis/games_v1/service.rb +212 -53
- data/generated/google/apis/genomics_v1.rb +1 -1
- data/generated/google/apis/genomics_v1/classes.rb +18 -0
- data/generated/google/apis/genomics_v1/representations.rb +3 -0
- data/generated/google/apis/genomics_v1/service.rb +2 -2
- data/generated/google/apis/gmail_v1.rb +1 -1
- data/generated/google/apis/identitytoolkit_v3.rb +1 -1
- data/generated/google/apis/identitytoolkit_v3/classes.rb +19 -7
- data/generated/google/apis/identitytoolkit_v3/representations.rb +3 -1
- data/generated/google/apis/mybusiness_v3.rb +32 -0
- data/generated/google/apis/mybusiness_v3/classes.rb +1864 -0
- data/generated/google/apis/mybusiness_v3/representations.rb +741 -0
- data/generated/google/apis/mybusiness_v3/service.rb +960 -0
- data/generated/google/apis/pagespeedonline_v2.rb +1 -1
- data/generated/google/apis/plus_domains_v1.rb +2 -2
- data/generated/google/apis/plus_domains_v1/service.rb +1 -1
- data/generated/google/apis/plus_v1.rb +2 -2
- data/generated/google/apis/plus_v1/service.rb +1 -1
- data/generated/google/apis/prediction_v1_6.rb +4 -1
- data/generated/google/apis/proximitybeacon_v1beta1.rb +5 -2
- data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +169 -22
- data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +36 -1
- data/generated/google/apis/proximitybeacon_v1beta1/service.rb +254 -39
- data/generated/google/apis/replicapool_v1beta2.rb +3 -3
- data/generated/google/apis/replicapool_v1beta2/service.rb +2 -2
- data/generated/google/apis/resourceviews_v1beta2.rb +1 -1
- data/generated/google/apis/script_v1.rb +6 -3
- data/generated/google/apis/script_v1/service.rb +2 -2
- data/generated/google/apis/sheets_v4.rb +43 -0
- data/generated/google/apis/sheets_v4/classes.rb +5425 -0
- data/generated/google/apis/sheets_v4/representations.rb +2070 -0
- data/generated/google/apis/sheets_v4/service.rb +402 -0
- data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
- data/generated/google/apis/sqladmin_v1beta4/classes.rb +19 -4
- data/generated/google/apis/sqladmin_v1beta4/representations.rb +3 -0
- data/generated/google/apis/storage_v1.rb +1 -1
- data/generated/google/apis/storage_v1/classes.rb +2 -1
- data/generated/google/apis/taskqueue_v1beta2.rb +2 -2
- data/generated/google/apis/taskqueue_v1beta2/service.rb +1 -1
- data/generated/google/apis/vision_v1.rb +4 -5
- data/generated/google/apis/vision_v1/classes.rb +69 -68
- data/generated/google/apis/vision_v1/representations.rb +13 -13
- data/generated/google/apis/vision_v1/service.rb +3 -4
- data/generated/google/apis/youtube_analytics_v1.rb +2 -2
- data/generated/google/apis/youtube_analytics_v1/service.rb +1 -1
- data/generated/google/apis/youtube_partner_v1.rb +1 -1
- data/generated/google/apis/youtube_partner_v1/classes.rb +121 -0
- data/generated/google/apis/youtube_partner_v1/representations.rb +50 -0
- data/generated/google/apis/youtube_partner_v1/service.rb +40 -0
- data/generated/google/apis/youtube_v3.rb +1 -1
- data/generated/google/apis/youtube_v3/classes.rb +24 -0
- data/generated/google/apis/youtube_v3/representations.rb +4 -0
- data/generated/google/apis/youtubereporting_v1.rb +3 -3
- data/generated/google/apis/youtubereporting_v1/classes.rb +19 -0
- data/generated/google/apis/youtubereporting_v1/representations.rb +3 -0
- data/generated/google/apis/youtubereporting_v1/service.rb +3 -4
- data/lib/google/apis/version.rb +1 -1
- metadata +14 -2
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Copyright 2015 Google Inc.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
require 'google/apis/core/base_service'
|
|
16
|
+
require 'google/apis/core/json_representation'
|
|
17
|
+
require 'google/apis/core/hashable'
|
|
18
|
+
require 'google/apis/errors'
|
|
19
|
+
|
|
20
|
+
module Google
|
|
21
|
+
module Apis
|
|
22
|
+
module AnalyticsreportingV4
|
|
23
|
+
# Google Analytics Reporting API
|
|
24
|
+
#
|
|
25
|
+
# Accesses Analytics report data.
|
|
26
|
+
#
|
|
27
|
+
# @example
|
|
28
|
+
# require 'google/apis/analyticsreporting_v4'
|
|
29
|
+
#
|
|
30
|
+
# Analyticsreporting = Google::Apis::AnalyticsreportingV4 # Alias the module
|
|
31
|
+
# service = Analyticsreporting::AnalyticsReportingService.new
|
|
32
|
+
#
|
|
33
|
+
# @see https://developers.google.com/analytics/devguides/reporting/core/v4/
|
|
34
|
+
class AnalyticsReportingService < Google::Apis::Core::BaseService
|
|
35
|
+
# @return [String]
|
|
36
|
+
# API key. Your API key identifies your project and provides you with API access,
|
|
37
|
+
# quota, and reports. Required unless you provide an OAuth 2.0 token.
|
|
38
|
+
attr_accessor :key
|
|
39
|
+
|
|
40
|
+
# @return [String]
|
|
41
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
|
42
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
|
43
|
+
attr_accessor :quota_user
|
|
44
|
+
|
|
45
|
+
def initialize
|
|
46
|
+
super('https://analyticsreporting.googleapis.com/', '')
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Returns the Analytics data.
|
|
50
|
+
# @param [Google::Apis::AnalyticsreportingV4::GetReportsRequest] get_reports_request_object
|
|
51
|
+
# @param [String] quota_user
|
|
52
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
|
53
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
|
54
|
+
# @param [String] fields
|
|
55
|
+
# Selector specifying which fields to include in a partial response.
|
|
56
|
+
# @param [Google::Apis::RequestOptions] options
|
|
57
|
+
# Request-specific options
|
|
58
|
+
#
|
|
59
|
+
# @yield [result, err] Result & error if block supplied
|
|
60
|
+
# @yieldparam result [Google::Apis::AnalyticsreportingV4::GetReportsResponse] parsed result object
|
|
61
|
+
# @yieldparam err [StandardError] error object if request failed
|
|
62
|
+
#
|
|
63
|
+
# @return [Google::Apis::AnalyticsreportingV4::GetReportsResponse]
|
|
64
|
+
#
|
|
65
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
|
66
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
|
67
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
|
68
|
+
def batch_get_reports(get_reports_request_object = nil, quota_user: nil, fields: nil, options: nil, &block)
|
|
69
|
+
command = make_simple_command(:post, 'v4/reports:batchGet', options)
|
|
70
|
+
command.request_representation = Google::Apis::AnalyticsreportingV4::GetReportsRequest::Representation
|
|
71
|
+
command.request_object = get_reports_request_object
|
|
72
|
+
command.response_representation = Google::Apis::AnalyticsreportingV4::GetReportsResponse::Representation
|
|
73
|
+
command.response_class = Google::Apis::AnalyticsreportingV4::GetReportsResponse
|
|
74
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
|
75
|
+
command.query['fields'] = fields unless fields.nil?
|
|
76
|
+
execute_or_queue_command(command, &block)
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
protected
|
|
80
|
+
|
|
81
|
+
def apply_command_defaults(command)
|
|
82
|
+
command.query['key'] = key unless key.nil?
|
|
83
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
@@ -25,7 +25,7 @@ module Google
|
|
|
25
25
|
# @see https://developers.google.com/android/work/play/emm-api
|
|
26
26
|
module AndroidenterpriseV1
|
|
27
27
|
VERSION = 'V1'
|
|
28
|
-
REVISION = '
|
|
28
|
+
REVISION = '20160519'
|
|
29
29
|
|
|
30
30
|
# Manage corporate Android devices
|
|
31
31
|
AUTH_ANDROIDENTERPRISE = 'https://www.googleapis.com/auth/androidenterprise'
|
|
@@ -343,7 +343,8 @@ module Google
|
|
|
343
343
|
# means that the EMM's app is a device owner. "managedProfile" means that the
|
|
344
344
|
# EMM's app is the profile owner (and there is a separate personal profile which
|
|
345
345
|
# is not managed). "containerApp" means that the EMM's app is managing the
|
|
346
|
-
# Android for Work container app on the device.
|
|
346
|
+
# Android for Work container app on the device. ?unmanagedProfile? means that
|
|
347
|
+
# the EMM?s app is managing a managed user on an unmanaged device
|
|
347
348
|
# Corresponds to the JSON property `managementType`
|
|
348
349
|
# @return [String]
|
|
349
350
|
attr_accessor :management_type
|
|
@@ -882,6 +883,37 @@ module Google
|
|
|
882
883
|
end
|
|
883
884
|
end
|
|
884
885
|
|
|
886
|
+
#
|
|
887
|
+
class PageInfo
|
|
888
|
+
include Google::Apis::Core::Hashable
|
|
889
|
+
|
|
890
|
+
#
|
|
891
|
+
# Corresponds to the JSON property `resultPerPage`
|
|
892
|
+
# @return [Fixnum]
|
|
893
|
+
attr_accessor :result_per_page
|
|
894
|
+
|
|
895
|
+
#
|
|
896
|
+
# Corresponds to the JSON property `startIndex`
|
|
897
|
+
# @return [Fixnum]
|
|
898
|
+
attr_accessor :start_index
|
|
899
|
+
|
|
900
|
+
#
|
|
901
|
+
# Corresponds to the JSON property `totalResults`
|
|
902
|
+
# @return [Fixnum]
|
|
903
|
+
attr_accessor :total_results
|
|
904
|
+
|
|
905
|
+
def initialize(**args)
|
|
906
|
+
update!(**args)
|
|
907
|
+
end
|
|
908
|
+
|
|
909
|
+
# Update properties of this object
|
|
910
|
+
def update!(**args)
|
|
911
|
+
@result_per_page = args[:result_per_page] if args.key?(:result_per_page)
|
|
912
|
+
@start_index = args[:start_index] if args.key?(:start_index)
|
|
913
|
+
@total_results = args[:total_results] if args.key?(:total_results)
|
|
914
|
+
end
|
|
915
|
+
end
|
|
916
|
+
|
|
885
917
|
# A permission represents some extra capability, to be granted to an Android app,
|
|
886
918
|
# which requires explicit consent. An enterprise admin must consent to these
|
|
887
919
|
# permissions on behalf of their users before an entitlement for the app can be
|
|
@@ -1163,6 +1195,45 @@ module Google
|
|
|
1163
1195
|
end
|
|
1164
1196
|
end
|
|
1165
1197
|
|
|
1198
|
+
# The matching products.
|
|
1199
|
+
class ProductsListResponse
|
|
1200
|
+
include Google::Apis::Core::Hashable
|
|
1201
|
+
|
|
1202
|
+
# Identifies what kind of resource this is. Value: the fixed string "
|
|
1203
|
+
# androidenterprise#productsListResponse".
|
|
1204
|
+
# Corresponds to the JSON property `kind`
|
|
1205
|
+
# @return [String]
|
|
1206
|
+
attr_accessor :kind
|
|
1207
|
+
|
|
1208
|
+
# General pagination information.
|
|
1209
|
+
# Corresponds to the JSON property `pageInfo`
|
|
1210
|
+
# @return [Google::Apis::AndroidenterpriseV1::PageInfo]
|
|
1211
|
+
attr_accessor :page_info
|
|
1212
|
+
|
|
1213
|
+
# Information about a product (e.g. an app) in the Google Play Store, for
|
|
1214
|
+
# display to an enterprise admin.
|
|
1215
|
+
# Corresponds to the JSON property `product`
|
|
1216
|
+
# @return [Array<Google::Apis::AndroidenterpriseV1::Product>]
|
|
1217
|
+
attr_accessor :product
|
|
1218
|
+
|
|
1219
|
+
# Pagination information for token pagination.
|
|
1220
|
+
# Corresponds to the JSON property `tokenPagination`
|
|
1221
|
+
# @return [Google::Apis::AndroidenterpriseV1::TokenPagination]
|
|
1222
|
+
attr_accessor :token_pagination
|
|
1223
|
+
|
|
1224
|
+
def initialize(**args)
|
|
1225
|
+
update!(**args)
|
|
1226
|
+
end
|
|
1227
|
+
|
|
1228
|
+
# Update properties of this object
|
|
1229
|
+
def update!(**args)
|
|
1230
|
+
@kind = args[:kind] if args.key?(:kind)
|
|
1231
|
+
@page_info = args[:page_info] if args.key?(:page_info)
|
|
1232
|
+
@product = args[:product] if args.key?(:product)
|
|
1233
|
+
@token_pagination = args[:token_pagination] if args.key?(:token_pagination)
|
|
1234
|
+
end
|
|
1235
|
+
end
|
|
1236
|
+
|
|
1166
1237
|
# Definition of a Google Play for Work store cluster, a list of products
|
|
1167
1238
|
# displayed as part of a store page.
|
|
1168
1239
|
class StoreCluster
|
|
@@ -1191,7 +1262,7 @@ module Google
|
|
|
1191
1262
|
# this field. Duplicated values are allowed, but ordering between elements with
|
|
1192
1263
|
# duplicate order is undefined.
|
|
1193
1264
|
# The value of this field is never visible to a user, it is used solely for the
|
|
1194
|
-
# purpose of defining an ordering. Maximum length is
|
|
1265
|
+
# purpose of defining an ordering. Maximum length is 256 characters.
|
|
1195
1266
|
# Corresponds to the JSON property `orderInPage`
|
|
1196
1267
|
# @return [String]
|
|
1197
1268
|
attr_accessor :order_in_page
|
|
@@ -1345,6 +1416,31 @@ module Google
|
|
|
1345
1416
|
end
|
|
1346
1417
|
end
|
|
1347
1418
|
|
|
1419
|
+
#
|
|
1420
|
+
class TokenPagination
|
|
1421
|
+
include Google::Apis::Core::Hashable
|
|
1422
|
+
|
|
1423
|
+
#
|
|
1424
|
+
# Corresponds to the JSON property `nextPageToken`
|
|
1425
|
+
# @return [String]
|
|
1426
|
+
attr_accessor :next_page_token
|
|
1427
|
+
|
|
1428
|
+
#
|
|
1429
|
+
# Corresponds to the JSON property `previousPageToken`
|
|
1430
|
+
# @return [String]
|
|
1431
|
+
attr_accessor :previous_page_token
|
|
1432
|
+
|
|
1433
|
+
def initialize(**args)
|
|
1434
|
+
update!(**args)
|
|
1435
|
+
end
|
|
1436
|
+
|
|
1437
|
+
# Update properties of this object
|
|
1438
|
+
def update!(**args)
|
|
1439
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
1440
|
+
@previous_page_token = args[:previous_page_token] if args.key?(:previous_page_token)
|
|
1441
|
+
end
|
|
1442
|
+
end
|
|
1443
|
+
|
|
1348
1444
|
# A user resource represents an individual user within the enterprise's domain.
|
|
1349
1445
|
# Note that each user is associated with a Google account based on the user's
|
|
1350
1446
|
# corporate email address (which must be in one of the enterprise's domains). As
|
|
@@ -160,6 +160,12 @@ module Google
|
|
|
160
160
|
include Google::Apis::Core::JsonObjectSupport
|
|
161
161
|
end
|
|
162
162
|
|
|
163
|
+
class PageInfo
|
|
164
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
165
|
+
|
|
166
|
+
include Google::Apis::Core::JsonObjectSupport
|
|
167
|
+
end
|
|
168
|
+
|
|
163
169
|
class Permission
|
|
164
170
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
165
171
|
|
|
@@ -202,6 +208,12 @@ module Google
|
|
|
202
208
|
include Google::Apis::Core::JsonObjectSupport
|
|
203
209
|
end
|
|
204
210
|
|
|
211
|
+
class ProductsListResponse
|
|
212
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
213
|
+
|
|
214
|
+
include Google::Apis::Core::JsonObjectSupport
|
|
215
|
+
end
|
|
216
|
+
|
|
205
217
|
class StoreCluster
|
|
206
218
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
207
219
|
|
|
@@ -232,6 +244,12 @@ module Google
|
|
|
232
244
|
include Google::Apis::Core::JsonObjectSupport
|
|
233
245
|
end
|
|
234
246
|
|
|
247
|
+
class TokenPagination
|
|
248
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
249
|
+
|
|
250
|
+
include Google::Apis::Core::JsonObjectSupport
|
|
251
|
+
end
|
|
252
|
+
|
|
235
253
|
class User
|
|
236
254
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
|
237
255
|
|
|
@@ -465,6 +483,15 @@ module Google
|
|
|
465
483
|
end
|
|
466
484
|
end
|
|
467
485
|
|
|
486
|
+
class PageInfo
|
|
487
|
+
# @private
|
|
488
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
|
489
|
+
property :result_per_page, as: 'resultPerPage'
|
|
490
|
+
property :start_index, as: 'startIndex'
|
|
491
|
+
property :total_results, as: 'totalResults'
|
|
492
|
+
end
|
|
493
|
+
end
|
|
494
|
+
|
|
468
495
|
class Permission
|
|
469
496
|
# @private
|
|
470
497
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
@@ -535,6 +562,19 @@ module Google
|
|
|
535
562
|
end
|
|
536
563
|
end
|
|
537
564
|
|
|
565
|
+
class ProductsListResponse
|
|
566
|
+
# @private
|
|
567
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
|
568
|
+
property :kind, as: 'kind'
|
|
569
|
+
property :page_info, as: 'pageInfo', class: Google::Apis::AndroidenterpriseV1::PageInfo, decorator: Google::Apis::AndroidenterpriseV1::PageInfo::Representation
|
|
570
|
+
|
|
571
|
+
collection :product, as: 'product', class: Google::Apis::AndroidenterpriseV1::Product, decorator: Google::Apis::AndroidenterpriseV1::Product::Representation
|
|
572
|
+
|
|
573
|
+
property :token_pagination, as: 'tokenPagination', class: Google::Apis::AndroidenterpriseV1::TokenPagination, decorator: Google::Apis::AndroidenterpriseV1::TokenPagination::Representation
|
|
574
|
+
|
|
575
|
+
end
|
|
576
|
+
end
|
|
577
|
+
|
|
538
578
|
class StoreCluster
|
|
539
579
|
# @private
|
|
540
580
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
@@ -584,6 +624,14 @@ module Google
|
|
|
584
624
|
end
|
|
585
625
|
end
|
|
586
626
|
|
|
627
|
+
class TokenPagination
|
|
628
|
+
# @private
|
|
629
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
|
630
|
+
property :next_page_token, as: 'nextPageToken'
|
|
631
|
+
property :previous_page_token, as: 'previousPageToken'
|
|
632
|
+
end
|
|
633
|
+
end
|
|
634
|
+
|
|
587
635
|
class User
|
|
588
636
|
# @private
|
|
589
637
|
class Representation < Google::Apis::Core::JsonRepresentation
|
|
@@ -1630,7 +1630,11 @@ module Google
|
|
|
1630
1630
|
execute_or_queue_command(command, &block)
|
|
1631
1631
|
end
|
|
1632
1632
|
|
|
1633
|
-
# Approves the specified product
|
|
1633
|
+
# Approves the specified product and the relevant app permissions, if any. The
|
|
1634
|
+
# maximum number of products that you can approve per enterprise customer is 1,
|
|
1635
|
+
# 000.
|
|
1636
|
+
# To learn how to use Google Play for Work to design and create a store layout
|
|
1637
|
+
# to display approved products to your users, see Store Layout Design.
|
|
1634
1638
|
# @param [String] enterprise_id
|
|
1635
1639
|
# The ID of the enterprise.
|
|
1636
1640
|
# @param [String] product_id
|
|
@@ -1840,6 +1844,64 @@ module Google
|
|
|
1840
1844
|
execute_or_queue_command(command, &block)
|
|
1841
1845
|
end
|
|
1842
1846
|
|
|
1847
|
+
# Finds approved products that match a query.
|
|
1848
|
+
# @param [String] enterprise_id
|
|
1849
|
+
# The ID of the enterprise.
|
|
1850
|
+
# @param [Boolean] approved
|
|
1851
|
+
# Specifies whether to search among all products (false) or among only products
|
|
1852
|
+
# that have been approved (true). Only "true" is supported, and should be
|
|
1853
|
+
# specified.
|
|
1854
|
+
# @param [String] language
|
|
1855
|
+
# The BCP47 tag for the user's preferred language (e.g. "en-US", "de"). Results
|
|
1856
|
+
# are returned in the language best matching the preferred language.
|
|
1857
|
+
# @param [Fixnum] max_results
|
|
1858
|
+
# Specifies the maximum number of products that can be returned per request. If
|
|
1859
|
+
# not specified, uses a default value of 100, which is also the maximum
|
|
1860
|
+
# retrievable within a single response.
|
|
1861
|
+
# @param [String] query
|
|
1862
|
+
# The search query as typed in the Google Play Store search box. If omitted, all
|
|
1863
|
+
# approved apps will be returned (using the pagination parameters).
|
|
1864
|
+
# @param [String] token
|
|
1865
|
+
# A pagination token is contained in a requests response when there are more
|
|
1866
|
+
# products. The token can be used in a subsequent request to obtain more
|
|
1867
|
+
# products, and so forth. This parameter cannot be used in the initial request.
|
|
1868
|
+
# @param [String] fields
|
|
1869
|
+
# Selector specifying which fields to include in a partial response.
|
|
1870
|
+
# @param [String] quota_user
|
|
1871
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
|
1872
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
|
1873
|
+
# Overrides userIp if both are provided.
|
|
1874
|
+
# @param [String] user_ip
|
|
1875
|
+
# IP address of the site where the request originates. Use this if you want to
|
|
1876
|
+
# enforce per-user limits.
|
|
1877
|
+
# @param [Google::Apis::RequestOptions] options
|
|
1878
|
+
# Request-specific options
|
|
1879
|
+
#
|
|
1880
|
+
# @yield [result, err] Result & error if block supplied
|
|
1881
|
+
# @yieldparam result [Google::Apis::AndroidenterpriseV1::ProductsListResponse] parsed result object
|
|
1882
|
+
# @yieldparam err [StandardError] error object if request failed
|
|
1883
|
+
#
|
|
1884
|
+
# @return [Google::Apis::AndroidenterpriseV1::ProductsListResponse]
|
|
1885
|
+
#
|
|
1886
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
|
1887
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
|
1888
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
|
1889
|
+
def list_products(enterprise_id, approved: nil, language: nil, max_results: nil, query: nil, token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
|
|
1890
|
+
command = make_simple_command(:get, 'enterprises/{enterpriseId}/products', options)
|
|
1891
|
+
command.response_representation = Google::Apis::AndroidenterpriseV1::ProductsListResponse::Representation
|
|
1892
|
+
command.response_class = Google::Apis::AndroidenterpriseV1::ProductsListResponse
|
|
1893
|
+
command.params['enterpriseId'] = enterprise_id unless enterprise_id.nil?
|
|
1894
|
+
command.query['approved'] = approved unless approved.nil?
|
|
1895
|
+
command.query['language'] = language unless language.nil?
|
|
1896
|
+
command.query['maxResults'] = max_results unless max_results.nil?
|
|
1897
|
+
command.query['query'] = query unless query.nil?
|
|
1898
|
+
command.query['token'] = token unless token.nil?
|
|
1899
|
+
command.query['fields'] = fields unless fields.nil?
|
|
1900
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
|
1901
|
+
command.query['userIp'] = user_ip unless user_ip.nil?
|
|
1902
|
+
execute_or_queue_command(command, &block)
|
|
1903
|
+
end
|
|
1904
|
+
|
|
1843
1905
|
# This method has been deprecated. To programmatically approve applications, you
|
|
1844
1906
|
# must use the iframe mechanism via the generateApprovalUrl and approve
|
|
1845
1907
|
# methods of the Products resource. For more information, see the Play EMM API
|
|
@@ -25,7 +25,7 @@ module Google
|
|
|
25
25
|
# @see https://developers.google.com/android-publisher
|
|
26
26
|
module AndroidpublisherV2
|
|
27
27
|
VERSION = 'V2'
|
|
28
|
-
REVISION = '
|
|
28
|
+
REVISION = '20160516'
|
|
29
29
|
|
|
30
30
|
# View and manage your Google Play Developer account
|
|
31
31
|
AUTH_ANDROIDPUBLISHER = 'https://www.googleapis.com/auth/androidpublisher'
|
|
@@ -252,6 +252,56 @@ module Google
|
|
|
252
252
|
end
|
|
253
253
|
end
|
|
254
254
|
|
|
255
|
+
#
|
|
256
|
+
class Comment
|
|
257
|
+
include Google::Apis::Core::Hashable
|
|
258
|
+
|
|
259
|
+
# A comment from a developer.
|
|
260
|
+
# Corresponds to the JSON property `developerComment`
|
|
261
|
+
# @return [Google::Apis::AndroidpublisherV2::DeveloperComment]
|
|
262
|
+
attr_accessor :developer_comment
|
|
263
|
+
|
|
264
|
+
# A comment from a user.
|
|
265
|
+
# Corresponds to the JSON property `userComment`
|
|
266
|
+
# @return [Google::Apis::AndroidpublisherV2::UserComment]
|
|
267
|
+
attr_accessor :user_comment
|
|
268
|
+
|
|
269
|
+
def initialize(**args)
|
|
270
|
+
update!(**args)
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
# Update properties of this object
|
|
274
|
+
def update!(**args)
|
|
275
|
+
@developer_comment = args[:developer_comment] if args.key?(:developer_comment)
|
|
276
|
+
@user_comment = args[:user_comment] if args.key?(:user_comment)
|
|
277
|
+
end
|
|
278
|
+
end
|
|
279
|
+
|
|
280
|
+
#
|
|
281
|
+
class DeveloperComment
|
|
282
|
+
include Google::Apis::Core::Hashable
|
|
283
|
+
|
|
284
|
+
# The last time at which this comment was updated.
|
|
285
|
+
# Corresponds to the JSON property `lastModified`
|
|
286
|
+
# @return [Google::Apis::AndroidpublisherV2::Timestamp]
|
|
287
|
+
attr_accessor :last_modified
|
|
288
|
+
|
|
289
|
+
# The content of the comment, i.e. reply body.
|
|
290
|
+
# Corresponds to the JSON property `text`
|
|
291
|
+
# @return [String]
|
|
292
|
+
attr_accessor :text
|
|
293
|
+
|
|
294
|
+
def initialize(**args)
|
|
295
|
+
update!(**args)
|
|
296
|
+
end
|
|
297
|
+
|
|
298
|
+
# Update properties of this object
|
|
299
|
+
def update!(**args)
|
|
300
|
+
@last_modified = args[:last_modified] if args.key?(:last_modified)
|
|
301
|
+
@text = args[:text] if args.key?(:text)
|
|
302
|
+
end
|
|
303
|
+
end
|
|
304
|
+
|
|
255
305
|
# An Entitlement resource indicates a user's current entitlement to an inapp
|
|
256
306
|
# item or subscription.
|
|
257
307
|
class Entitlement
|
|
@@ -1159,6 +1209,132 @@ module Google
|
|
|
1159
1209
|
end
|
|
1160
1210
|
end
|
|
1161
1211
|
|
|
1212
|
+
#
|
|
1213
|
+
class Review
|
|
1214
|
+
include Google::Apis::Core::Hashable
|
|
1215
|
+
|
|
1216
|
+
# The name of the user who wrote the review.
|
|
1217
|
+
# Corresponds to the JSON property `authorName`
|
|
1218
|
+
# @return [String]
|
|
1219
|
+
attr_accessor :author_name
|
|
1220
|
+
|
|
1221
|
+
# A repeated field containing comments for the review.
|
|
1222
|
+
# Corresponds to the JSON property `comments`
|
|
1223
|
+
# @return [Array<Google::Apis::AndroidpublisherV2::Comment>]
|
|
1224
|
+
attr_accessor :comments
|
|
1225
|
+
|
|
1226
|
+
# Unique identifier for this review.
|
|
1227
|
+
# Corresponds to the JSON property `reviewId`
|
|
1228
|
+
# @return [String]
|
|
1229
|
+
attr_accessor :review_id
|
|
1230
|
+
|
|
1231
|
+
def initialize(**args)
|
|
1232
|
+
update!(**args)
|
|
1233
|
+
end
|
|
1234
|
+
|
|
1235
|
+
# Update properties of this object
|
|
1236
|
+
def update!(**args)
|
|
1237
|
+
@author_name = args[:author_name] if args.key?(:author_name)
|
|
1238
|
+
@comments = args[:comments] if args.key?(:comments)
|
|
1239
|
+
@review_id = args[:review_id] if args.key?(:review_id)
|
|
1240
|
+
end
|
|
1241
|
+
end
|
|
1242
|
+
|
|
1243
|
+
#
|
|
1244
|
+
class ReviewReplyResult
|
|
1245
|
+
include Google::Apis::Core::Hashable
|
|
1246
|
+
|
|
1247
|
+
# The time at which the reply took effect.
|
|
1248
|
+
# Corresponds to the JSON property `lastEdited`
|
|
1249
|
+
# @return [Google::Apis::AndroidpublisherV2::Timestamp]
|
|
1250
|
+
attr_accessor :last_edited
|
|
1251
|
+
|
|
1252
|
+
# The reply text that was applied.
|
|
1253
|
+
# Corresponds to the JSON property `replyText`
|
|
1254
|
+
# @return [String]
|
|
1255
|
+
attr_accessor :reply_text
|
|
1256
|
+
|
|
1257
|
+
def initialize(**args)
|
|
1258
|
+
update!(**args)
|
|
1259
|
+
end
|
|
1260
|
+
|
|
1261
|
+
# Update properties of this object
|
|
1262
|
+
def update!(**args)
|
|
1263
|
+
@last_edited = args[:last_edited] if args.key?(:last_edited)
|
|
1264
|
+
@reply_text = args[:reply_text] if args.key?(:reply_text)
|
|
1265
|
+
end
|
|
1266
|
+
end
|
|
1267
|
+
|
|
1268
|
+
#
|
|
1269
|
+
class ReviewsListResponse
|
|
1270
|
+
include Google::Apis::Core::Hashable
|
|
1271
|
+
|
|
1272
|
+
#
|
|
1273
|
+
# Corresponds to the JSON property `pageInfo`
|
|
1274
|
+
# @return [Google::Apis::AndroidpublisherV2::PageInfo]
|
|
1275
|
+
attr_accessor :page_info
|
|
1276
|
+
|
|
1277
|
+
#
|
|
1278
|
+
# Corresponds to the JSON property `reviews`
|
|
1279
|
+
# @return [Array<Google::Apis::AndroidpublisherV2::Review>]
|
|
1280
|
+
attr_accessor :reviews
|
|
1281
|
+
|
|
1282
|
+
#
|
|
1283
|
+
# Corresponds to the JSON property `tokenPagination`
|
|
1284
|
+
# @return [Google::Apis::AndroidpublisherV2::TokenPagination]
|
|
1285
|
+
attr_accessor :token_pagination
|
|
1286
|
+
|
|
1287
|
+
def initialize(**args)
|
|
1288
|
+
update!(**args)
|
|
1289
|
+
end
|
|
1290
|
+
|
|
1291
|
+
# Update properties of this object
|
|
1292
|
+
def update!(**args)
|
|
1293
|
+
@page_info = args[:page_info] if args.key?(:page_info)
|
|
1294
|
+
@reviews = args[:reviews] if args.key?(:reviews)
|
|
1295
|
+
@token_pagination = args[:token_pagination] if args.key?(:token_pagination)
|
|
1296
|
+
end
|
|
1297
|
+
end
|
|
1298
|
+
|
|
1299
|
+
#
|
|
1300
|
+
class ReviewsReplyRequest
|
|
1301
|
+
include Google::Apis::Core::Hashable
|
|
1302
|
+
|
|
1303
|
+
# The text to set as the reply. Replies of more than approximately 350
|
|
1304
|
+
# characters will be rejected. HTML tags will be stripped.
|
|
1305
|
+
# Corresponds to the JSON property `replyText`
|
|
1306
|
+
# @return [String]
|
|
1307
|
+
attr_accessor :reply_text
|
|
1308
|
+
|
|
1309
|
+
def initialize(**args)
|
|
1310
|
+
update!(**args)
|
|
1311
|
+
end
|
|
1312
|
+
|
|
1313
|
+
# Update properties of this object
|
|
1314
|
+
def update!(**args)
|
|
1315
|
+
@reply_text = args[:reply_text] if args.key?(:reply_text)
|
|
1316
|
+
end
|
|
1317
|
+
end
|
|
1318
|
+
|
|
1319
|
+
#
|
|
1320
|
+
class ReviewsReplyResponse
|
|
1321
|
+
include Google::Apis::Core::Hashable
|
|
1322
|
+
|
|
1323
|
+
#
|
|
1324
|
+
# Corresponds to the JSON property `result`
|
|
1325
|
+
# @return [Google::Apis::AndroidpublisherV2::ReviewReplyResult]
|
|
1326
|
+
attr_accessor :result
|
|
1327
|
+
|
|
1328
|
+
def initialize(**args)
|
|
1329
|
+
update!(**args)
|
|
1330
|
+
end
|
|
1331
|
+
|
|
1332
|
+
# Update properties of this object
|
|
1333
|
+
def update!(**args)
|
|
1334
|
+
@result = args[:result] if args.key?(:result)
|
|
1335
|
+
end
|
|
1336
|
+
end
|
|
1337
|
+
|
|
1162
1338
|
#
|
|
1163
1339
|
class Season
|
|
1164
1340
|
include Google::Apis::Core::Hashable
|
|
@@ -1372,6 +1548,31 @@ module Google
|
|
|
1372
1548
|
end
|
|
1373
1549
|
end
|
|
1374
1550
|
|
|
1551
|
+
#
|
|
1552
|
+
class Timestamp
|
|
1553
|
+
include Google::Apis::Core::Hashable
|
|
1554
|
+
|
|
1555
|
+
#
|
|
1556
|
+
# Corresponds to the JSON property `nanos`
|
|
1557
|
+
# @return [Fixnum]
|
|
1558
|
+
attr_accessor :nanos
|
|
1559
|
+
|
|
1560
|
+
#
|
|
1561
|
+
# Corresponds to the JSON property `seconds`
|
|
1562
|
+
# @return [String]
|
|
1563
|
+
attr_accessor :seconds
|
|
1564
|
+
|
|
1565
|
+
def initialize(**args)
|
|
1566
|
+
update!(**args)
|
|
1567
|
+
end
|
|
1568
|
+
|
|
1569
|
+
# Update properties of this object
|
|
1570
|
+
def update!(**args)
|
|
1571
|
+
@nanos = args[:nanos] if args.key?(:nanos)
|
|
1572
|
+
@seconds = args[:seconds] if args.key?(:seconds)
|
|
1573
|
+
end
|
|
1574
|
+
end
|
|
1575
|
+
|
|
1375
1576
|
#
|
|
1376
1577
|
class TokenPagination
|
|
1377
1578
|
include Google::Apis::Core::Hashable
|
|
@@ -1453,6 +1654,73 @@ module Google
|
|
|
1453
1654
|
@tracks = args[:tracks] if args.key?(:tracks)
|
|
1454
1655
|
end
|
|
1455
1656
|
end
|
|
1657
|
+
|
|
1658
|
+
#
|
|
1659
|
+
class UserComment
|
|
1660
|
+
include Google::Apis::Core::Hashable
|
|
1661
|
+
|
|
1662
|
+
# Integer Android SDK version of the user's device at the time the review was
|
|
1663
|
+
# written, e.g. 23 is Marshmallow. May be absent.
|
|
1664
|
+
# Corresponds to the JSON property `androidOsVersion`
|
|
1665
|
+
# @return [Fixnum]
|
|
1666
|
+
attr_accessor :android_os_version
|
|
1667
|
+
|
|
1668
|
+
# Integer version code of the app as installed at the time the review was
|
|
1669
|
+
# written. May be absent.
|
|
1670
|
+
# Corresponds to the JSON property `appVersionCode`
|
|
1671
|
+
# @return [Fixnum]
|
|
1672
|
+
attr_accessor :app_version_code
|
|
1673
|
+
|
|
1674
|
+
# String version name of the app as installed at the time the review was written.
|
|
1675
|
+
# May be absent.
|
|
1676
|
+
# Corresponds to the JSON property `appVersionName`
|
|
1677
|
+
# @return [String]
|
|
1678
|
+
attr_accessor :app_version_name
|
|
1679
|
+
|
|
1680
|
+
# Codename for the reviewer's device, e.g. klte, flounder. May be absent.
|
|
1681
|
+
# Corresponds to the JSON property `device`
|
|
1682
|
+
# @return [String]
|
|
1683
|
+
attr_accessor :device
|
|
1684
|
+
|
|
1685
|
+
# The last time at which this comment was updated.
|
|
1686
|
+
# Corresponds to the JSON property `lastModified`
|
|
1687
|
+
# @return [Google::Apis::AndroidpublisherV2::Timestamp]
|
|
1688
|
+
attr_accessor :last_modified
|
|
1689
|
+
|
|
1690
|
+
# Language code for the reviewer. This is taken from the device settings so is
|
|
1691
|
+
# not guaranteed to match the language the review is written in. May be absent.
|
|
1692
|
+
# Corresponds to the JSON property `reviewerLanguage`
|
|
1693
|
+
# @return [String]
|
|
1694
|
+
attr_accessor :reviewer_language
|
|
1695
|
+
|
|
1696
|
+
# The star rating associated with the review, from 1 to 5.
|
|
1697
|
+
# Corresponds to the JSON property `starRating`
|
|
1698
|
+
# @return [Fixnum]
|
|
1699
|
+
attr_accessor :star_rating
|
|
1700
|
+
|
|
1701
|
+
# The content of the comment, i.e. review body. In some cases users have been
|
|
1702
|
+
# able to write a review with separate title and body; in those cases the title
|
|
1703
|
+
# and body are concatenated and separated by a tab character.
|
|
1704
|
+
# Corresponds to the JSON property `text`
|
|
1705
|
+
# @return [String]
|
|
1706
|
+
attr_accessor :text
|
|
1707
|
+
|
|
1708
|
+
def initialize(**args)
|
|
1709
|
+
update!(**args)
|
|
1710
|
+
end
|
|
1711
|
+
|
|
1712
|
+
# Update properties of this object
|
|
1713
|
+
def update!(**args)
|
|
1714
|
+
@android_os_version = args[:android_os_version] if args.key?(:android_os_version)
|
|
1715
|
+
@app_version_code = args[:app_version_code] if args.key?(:app_version_code)
|
|
1716
|
+
@app_version_name = args[:app_version_name] if args.key?(:app_version_name)
|
|
1717
|
+
@device = args[:device] if args.key?(:device)
|
|
1718
|
+
@last_modified = args[:last_modified] if args.key?(:last_modified)
|
|
1719
|
+
@reviewer_language = args[:reviewer_language] if args.key?(:reviewer_language)
|
|
1720
|
+
@star_rating = args[:star_rating] if args.key?(:star_rating)
|
|
1721
|
+
@text = args[:text] if args.key?(:text)
|
|
1722
|
+
end
|
|
1723
|
+
end
|
|
1456
1724
|
end
|
|
1457
1725
|
end
|
|
1458
1726
|
end
|