google-api-client 0.9.8 → 0.9.15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +30 -0
- data/Gemfile +9 -1
- data/README.md +10 -2
- data/api_names.yaml +61 -110
- data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
- data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +160 -9
- data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +46 -0
- data/generated/google/apis/adexchangebuyer_v1_4/service.rb +22 -8
- data/generated/google/apis/adexchangeseller_v2_0.rb +2 -3
- data/generated/google/apis/adexchangeseller_v2_0/service.rb +1 -2
- data/generated/google/apis/admin_directory_v1.rb +1 -1
- data/generated/google/apis/admin_directory_v1/classes.rb +6 -0
- data/generated/google/apis/admin_directory_v1/representations.rb +1 -0
- data/generated/google/apis/admin_directory_v1/service.rb +2 -2
- data/generated/google/apis/admin_reports_v1.rb +3 -3
- data/generated/google/apis/admin_reports_v1/service.rb +2 -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/analytics_v3/classes.rb +371 -1
- data/generated/google/apis/analytics_v3/representations.rb +135 -0
- data/generated/google/apis/analytics_v3/service.rb +218 -0
- data/generated/google/apis/analyticsreporting_v4.rb +1 -1
- data/generated/google/apis/analyticsreporting_v4/classes.rb +50 -22
- data/generated/google/apis/androidenterprise_v1.rb +1 -1
- data/generated/google/apis/androidenterprise_v1/classes.rb +722 -48
- data/generated/google/apis/androidenterprise_v1/representations.rb +305 -0
- data/generated/google/apis/androidenterprise_v1/service.rb +1180 -146
- data/generated/google/apis/androidpublisher_v2.rb +1 -1
- data/generated/google/apis/androidpublisher_v2/classes.rb +9 -8
- data/generated/google/apis/appengine_v1beta5.rb +1 -1
- data/generated/google/apis/appengine_v1beta5/classes.rb +430 -288
- data/generated/google/apis/appengine_v1beta5/representations.rb +84 -10
- data/generated/google/apis/appengine_v1beta5/service.rb +285 -25
- data/generated/google/apis/appsactivity_v1.rb +1 -1
- data/generated/google/apis/appstate_v1.rb +1 -1
- data/generated/google/apis/bigquery_v2.rb +1 -1
- data/generated/google/apis/bigquery_v2/classes.rb +254 -6
- data/generated/google/apis/bigquery_v2/representations.rb +85 -0
- data/generated/google/apis/bigquery_v2/service.rb +8 -2
- data/generated/google/apis/books_v1.rb +2 -2
- data/generated/google/apis/books_v1/classes.rb +77 -0
- data/generated/google/apis/books_v1/representations.rb +34 -0
- data/generated/google/apis/books_v1/service.rb +7 -3
- data/generated/google/apis/calendar_v3.rb +1 -1
- data/generated/google/apis/civicinfo_v2.rb +3 -2
- data/generated/google/apis/civicinfo_v2/classes.rb +16 -4
- data/generated/google/apis/civicinfo_v2/representations.rb +2 -0
- data/generated/google/apis/civicinfo_v2/service.rb +8 -2
- data/generated/google/apis/classroom_v1.rb +1 -1
- data/generated/google/apis/classroom_v1/classes.rb +176 -37
- data/generated/google/apis/classroom_v1/representations.rb +73 -9
- data/generated/google/apis/classroom_v1/service.rb +392 -37
- data/generated/google/apis/cloudbuild_v1.rb +1 -1
- data/generated/google/apis/cloudbuild_v1/classes.rb +320 -12
- data/generated/google/apis/cloudbuild_v1/representations.rb +136 -2
- data/generated/google/apis/cloudbuild_v1/service.rb +174 -1
- data/generated/google/apis/clouddebugger_v2.rb +3 -6
- data/generated/google/apis/clouddebugger_v2/service.rb +4 -4
- data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v1/classes.rb +157 -3
- data/generated/google/apis/cloudresourcemanager_v1/representations.rb +33 -0
- data/generated/google/apis/cloudresourcemanager_v1/service.rb +60 -21
- data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +22 -5
- data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +2 -0
- data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +61 -39
- data/generated/google/apis/compute_beta.rb +1 -1
- data/generated/google/apis/compute_beta/classes.rb +1620 -199
- data/generated/google/apis/compute_beta/representations.rb +563 -0
- data/generated/google/apis/compute_beta/service.rb +5123 -2690
- data/generated/google/apis/compute_v1.rb +1 -1
- data/generated/google/apis/compute_v1/classes.rb +1717 -295
- data/generated/google/apis/compute_v1/representations.rb +536 -0
- data/generated/google/apis/compute_v1/service.rb +2038 -1041
- data/generated/google/apis/content_v2.rb +1 -1
- data/generated/google/apis/content_v2/classes.rb +709 -1
- data/generated/google/apis/content_v2/representations.rb +319 -0
- data/generated/google/apis/content_v2/service.rb +244 -0
- data/generated/google/apis/datastore_v1.rb +38 -0
- data/generated/google/apis/datastore_v1/classes.rb +1284 -0
- data/generated/google/apis/datastore_v1/representations.rb +572 -0
- data/generated/google/apis/datastore_v1/service.rb +259 -0
- data/generated/google/apis/datastore_v1beta3.rb +38 -0
- data/generated/google/apis/datastore_v1beta3/classes.rb +1284 -0
- data/generated/google/apis/datastore_v1beta3/representations.rb +572 -0
- data/generated/google/apis/datastore_v1beta3/service.rb +259 -0
- data/generated/google/apis/deploymentmanager_v2.rb +1 -1
- data/generated/google/apis/deploymentmanager_v2/classes.rb +384 -2
- data/generated/google/apis/deploymentmanager_v2/representations.rb +161 -0
- data/generated/google/apis/deploymentmanager_v2/service.rb +162 -50
- data/generated/google/apis/dfareporting_v2_5.rb +40 -0
- data/generated/google/apis/dfareporting_v2_5/classes.rb +11225 -0
- data/generated/google/apis/dfareporting_v2_5/representations.rb +3982 -0
- data/generated/google/apis/dfareporting_v2_5/service.rb +8755 -0
- data/generated/google/apis/dfareporting_v2_6.rb +40 -0
- data/generated/google/apis/dfareporting_v2_6/classes.rb +11585 -0
- data/generated/google/apis/dfareporting_v2_6/representations.rb +4119 -0
- data/generated/google/apis/dfareporting_v2_6/service.rb +9006 -0
- data/generated/google/apis/dns_v1.rb +1 -1
- data/generated/google/apis/dns_v1/classes.rb +1 -1
- 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 +1 -1
- data/generated/google/apis/drive_v2/classes.rb +11 -3
- data/generated/google/apis/drive_v2/representations.rb +2 -0
- data/generated/google/apis/drive_v2/service.rb +8 -2
- data/generated/google/apis/drive_v3.rb +1 -1
- data/generated/google/apis/drive_v3/classes.rb +36 -16
- data/generated/google/apis/drive_v3/representations.rb +2 -0
- data/generated/google/apis/drive_v3/service.rb +4 -1
- data/generated/google/apis/fitness_v1.rb +8 -2
- data/generated/google/apis/fitness_v1/classes.rb +64 -6
- data/generated/google/apis/fitness_v1/representations.rb +20 -0
- data/generated/google/apis/fitness_v1/service.rb +17 -18
- data/generated/google/apis/fusiontables_v2.rb +1 -1
- data/generated/google/apis/fusiontables_v2/classes.rb +4 -3
- 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_v1.rb +1 -1
- data/generated/google/apis/genomics_v1.rb +2 -4
- data/generated/google/apis/genomics_v1/classes.rb +111 -9
- data/generated/google/apis/genomics_v1/representations.rb +36 -0
- data/generated/google/apis/genomics_v1/service.rb +4 -7
- data/generated/google/apis/gmail_v1.rb +7 -1
- data/generated/google/apis/gmail_v1/classes.rb +540 -0
- data/generated/google/apis/gmail_v1/representations.rb +213 -0
- data/generated/google/apis/gmail_v1/service.rb +898 -1
- data/generated/google/apis/groupssettings_v1.rb +1 -1
- data/generated/google/apis/groupssettings_v1/classes.rb +12 -0
- data/generated/google/apis/groupssettings_v1/representations.rb +2 -0
- data/generated/google/apis/identitytoolkit_v3.rb +1 -1
- data/generated/google/apis/identitytoolkit_v3/classes.rb +154 -1
- data/generated/google/apis/identitytoolkit_v3/representations.rb +35 -0
- data/generated/google/apis/language_v1beta1.rb +36 -0
- data/generated/google/apis/language_v1beta1/classes.rb +596 -0
- data/generated/google/apis/language_v1beta1/representations.rb +289 -0
- data/generated/google/apis/language_v1beta1/service.rb +154 -0
- data/generated/google/apis/mirror_v1.rb +2 -2
- data/generated/google/apis/mirror_v1/service.rb +1 -1
- data/generated/google/apis/monitoring_v3.rb +45 -0
- data/generated/google/apis/monitoring_v3/classes.rb +1328 -0
- data/generated/google/apis/monitoring_v3/representations.rb +516 -0
- data/generated/google/apis/monitoring_v3/service.rb +711 -0
- data/generated/google/apis/oauth2_v2.rb +1 -1
- data/generated/google/apis/pagespeedonline_v2.rb +1 -1
- data/generated/google/apis/plus_domains_v1.rb +1 -1
- data/generated/google/apis/plus_v1.rb +1 -1
- data/generated/google/apis/qpx_express_v1.rb +1 -1
- data/generated/google/apis/qpx_express_v1/classes.rb +6 -0
- data/generated/google/apis/qpx_express_v1/representations.rb +1 -0
- data/generated/google/apis/replicapool_v1beta2.rb +1 -1
- data/generated/google/apis/script_v1.rb +1 -1
- data/generated/google/apis/script_v1/classes.rb +6 -0
- data/generated/google/apis/script_v1/representations.rb +1 -0
- data/generated/google/apis/sheets_v4.rb +1 -1
- data/generated/google/apis/sheets_v4/classes.rb +35 -0
- data/generated/google/apis/sheets_v4/representations.rb +16 -0
- data/generated/google/apis/sheets_v4/service.rb +55 -0
- data/generated/google/apis/speech_v1beta1.rb +34 -0
- data/generated/google/apis/speech_v1beta1/classes.rb +521 -0
- data/generated/google/apis/speech_v1beta1/representations.rb +219 -0
- data/generated/google/apis/speech_v1beta1/service.rb +268 -0
- data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
- data/generated/google/apis/sqladmin_v1beta4/classes.rb +26 -8
- data/generated/google/apis/sqladmin_v1beta4/representations.rb +2 -0
- data/generated/google/apis/sqladmin_v1beta4/service.rb +42 -0
- data/generated/google/apis/storage_v1.rb +1 -1
- data/generated/google/apis/storage_v1/classes.rb +19 -10
- data/generated/google/apis/translate_v2.rb +2 -2
- data/generated/google/apis/translate_v2/service.rb +1 -1
- data/generated/google/apis/vision_v1.rb +1 -1
- data/generated/google/apis/vision_v1/classes.rb +10 -9
- data/generated/google/apis/youtube_partner_v1.rb +1 -1
- data/generated/google/apis/youtube_partner_v1/classes.rb +6 -0
- data/generated/google/apis/youtube_partner_v1/representations.rb +2 -0
- data/generated/google/apis/youtube_partner_v1/service.rb +15 -3
- data/generated/google/apis/youtube_v3.rb +1 -1
- data/generated/google/apis/youtube_v3/classes.rb +163 -2
- data/generated/google/apis/youtube_v3/representations.rb +82 -0
- data/generated/google/apis/youtube_v3/service.rb +6 -2
- data/generated/google/apis/youtubereporting_v1.rb +1 -1
- data/google-api-client.gemspec +2 -1
- data/lib/google/apis/core/api_command.rb +4 -0
- data/lib/google/apis/core/base_service.rb +10 -4
- data/lib/google/apis/core/download.rb +7 -2
- data/lib/google/apis/core/http_command.rb +5 -1
- data/lib/google/apis/core/upload.rb +7 -1
- data/lib/google/apis/errors.rb +2 -2
- data/lib/google/apis/generator/annotator.rb +6 -0
- data/lib/google/apis/version.rb +1 -1
- data/samples/cli/lib/samples/bigquery.rb +101 -0
- data/samples/cli/lib/samples/sheets.rb +61 -0
- data/sync.rb +71 -0
- metadata +43 -13
@@ -574,6 +574,36 @@ module Google
|
|
574
574
|
include Google::Apis::Core::JsonObjectSupport
|
575
575
|
end
|
576
576
|
|
577
|
+
class LiveChatPollClosedDetails
|
578
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
579
|
+
|
580
|
+
include Google::Apis::Core::JsonObjectSupport
|
581
|
+
end
|
582
|
+
|
583
|
+
class LiveChatPollEditedDetails
|
584
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
585
|
+
|
586
|
+
include Google::Apis::Core::JsonObjectSupport
|
587
|
+
end
|
588
|
+
|
589
|
+
class LiveChatPollItem
|
590
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
591
|
+
|
592
|
+
include Google::Apis::Core::JsonObjectSupport
|
593
|
+
end
|
594
|
+
|
595
|
+
class LiveChatPollOpenedDetails
|
596
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
597
|
+
|
598
|
+
include Google::Apis::Core::JsonObjectSupport
|
599
|
+
end
|
600
|
+
|
601
|
+
class LiveChatPollVotedDetails
|
602
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
603
|
+
|
604
|
+
include Google::Apis::Core::JsonObjectSupport
|
605
|
+
end
|
606
|
+
|
577
607
|
class LiveChatTextMessageDetails
|
578
608
|
class Representation < Google::Apis::Core::JsonRepresentation; end
|
579
609
|
|
@@ -1689,6 +1719,7 @@ module Google
|
|
1689
1719
|
property :fco_rating, as: 'fcoRating'
|
1690
1720
|
property :fmoc_rating, as: 'fmocRating'
|
1691
1721
|
property :fpb_rating, as: 'fpbRating'
|
1722
|
+
collection :fpb_rating_reasons, as: 'fpbRatingReasons'
|
1692
1723
|
property :fsk_rating, as: 'fskRating'
|
1693
1724
|
property :grfilm_rating, as: 'grfilmRating'
|
1694
1725
|
property :icaa_rating, as: 'icaaRating'
|
@@ -2202,6 +2233,14 @@ module Google
|
|
2202
2233
|
|
2203
2234
|
property :message_retracted_details, as: 'messageRetractedDetails', class: Google::Apis::YoutubeV3::LiveChatMessageRetractedDetails, decorator: Google::Apis::YoutubeV3::LiveChatMessageRetractedDetails::Representation
|
2204
2235
|
|
2236
|
+
property :poll_closed_details, as: 'pollClosedDetails', class: Google::Apis::YoutubeV3::LiveChatPollClosedDetails, decorator: Google::Apis::YoutubeV3::LiveChatPollClosedDetails::Representation
|
2237
|
+
|
2238
|
+
property :poll_edited_details, as: 'pollEditedDetails', class: Google::Apis::YoutubeV3::LiveChatPollEditedDetails, decorator: Google::Apis::YoutubeV3::LiveChatPollEditedDetails::Representation
|
2239
|
+
|
2240
|
+
property :poll_opened_details, as: 'pollOpenedDetails', class: Google::Apis::YoutubeV3::LiveChatPollOpenedDetails, decorator: Google::Apis::YoutubeV3::LiveChatPollOpenedDetails::Representation
|
2241
|
+
|
2242
|
+
property :poll_voted_details, as: 'pollVotedDetails', class: Google::Apis::YoutubeV3::LiveChatPollVotedDetails, decorator: Google::Apis::YoutubeV3::LiveChatPollVotedDetails::Representation
|
2243
|
+
|
2205
2244
|
property :published_at, as: 'publishedAt', type: DateTime
|
2206
2245
|
|
2207
2246
|
property :text_message_details, as: 'textMessageDetails', class: Google::Apis::YoutubeV3::LiveChatTextMessageDetails, decorator: Google::Apis::YoutubeV3::LiveChatTextMessageDetails::Representation
|
@@ -2250,6 +2289,49 @@ module Google
|
|
2250
2289
|
end
|
2251
2290
|
end
|
2252
2291
|
|
2292
|
+
class LiveChatPollClosedDetails
|
2293
|
+
# @private
|
2294
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
2295
|
+
property :poll_id, as: 'pollId'
|
2296
|
+
end
|
2297
|
+
end
|
2298
|
+
|
2299
|
+
class LiveChatPollEditedDetails
|
2300
|
+
# @private
|
2301
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
2302
|
+
property :id, as: 'id'
|
2303
|
+
collection :items, as: 'items', class: Google::Apis::YoutubeV3::LiveChatPollItem, decorator: Google::Apis::YoutubeV3::LiveChatPollItem::Representation
|
2304
|
+
|
2305
|
+
property :prompt, as: 'prompt'
|
2306
|
+
end
|
2307
|
+
end
|
2308
|
+
|
2309
|
+
class LiveChatPollItem
|
2310
|
+
# @private
|
2311
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
2312
|
+
property :description, as: 'description'
|
2313
|
+
property :item_id, as: 'itemId'
|
2314
|
+
end
|
2315
|
+
end
|
2316
|
+
|
2317
|
+
class LiveChatPollOpenedDetails
|
2318
|
+
# @private
|
2319
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
2320
|
+
property :id, as: 'id'
|
2321
|
+
collection :items, as: 'items', class: Google::Apis::YoutubeV3::LiveChatPollItem, decorator: Google::Apis::YoutubeV3::LiveChatPollItem::Representation
|
2322
|
+
|
2323
|
+
property :prompt, as: 'prompt'
|
2324
|
+
end
|
2325
|
+
end
|
2326
|
+
|
2327
|
+
class LiveChatPollVotedDetails
|
2328
|
+
# @private
|
2329
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
2330
|
+
property :item_id, as: 'itemId'
|
2331
|
+
property :poll_id, as: 'pollId'
|
2332
|
+
end
|
2333
|
+
end
|
2334
|
+
|
2253
2335
|
class LiveChatTextMessageDetails
|
2254
2336
|
# @private
|
2255
2337
|
class Representation < Google::Apis::Core::JsonRepresentation
|
@@ -3622,9 +3622,12 @@ module Google
|
|
3622
3622
|
# @param [Boolean] mine
|
3623
3623
|
# Set this parameter's value to true to retrieve a feed of the authenticated
|
3624
3624
|
# user's subscriptions.
|
3625
|
+
# @param [Boolean] my_recent_subscribers
|
3626
|
+
# Set this parameter's value to true to retrieve a feed of the subscribers of
|
3627
|
+
# the authenticated user in reverse chronological order (newest first).
|
3625
3628
|
# @param [Boolean] my_subscribers
|
3626
3629
|
# Set this parameter's value to true to retrieve a feed of the subscribers of
|
3627
|
-
# the authenticated user.
|
3630
|
+
# the authenticated user in no particular order.
|
3628
3631
|
# @param [String] on_behalf_of_content_owner
|
3629
3632
|
# Note: This parameter is intended exclusively for YouTube content partners.
|
3630
3633
|
# The onBehalfOfContentOwner parameter indicates that the request's
|
@@ -3679,7 +3682,7 @@ module Google
|
|
3679
3682
|
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
3680
3683
|
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
3681
3684
|
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
3682
|
-
def list_subscriptions(part, channel_id: nil, for_channel_id: nil, id: nil, max_results: nil, mine: nil, my_subscribers: nil, on_behalf_of_content_owner: nil, on_behalf_of_content_owner_channel: nil, order: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
|
3685
|
+
def list_subscriptions(part, channel_id: nil, for_channel_id: nil, id: nil, max_results: nil, mine: nil, my_recent_subscribers: nil, my_subscribers: nil, on_behalf_of_content_owner: nil, on_behalf_of_content_owner_channel: nil, order: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
|
3683
3686
|
command = make_simple_command(:get, 'subscriptions', options)
|
3684
3687
|
command.response_representation = Google::Apis::YoutubeV3::ListSubscriptionResponse::Representation
|
3685
3688
|
command.response_class = Google::Apis::YoutubeV3::ListSubscriptionResponse
|
@@ -3688,6 +3691,7 @@ module Google
|
|
3688
3691
|
command.query['id'] = id unless id.nil?
|
3689
3692
|
command.query['maxResults'] = max_results unless max_results.nil?
|
3690
3693
|
command.query['mine'] = mine unless mine.nil?
|
3694
|
+
command.query['myRecentSubscribers'] = my_recent_subscribers unless my_recent_subscribers.nil?
|
3691
3695
|
command.query['mySubscribers'] = my_subscribers unless my_subscribers.nil?
|
3692
3696
|
command.query['onBehalfOfContentOwner'] = on_behalf_of_content_owner unless on_behalf_of_content_owner.nil?
|
3693
3697
|
command.query['onBehalfOfContentOwnerChannel'] = on_behalf_of_content_owner_channel unless on_behalf_of_content_owner_channel.nil?
|
@@ -26,7 +26,7 @@ module Google
|
|
26
26
|
# @see https://developers.google.com/youtube/reporting/v1/reports/
|
27
27
|
module YoutubereportingV1
|
28
28
|
VERSION = 'V1'
|
29
|
-
REVISION = '
|
29
|
+
REVISION = '20160719'
|
30
30
|
|
31
31
|
# View monetary and non-monetary YouTube Analytics reports for your YouTube content
|
32
32
|
AUTH_YT_ANALYTICS_MONETARY_READONLY = 'https://www.googleapis.com/auth/yt-analytics-monetary.readonly'
|
data/google-api-client.gemspec
CHANGED
@@ -26,7 +26,8 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.add_runtime_dependency 'mime-types', '>= 1.6'
|
27
27
|
spec.add_runtime_dependency 'hurley', '~> 0.1'
|
28
28
|
spec.add_runtime_dependency 'googleauth', '~> 0.5'
|
29
|
-
spec.add_runtime_dependency 'thor', '~> 0.19'
|
30
29
|
spec.add_runtime_dependency 'httpclient', '~> 2.7'
|
31
30
|
spec.add_runtime_dependency 'memoist', '~> 0.11'
|
31
|
+
|
32
|
+
spec.add_development_dependency 'thor', '~> 0.19'
|
32
33
|
end
|
@@ -63,10 +63,16 @@ module Google
|
|
63
63
|
item_count = 0
|
64
64
|
loop do
|
65
65
|
@last_result = @fetch_proc.call(page_token)
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
66
|
+
items = @last_result.send(@items_field)
|
67
|
+
if items.kind_of?(Array)
|
68
|
+
for item in items
|
69
|
+
item_count = item_count + 1
|
70
|
+
break if @max && item_count > @max
|
71
|
+
yield item
|
72
|
+
end
|
73
|
+
elsif items
|
74
|
+
# yield singular non-nil items (for genomics API)
|
75
|
+
yield items
|
70
76
|
end
|
71
77
|
break if @max && item_count >= @max
|
72
78
|
break if @last_result.next_page_token.nil? || @last_result.next_page_token == page_token
|
@@ -23,6 +23,7 @@ module Google
|
|
23
23
|
# Streaming/resumable media download support
|
24
24
|
class DownloadCommand < ApiCommand
|
25
25
|
RANGE_HEADER = 'range'
|
26
|
+
OK_STATUS = [200, 201, 206]
|
26
27
|
|
27
28
|
# File or IO to write content to
|
28
29
|
# @return [String, File, #write]
|
@@ -65,7 +66,7 @@ module Google
|
|
65
66
|
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
66
67
|
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
67
68
|
def execute_once(client, &block)
|
68
|
-
client.get(@download_url || url) do |req|
|
69
|
+
response = client.get(@download_url || url) do |req|
|
69
70
|
apply_request_options(req)
|
70
71
|
check_if_rewind_needed = false
|
71
72
|
if @offset > 0
|
@@ -73,7 +74,7 @@ module Google
|
|
73
74
|
req.header[RANGE_HEADER] = sprintf('bytes=%d-', @offset)
|
74
75
|
check_if_rewind_needed = true
|
75
76
|
end
|
76
|
-
req.on_body(
|
77
|
+
req.on_body(*OK_STATUS) do |res, chunk|
|
77
78
|
check_status(res.status_code, chunk) unless res.status_code.nil?
|
78
79
|
if check_if_rewind_needed && res.status_code != 206
|
79
80
|
# Oh no! Requested a chunk, but received the entire content
|
@@ -88,6 +89,10 @@ module Google
|
|
88
89
|
@download_io.flush
|
89
90
|
end
|
90
91
|
end
|
92
|
+
|
93
|
+
# Since the on_body block only runs on success, check status again just in case it failed
|
94
|
+
check_status(response.status_code, response.body) unless OK_STATUS.include?(response.status_code.to_i)
|
95
|
+
|
91
96
|
if @close_io_on_finish
|
92
97
|
result = nil
|
93
98
|
else
|
@@ -146,7 +146,7 @@ module Google
|
|
146
146
|
self.url = url.expand(params) if url.is_a?(Addressable::Template)
|
147
147
|
url.query_values = query.merge(url.query_values || {})
|
148
148
|
|
149
|
-
if
|
149
|
+
if allow_form_encoding?
|
150
150
|
@form_encoded = true
|
151
151
|
self.body = Addressable::URI.form_encode(url.query_values(Array))
|
152
152
|
self.header['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'
|
@@ -306,6 +306,10 @@ module Google
|
|
306
306
|
req.options.open_timeout = options.open_timeout_sec
|
307
307
|
end
|
308
308
|
|
309
|
+
def allow_form_encoding?
|
310
|
+
[:post, :put].include?(method) && body.nil?
|
311
|
+
end
|
312
|
+
|
309
313
|
private
|
310
314
|
|
311
315
|
def form_encoded?
|
@@ -17,8 +17,14 @@ require 'google/apis/core/http_command'
|
|
17
17
|
require 'google/apis/core/api_command'
|
18
18
|
require 'google/apis/errors'
|
19
19
|
require 'addressable/uri'
|
20
|
-
require 'mime-types'
|
21
20
|
require 'tempfile'
|
21
|
+
begin
|
22
|
+
require 'mime/types/columnar'
|
23
|
+
rescue LoadError
|
24
|
+
# Temporary until next major bump when we can tighten
|
25
|
+
# dependency to mime-types >-=3.0
|
26
|
+
require 'mime-types'
|
27
|
+
end
|
22
28
|
|
23
29
|
module Google
|
24
30
|
module Apis
|
data/lib/google/apis/errors.rb
CHANGED
@@ -19,7 +19,7 @@ module Google
|
|
19
19
|
attr_reader :status_code
|
20
20
|
attr_reader :header
|
21
21
|
attr_reader :body
|
22
|
-
|
22
|
+
|
23
23
|
def initialize(err, status_code: nil, header: nil, body: nil)
|
24
24
|
@cause = nil
|
25
25
|
|
@@ -42,7 +42,7 @@ module Google
|
|
42
42
|
end
|
43
43
|
end
|
44
44
|
end
|
45
|
-
|
45
|
+
|
46
46
|
# An error which is raised when there is an unexpected response or other
|
47
47
|
# transport error that prevents an operation from succeeding.
|
48
48
|
class TransmissionError < Error
|
@@ -25,12 +25,18 @@ require 'addressable/uri'
|
|
25
25
|
|
26
26
|
module Google
|
27
27
|
module Apis
|
28
|
+
|
28
29
|
# @private
|
29
30
|
class Generator
|
31
|
+
|
30
32
|
# Helper for picking names for methods, properties, types, etc. Performs various normaliations
|
31
33
|
# as well as allows for overriding individual names from a configuration file for cases
|
32
34
|
# where algorithmic approaches produce poor APIs.
|
33
35
|
class Names
|
36
|
+
ActiveSupport::Inflector.inflections do |inflections|
|
37
|
+
u = inflections.uncountable('send_as', 'as')
|
38
|
+
end
|
39
|
+
|
34
40
|
include Google::Apis::Core::Logging
|
35
41
|
include NameHelpers
|
36
42
|
|
data/lib/google/apis/version.rb
CHANGED
@@ -0,0 +1,101 @@
|
|
1
|
+
# Copyright 2016 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/bigquery_v2'
|
16
|
+
require 'base_cli'
|
17
|
+
|
18
|
+
|
19
|
+
module Samples
|
20
|
+
# Examples for the Google BigQuery API
|
21
|
+
#
|
22
|
+
# Sample usage:
|
23
|
+
#
|
24
|
+
# $ ./google-api-samples bigquery list_datasets --project_id=publicdata
|
25
|
+
# $ ./google-api-samples bigquery list_tables --project_id=publicdata --dataset_id=samples
|
26
|
+
# $ ./google-api-samples bigquery list_table_data --project_id=publicdata --dataset_id=samples --table_id=wikipedia --max_results=10
|
27
|
+
class Bigquery < BaseCli
|
28
|
+
Bigquery = Google::Apis::BigqueryV2
|
29
|
+
|
30
|
+
desc 'list datasets', 'List datasets'
|
31
|
+
method_option :project_id, type: :string
|
32
|
+
def list_datasets
|
33
|
+
bigquery = Bigquery::BigqueryService.new
|
34
|
+
bigquery.authorization = user_credentials_for(Bigquery::AUTH_BIGQUERY)
|
35
|
+
|
36
|
+
begin
|
37
|
+
project_id = options[:project_id] || 'publicdata'
|
38
|
+
result = bigquery.list_datasets(project_id)
|
39
|
+
data = []
|
40
|
+
data << ['id','kind']
|
41
|
+
result.datasets.each do |dataset|
|
42
|
+
data << [
|
43
|
+
dataset.id,
|
44
|
+
dataset.kind,
|
45
|
+
]
|
46
|
+
end
|
47
|
+
print_table(data)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
desc 'list tables', 'List tables'
|
52
|
+
method_option :project_id, type: :string
|
53
|
+
method_option :dataset_id, type: :string
|
54
|
+
def list_tables
|
55
|
+
bigquery = Bigquery::BigqueryService.new
|
56
|
+
bigquery.authorization = user_credentials_for(Bigquery::AUTH_BIGQUERY)
|
57
|
+
|
58
|
+
begin
|
59
|
+
project_id = options[:project_id] || 'publicdata'
|
60
|
+
dataset_id = options[:dataset_id] || 'samples'
|
61
|
+
result = bigquery.list_tables(project_id, dataset_id)
|
62
|
+
data = []
|
63
|
+
data << ['id','kind']
|
64
|
+
result.tables.each do |table|
|
65
|
+
data << [
|
66
|
+
table.id,
|
67
|
+
table.kind,
|
68
|
+
]
|
69
|
+
end
|
70
|
+
print_table(data)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
desc 'list table data', 'List table data'
|
75
|
+
method_option :project_id, type: :string
|
76
|
+
method_option :dataset_id, type: :string
|
77
|
+
method_option :table_id, type: :string
|
78
|
+
def list_table_data
|
79
|
+
bigquery = Bigquery::BigqueryService.new
|
80
|
+
bigquery.authorization = user_credentials_for(Bigquery::AUTH_BIGQUERY)
|
81
|
+
|
82
|
+
begin
|
83
|
+
project_id = options[:project_id] || 'publicdata'
|
84
|
+
dataset_id = options[:dataset_id] || 'samples'
|
85
|
+
table_id = options[:table_id] || 'wikipedia'
|
86
|
+
max_results = options[:max_results] || 10
|
87
|
+
result = bigquery.list_table_data(project_id, dataset_id, table_id, max_results: max_results)
|
88
|
+
|
89
|
+
datas = []
|
90
|
+
result.rows.each do |row|
|
91
|
+
data = []
|
92
|
+
row.f.each do |field|
|
93
|
+
data << field.v
|
94
|
+
end
|
95
|
+
datas << data
|
96
|
+
end
|
97
|
+
print_table(datas)
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# Copyright 2016 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/sheets_v4'
|
16
|
+
require 'base_cli'
|
17
|
+
|
18
|
+
|
19
|
+
module Samples
|
20
|
+
# Examples for the Google Sheets API
|
21
|
+
#
|
22
|
+
# Sample usage:
|
23
|
+
#
|
24
|
+
# $ ./google-api-samples sheets get_values --spreadsheet_key='1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms' --range='Class Data!A1:F'
|
25
|
+
#
|
26
|
+
# Student Name Gender Class Level Home State Major Extracurricular Activity
|
27
|
+
# Alexandra Female 4. Senior CA English Drama Club
|
28
|
+
# Andrew Male 1. Freshman SD Math Lacrosse
|
29
|
+
# Anna Female 1. Freshman NC English Basketball
|
30
|
+
# Becky Female 2. Sophomore SD Art Baseball
|
31
|
+
# Benjamin Male 4. Senior WI English Basketball
|
32
|
+
# Carl Male 3. Junior MD Art Debate
|
33
|
+
# Carrie Female 3. Junior NE English Track & Field
|
34
|
+
# Dorothy Female 4. Senior MD Math Lacrosse
|
35
|
+
# Dylan Male 1. Freshman MA Math Baseball
|
36
|
+
# Edward Male 3. Junior FL English Drama Club
|
37
|
+
# Ellen Female 1. Freshman WI Physics Drama Club
|
38
|
+
# Fiona Female 1. Freshman MA Art Debate
|
39
|
+
# John Male 3. Junior CA Physics Basketball
|
40
|
+
# Jonathan Male 2. Sophomore SC Math Debate
|
41
|
+
class Sheets < BaseCli
|
42
|
+
Sheets = Google::Apis::SheetsV4
|
43
|
+
|
44
|
+
desc 'get_values', 'Get values from Google Spreadseets '
|
45
|
+
method_option :spreadsheet_key, type: :string, required: true
|
46
|
+
method_option :range, type: :string, required: true
|
47
|
+
def get_values
|
48
|
+
sheets = Sheets::SheetsService.new
|
49
|
+
sheets.authorization = user_credentials_for(Sheets::AUTH_SPREADSHEETS_READONLY)
|
50
|
+
result = sheets.get_spreadsheet_values(options[:spreadsheet_key], options[:range])
|
51
|
+
data = []
|
52
|
+
rows = result.values.length
|
53
|
+
rows.times.each do |row|
|
54
|
+
data.push(result.values[row])
|
55
|
+
end
|
56
|
+
print_table(data)
|
57
|
+
end
|
58
|
+
|
59
|
+
default_task :get_values
|
60
|
+
end
|
61
|
+
end
|