google-api-client 0.9.8 → 0.9.15
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 +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
|