google-api-client 0.8.6 → 0.9.3
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/.gitignore +20 -0
- data/.rspec +2 -0
- data/.rubocop.yml +7 -0
- data/.rubocop_todo.yml +63 -0
- data/.travis.yml +23 -0
- data/.yardopts +12 -0
- data/CHANGELOG.md +58 -2
- data/CONTRIBUTING.md +31 -0
- data/Gemfile +38 -2
- data/MIGRATING.md +171 -0
- data/README.md +189 -147
- data/Rakefile +1 -40
- data/api_names.yaml +1088 -0
- data/api_names_out.yaml +26978 -0
- data/bin/generate-api +109 -0
- data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1335 -0
- data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +446 -0
- data/generated/google/apis/adexchangebuyer_v1_3/service.rb +872 -0
- data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
- data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +3025 -0
- data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +1240 -0
- data/generated/google/apis/adexchangebuyer_v1_4/service.rb +1446 -0
- data/generated/google/apis/adexchangebuyer_v1_4.rb +35 -0
- data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
- data/generated/google/apis/adexchangeseller_v2_0/representations.rb +347 -0
- data/generated/google/apis/adexchangeseller_v2_0/service.rb +668 -0
- data/generated/google/apis/adexchangeseller_v2_0.rb +38 -0
- data/generated/google/apis/admin_datatransfer_v1/classes.rb +267 -0
- data/generated/google/apis/admin_datatransfer_v1/representations.rb +130 -0
- data/generated/google/apis/admin_datatransfer_v1/service.rb +262 -0
- data/generated/google/apis/admin_datatransfer_v1.rb +37 -0
- data/generated/google/apis/admin_directory_v1/classes.rb +3141 -0
- data/generated/google/apis/admin_directory_v1/representations.rb +1147 -0
- data/generated/google/apis/admin_directory_v1/service.rb +3818 -0
- data/generated/google/apis/admin_directory_v1.rb +113 -0
- data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
- data/generated/google/apis/admin_reports_v1/representations.rb +257 -0
- data/generated/google/apis/admin_reports_v1/service.rb +336 -0
- data/generated/google/apis/admin_reports_v1.rb +38 -0
- data/generated/google/apis/adsense_v1_4/classes.rb +1280 -0
- data/generated/google/apis/adsense_v1_4/representations.rb +555 -0
- data/generated/google/apis/adsense_v1_4/service.rb +1714 -0
- data/generated/google/apis/adsense_v1_4.rb +38 -0
- data/generated/google/apis/adsensehost_v4_1/classes.rb +837 -0
- data/generated/google/apis/adsensehost_v4_1/representations.rb +367 -0
- data/generated/google/apis/adsensehost_v4_1/service.rb +1164 -0
- data/generated/google/apis/adsensehost_v4_1.rb +35 -0
- data/generated/google/apis/analytics_v3/classes.rb +5118 -0
- data/generated/google/apis/analytics_v3/representations.rb +1850 -0
- data/generated/google/apis/analytics_v3/service.rb +3568 -0
- data/generated/google/apis/analytics_v3.rb +49 -0
- data/generated/google/apis/androidenterprise_v1/classes.rb +1443 -0
- data/generated/google/apis/androidenterprise_v1/representations.rb +614 -0
- data/generated/google/apis/androidenterprise_v1/service.rb +2607 -0
- data/generated/google/apis/androidenterprise_v1.rb +35 -0
- data/generated/google/apis/androidpublisher_v2/classes.rb +1411 -0
- data/generated/google/apis/androidpublisher_v2/representations.rb +738 -0
- data/generated/google/apis/androidpublisher_v2/service.rb +2338 -0
- data/generated/google/apis/androidpublisher_v2.rb +34 -0
- data/generated/google/apis/appengine_v1beta4/classes.rb +1585 -0
- data/generated/google/apis/appengine_v1beta4/representations.rb +542 -0
- data/generated/google/apis/appengine_v1beta4/service.rb +477 -0
- data/generated/google/apis/appengine_v1beta4.rb +35 -0
- data/generated/google/apis/appengine_v1beta5/classes.rb +1544 -0
- data/generated/google/apis/appengine_v1beta5/representations.rb +594 -0
- data/generated/google/apis/appengine_v1beta5/service.rb +521 -0
- data/generated/google/apis/appengine_v1beta5.rb +35 -0
- data/generated/google/apis/appsactivity_v1/classes.rb +392 -0
- data/generated/google/apis/appsactivity_v1/representations.rb +206 -0
- data/generated/google/apis/appsactivity_v1/service.rb +128 -0
- data/generated/google/apis/appsactivity_v1.rb +46 -0
- data/generated/google/apis/appstate_v1/classes.rb +154 -0
- data/generated/google/apis/appstate_v1/representations.rb +87 -0
- data/generated/google/apis/appstate_v1/service.rb +260 -0
- data/generated/google/apis/appstate_v1.rb +34 -0
- data/generated/google/apis/autoscaler_v1beta2/classes.rb +747 -0
- data/generated/google/apis/autoscaler_v1beta2/representations.rb +313 -0
- data/generated/google/apis/autoscaler_v1beta2/service.rb +478 -0
- data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
- data/generated/google/apis/bigquery_v2/classes.rb +2503 -0
- data/generated/google/apis/bigquery_v2/representations.rb +914 -0
- data/generated/google/apis/bigquery_v2/service.rb +982 -0
- data/generated/google/apis/bigquery_v2.rb +52 -0
- data/generated/google/apis/blogger_v3/classes.rb +1354 -0
- data/generated/google/apis/blogger_v3/representations.rb +632 -0
- data/generated/google/apis/blogger_v3/service.rb +1587 -0
- data/generated/google/apis/blogger_v3.rb +37 -0
- data/generated/google/apis/books_v1/classes.rb +4006 -0
- data/generated/google/apis/books_v1/representations.rb +1742 -0
- data/generated/google/apis/books_v1/service.rb +2293 -0
- data/generated/google/apis/books_v1.rb +34 -0
- data/generated/google/apis/calendar_v3/classes.rb +1742 -0
- data/generated/google/apis/calendar_v3/representations.rb +631 -0
- data/generated/google/apis/calendar_v3/service.rb +1968 -0
- data/generated/google/apis/calendar_v3.rb +37 -0
- data/generated/google/apis/civicinfo_v2/classes.rb +1127 -0
- data/generated/google/apis/civicinfo_v2/representations.rb +423 -0
- data/generated/google/apis/civicinfo_v2/service.rb +279 -0
- data/generated/google/apis/civicinfo_v2.rb +31 -0
- data/generated/google/apis/classroom_v1/classes.rb +512 -0
- data/generated/google/apis/classroom_v1/representations.rb +245 -0
- data/generated/google/apis/classroom_v1/service.rb +970 -0
- data/generated/google/apis/classroom_v1.rb +49 -0
- data/generated/google/apis/classroom_v1beta1/classes.rb +447 -0
- data/generated/google/apis/classroom_v1beta1/representations.rb +190 -0
- data/generated/google/apis/classroom_v1beta1/service.rb +791 -0
- data/generated/google/apis/classroom_v1beta1.rb +49 -0
- data/generated/google/apis/cloudbilling_v1/classes.rb +169 -0
- data/generated/google/apis/cloudbilling_v1/representations.rb +87 -0
- data/generated/google/apis/cloudbilling_v1/service.rb +258 -0
- data/generated/google/apis/cloudbilling_v1.rb +35 -0
- data/generated/google/apis/cloudbuild_v1/classes.rb +521 -0
- data/generated/google/apis/cloudbuild_v1/representations.rb +214 -0
- data/generated/google/apis/cloudbuild_v1/service.rb +278 -0
- data/generated/google/apis/cloudbuild_v1.rb +35 -0
- data/generated/google/apis/clouddebugger_v2/classes.rb +1004 -0
- data/generated/google/apis/clouddebugger_v2/representations.rb +464 -0
- data/generated/google/apis/clouddebugger_v2/service.rb +370 -0
- data/generated/google/apis/clouddebugger_v2.rb +41 -0
- data/generated/google/apis/cloudlatencytest_v2/classes.rb +195 -0
- data/generated/google/apis/cloudlatencytest_v2/representations.rb +127 -0
- data/generated/google/apis/cloudlatencytest_v2/service.rb +135 -0
- data/generated/google/apis/cloudlatencytest_v2.rb +34 -0
- data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
- data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +353 -0
- data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +452 -0
- data/generated/google/apis/cloudmonitoring_v2beta2.rb +37 -0
- data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +450 -0
- data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +226 -0
- data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +626 -0
- data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
- data/generated/google/apis/cloudtrace_v1/classes.rb +188 -0
- data/generated/google/apis/cloudtrace_v1/representations.rb +102 -0
- data/generated/google/apis/cloudtrace_v1/service.rb +190 -0
- data/generated/google/apis/cloudtrace_v1.rb +35 -0
- data/generated/google/apis/clouduseraccounts_beta/classes.rb +823 -0
- data/generated/google/apis/clouduseraccounts_beta/representations.rb +351 -0
- data/generated/google/apis/clouduseraccounts_beta/service.rb +854 -0
- data/generated/google/apis/clouduseraccounts_beta.rb +43 -0
- data/generated/google/apis/compute_beta/classes.rb +9741 -0
- data/generated/google/apis/compute_beta/representations.rb +3649 -0
- data/generated/google/apis/compute_beta/service.rb +10636 -0
- data/generated/google/apis/compute_beta.rb +49 -0
- data/generated/google/apis/compute_v1/classes.rb +9095 -0
- data/generated/google/apis/compute_v1/representations.rb +3389 -0
- data/generated/google/apis/compute_v1/service.rb +9627 -0
- data/generated/google/apis/compute_v1.rb +49 -0
- data/generated/google/apis/container_v1/classes.rb +463 -0
- data/generated/google/apis/container_v1/representations.rb +195 -0
- data/generated/google/apis/container_v1/service.rb +367 -0
- data/generated/google/apis/container_v1.rb +35 -0
- data/generated/google/apis/container_v1beta1/classes.rb +466 -0
- data/generated/google/apis/container_v1beta1/representations.rb +177 -0
- data/generated/google/apis/container_v1beta1/service.rb +394 -0
- data/generated/google/apis/container_v1beta1.rb +35 -0
- data/generated/google/apis/content_v2/classes.rb +6114 -0
- data/generated/google/apis/content_v2/representations.rb +2624 -0
- data/generated/google/apis/content_v2/service.rb +2338 -0
- data/generated/google/apis/content_v2.rb +35 -0
- data/generated/google/apis/coordinate_v1/classes.rb +669 -0
- data/generated/google/apis/coordinate_v1/representations.rb +321 -0
- data/generated/google/apis/coordinate_v1/service.rb +678 -0
- data/generated/google/apis/coordinate_v1.rb +37 -0
- data/generated/google/apis/customsearch_v1/classes.rb +771 -0
- data/generated/google/apis/customsearch_v1/representations.rb +302 -0
- data/generated/google/apis/customsearch_v1/service.rb +207 -0
- data/{lib/google/api_client/auth/compute_service_account.rb → generated/google/apis/customsearch_v1.rb} +13 -10
- data/generated/google/apis/dataproc_v1/classes.rb +1590 -0
- data/generated/google/apis/dataproc_v1/representations.rb +653 -0
- data/generated/google/apis/dataproc_v1/service.rb +719 -0
- data/generated/google/apis/dataproc_v1.rb +43 -0
- data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
- data/generated/google/apis/datastore_v1beta2/representations.rb +594 -0
- data/generated/google/apis/datastore_v1beta2/service.rb +294 -0
- data/generated/google/apis/datastore_v1beta2.rb +40 -0
- data/generated/google/apis/deploymentmanager_v2/classes.rb +1162 -0
- data/generated/google/apis/deploymentmanager_v2/representations.rb +508 -0
- data/generated/google/apis/deploymentmanager_v2/service.rb +862 -0
- data/generated/google/apis/deploymentmanager_v2.rb +44 -0
- data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +843 -0
- data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +306 -0
- data/generated/google/apis/deploymentmanager_v2beta2/service.rb +689 -0
- data/generated/google/apis/deploymentmanager_v2beta2.rb +44 -0
- data/generated/google/apis/dfareporting_v2_1/classes.rb +10770 -0
- data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
- data/generated/google/apis/dfareporting_v2_1/service.rb +8585 -0
- data/generated/google/apis/dfareporting_v2_1.rb +37 -0
- data/generated/google/apis/dfareporting_v2_3/classes.rb +10830 -0
- data/generated/google/apis/dfareporting_v2_3/representations.rb +3829 -0
- data/generated/google/apis/dfareporting_v2_3/service.rb +8581 -0
- data/generated/google/apis/dfareporting_v2_3.rb +37 -0
- data/generated/google/apis/discovery_v1/classes.rb +961 -0
- data/generated/google/apis/discovery_v1/representations.rb +397 -0
- data/generated/google/apis/discovery_v1/service.rb +142 -0
- data/generated/google/apis/discovery_v1.rb +32 -0
- data/generated/google/apis/dns_v1/classes.rb +406 -0
- data/generated/google/apis/dns_v1/representations.rb +167 -0
- data/generated/google/apis/dns_v1/service.rb +454 -0
- data/generated/google/apis/dns_v1.rb +44 -0
- data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +802 -0
- data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +371 -0
- data/generated/google/apis/doubleclickbidmanager_v1/service.rb +374 -0
- data/generated/google/apis/doubleclickbidmanager_v1.rb +31 -0
- data/generated/google/apis/doubleclicksearch_v2/classes.rb +958 -0
- data/generated/google/apis/doubleclicksearch_v2/representations.rb +350 -0
- data/generated/google/apis/doubleclicksearch_v2/service.rb +480 -0
- data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
- data/generated/google/apis/drive_v2/classes.rb +2569 -0
- data/generated/google/apis/drive_v2/representations.rb +878 -0
- data/generated/google/apis/drive_v2/service.rb +2740 -0
- data/generated/google/apis/drive_v2.rb +58 -0
- data/generated/google/apis/drive_v3/classes.rb +1541 -0
- data/generated/google/apis/drive_v3/representations.rb +548 -0
- data/generated/google/apis/drive_v3/service.rb +1542 -0
- data/generated/google/apis/drive_v3.rb +55 -0
- data/generated/google/apis/fitness_v1/classes.rb +885 -0
- data/generated/google/apis/fitness_v1/representations.rb +360 -0
- data/generated/google/apis/fitness_v1/service.rb +675 -0
- data/generated/google/apis/fitness_v1.rb +49 -0
- data/generated/google/apis/fusiontables_v2/classes.rb +1048 -0
- data/generated/google/apis/fusiontables_v2/representations.rb +457 -0
- data/generated/google/apis/fusiontables_v2/service.rb +1463 -0
- data/generated/google/apis/fusiontables_v2.rb +37 -0
- data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
- data/generated/google/apis/games_configuration_v1configuration/representations.rb +228 -0
- data/generated/google/apis/games_configuration_v1configuration/service.rb +565 -0
- data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
- data/generated/google/apis/games_management_v1management/classes.rb +533 -0
- data/generated/google/apis/games_management_v1management/representations.rb +262 -0
- data/generated/google/apis/games_management_v1management/service.rb +994 -0
- data/generated/google/apis/games_management_v1management.rb +37 -0
- data/generated/google/apis/games_v1/classes.rb +4626 -0
- data/generated/google/apis/games_v1/representations.rb +1783 -0
- data/generated/google/apis/games_v1/service.rb +2290 -0
- data/generated/google/apis/games_v1.rb +40 -0
- data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
- data/generated/google/apis/gan_v1beta1/representations.rb +462 -0
- data/generated/google/apis/gan_v1beta1/service.rb +682 -0
- data/generated/google/apis/gan_v1beta1.rb +31 -0
- data/generated/google/apis/genomics_v1/classes.rb +2609 -0
- data/generated/google/apis/genomics_v1/representations.rb +1029 -0
- data/generated/google/apis/genomics_v1/service.rb +1676 -0
- data/generated/google/apis/genomics_v1.rb +49 -0
- data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
- data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
- data/generated/google/apis/genomics_v1beta2/service.rb +2392 -0
- data/generated/google/apis/genomics_v1beta2.rb +46 -0
- data/generated/google/apis/gmail_v1/classes.rb +794 -0
- data/generated/google/apis/gmail_v1/representations.rb +383 -0
- data/generated/google/apis/gmail_v1/service.rb +1470 -0
- data/generated/google/apis/gmail_v1.rb +52 -0
- data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
- data/generated/google/apis/groupsmigration_v1/representations.rb +40 -0
- data/generated/google/apis/groupsmigration_v1/service.rb +110 -0
- data/generated/google/apis/groupsmigration_v1.rb +34 -0
- data/generated/google/apis/groupssettings_v1/classes.rb +221 -0
- data/generated/google/apis/groupssettings_v1/representations.rb +66 -0
- data/generated/google/apis/groupssettings_v1/service.rb +179 -0
- data/generated/google/apis/groupssettings_v1.rb +34 -0
- data/generated/google/apis/identitytoolkit_v3/classes.rb +1637 -0
- data/generated/google/apis/identitytoolkit_v3/representations.rb +618 -0
- data/generated/google/apis/identitytoolkit_v3/service.rb +616 -0
- data/generated/google/apis/identitytoolkit_v3.rb +31 -0
- data/generated/google/apis/kgsearch_v1/classes.rb +59 -0
- data/generated/google/apis/kgsearch_v1/representations.rb +41 -0
- data/generated/google/apis/kgsearch_v1/service.rb +111 -0
- data/{spec/google/api_client/request_spec.rb → generated/google/apis/kgsearch_v1.rb} +16 -13
- data/generated/google/apis/licensing_v1/classes.rb +132 -0
- data/generated/google/apis/licensing_v1/representations.rb +74 -0
- data/generated/google/apis/licensing_v1/service.rb +369 -0
- data/generated/google/apis/licensing_v1.rb +34 -0
- data/generated/google/apis/logging_v1beta3/classes.rb +1079 -0
- data/generated/google/apis/logging_v1beta3/representations.rb +366 -0
- data/generated/google/apis/logging_v1beta3/service.rb +1001 -0
- data/generated/google/apis/logging_v1beta3.rb +47 -0
- data/generated/google/apis/logging_v2beta1/classes.rb +990 -0
- data/generated/google/apis/logging_v2beta1/representations.rb +377 -0
- data/generated/google/apis/logging_v2beta1/service.rb +547 -0
- data/generated/google/apis/logging_v2beta1.rb +47 -0
- data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
- data/generated/google/apis/manager_v1beta2/representations.rb +606 -0
- data/generated/google/apis/manager_v1beta2/service.rb +372 -0
- data/generated/google/apis/manager_v1beta2.rb +53 -0
- data/generated/google/apis/mirror_v1/classes.rb +1072 -0
- data/generated/google/apis/mirror_v1/representations.rb +390 -0
- data/generated/google/apis/mirror_v1/service.rb +977 -0
- data/generated/google/apis/mirror_v1.rb +37 -0
- data/generated/google/apis/oauth2_v2/classes.rb +245 -0
- data/generated/google/apis/oauth2_v2/representations.rb +102 -0
- data/generated/google/apis/oauth2_v2/service.rb +199 -0
- data/generated/google/apis/oauth2_v2.rb +43 -0
- data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
- data/generated/google/apis/pagespeedonline_v2/representations.rb +272 -0
- data/generated/google/apis/pagespeedonline_v2/service.rb +119 -0
- data/generated/google/apis/pagespeedonline_v2.rb +32 -0
- data/generated/google/apis/partners_v2/classes.rb +942 -0
- data/generated/google/apis/partners_v2/representations.rb +454 -0
- data/generated/google/apis/partners_v2/service.rb +400 -0
- data/generated/google/apis/partners_v2.rb +32 -0
- data/generated/google/apis/people_v1/classes.rb +1521 -0
- data/generated/google/apis/people_v1/representations.rb +663 -0
- data/generated/google/apis/people_v1/service.rb +189 -0
- data/generated/google/apis/people_v1.rb +59 -0
- data/generated/google/apis/plus_domains_v1/classes.rb +2609 -0
- data/generated/google/apis/plus_domains_v1/representations.rb +1111 -0
- data/generated/google/apis/plus_domains_v1/service.rb +904 -0
- data/generated/google/apis/plus_domains_v1.rb +61 -0
- data/generated/google/apis/plus_v1/classes.rb +2094 -0
- data/generated/google/apis/plus_v1/representations.rb +907 -0
- data/generated/google/apis/plus_v1/service.rb +470 -0
- data/generated/google/apis/plus_v1.rb +43 -0
- data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
- data/generated/google/apis/prediction_v1_6/representations.rb +369 -0
- data/generated/google/apis/prediction_v1_6/service.rb +380 -0
- data/generated/google/apis/prediction_v1_6.rb +44 -0
- data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +639 -0
- data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +312 -0
- data/generated/google/apis/proximitybeacon_v1beta1/service.rb +591 -0
- data/generated/google/apis/proximitybeacon_v1beta1.rb +31 -0
- data/generated/google/apis/pubsub_v1/classes.rb +614 -0
- data/generated/google/apis/pubsub_v1/representations.rb +323 -0
- data/generated/google/apis/pubsub_v1/service.rb +774 -0
- data/generated/google/apis/pubsub_v1.rb +37 -0
- data/generated/google/apis/pubsub_v1beta2/classes.rb +620 -0
- data/generated/google/apis/pubsub_v1beta2/representations.rb +282 -0
- data/generated/google/apis/pubsub_v1beta2/service.rb +774 -0
- data/generated/google/apis/pubsub_v1beta2.rb +37 -0
- data/generated/google/apis/qpx_express_v1/classes.rb +1268 -0
- data/generated/google/apis/qpx_express_v1/representations.rb +472 -0
- data/generated/google/apis/qpx_express_v1/service.rb +100 -0
- data/generated/google/apis/qpx_express_v1.rb +31 -0
- data/generated/google/apis/replicapool_v1beta2/classes.rb +631 -0
- data/generated/google/apis/replicapool_v1beta2/representations.rb +264 -0
- data/generated/google/apis/replicapool_v1beta2/service.rb +608 -0
- data/generated/google/apis/replicapool_v1beta2.rb +44 -0
- data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +733 -0
- data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +294 -0
- data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +508 -0
- data/generated/google/apis/replicapoolupdater_v1beta1.rb +44 -0
- data/generated/google/apis/reseller_v1/classes.rb +526 -0
- data/generated/google/apis/reseller_v1/representations.rb +223 -0
- data/generated/google/apis/reseller_v1/service.rb +623 -0
- data/generated/google/apis/reseller_v1.rb +37 -0
- data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
- data/generated/google/apis/resourceviews_v1beta2/representations.rb +301 -0
- data/generated/google/apis/resourceviews_v1beta2/service.rb +563 -0
- data/generated/google/apis/resourceviews_v1beta2.rb +50 -0
- data/generated/google/apis/script_v1/classes.rb +259 -0
- data/generated/google/apis/script_v1/representations.rb +118 -0
- data/generated/google/apis/script_v1/service.rb +98 -0
- data/generated/google/apis/script_v1.rb +61 -0
- data/generated/google/apis/site_verification_v1/classes.rb +185 -0
- data/generated/google/apis/site_verification_v1/representations.rb +113 -0
- data/generated/google/apis/site_verification_v1/service.rb +315 -0
- data/generated/google/apis/site_verification_v1.rb +37 -0
- data/generated/google/apis/sqladmin_v1beta4/classes.rb +2030 -0
- data/generated/google/apis/sqladmin_v1beta4/representations.rb +856 -0
- data/generated/google/apis/sqladmin_v1beta4/service.rb +1625 -0
- data/generated/google/apis/sqladmin_v1beta4.rb +37 -0
- data/generated/google/apis/storage_v1/classes.rb +1222 -0
- data/generated/google/apis/storage_v1/representations.rb +497 -0
- data/generated/google/apis/storage_v1/service.rb +1903 -0
- data/generated/google/apis/storage_v1.rb +46 -0
- data/generated/google/apis/storagetransfer_v1/classes.rb +1046 -0
- data/generated/google/apis/storagetransfer_v1/representations.rb +418 -0
- data/generated/google/apis/storagetransfer_v1/service.rb +473 -0
- data/generated/google/apis/storagetransfer_v1.rb +35 -0
- data/generated/google/apis/tagmanager_v1/classes.rb +1494 -0
- data/generated/google/apis/tagmanager_v1/representations.rb +611 -0
- data/generated/google/apis/tagmanager_v1/service.rb +2119 -0
- data/generated/google/apis/tagmanager_v1.rb +52 -0
- data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
- data/generated/google/apis/taskqueue_v1beta2/representations.rb +126 -0
- data/generated/google/apis/taskqueue_v1beta2/service.rb +408 -0
- data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
- data/generated/google/apis/tasks_v1/classes.rb +296 -0
- data/generated/google/apis/tasks_v1/representations.rb +125 -0
- data/generated/google/apis/tasks_v1/service.rb +643 -0
- data/generated/google/apis/tasks_v1.rb +37 -0
- data/generated/google/apis/translate_v2/classes.rb +168 -0
- data/generated/google/apis/translate_v2/representations.rb +121 -0
- data/generated/google/apis/translate_v2/service.rb +182 -0
- data/generated/google/apis/translate_v2.rb +31 -0
- data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
- data/generated/google/apis/urlshortener_v1/representations.rb +121 -0
- data/generated/google/apis/urlshortener_v1/service.rb +176 -0
- data/generated/google/apis/urlshortener_v1.rb +34 -0
- data/generated/google/apis/vision_v1/classes.rb +1259 -0
- data/generated/google/apis/vision_v1/representations.rb +418 -0
- data/generated/google/apis/vision_v1/service.rb +91 -0
- data/generated/google/apis/vision_v1.rb +37 -0
- data/generated/google/apis/webmasters_v3/classes.rb +563 -0
- data/generated/google/apis/webmasters_v3/representations.rb +282 -0
- data/generated/google/apis/webmasters_v3/service.rb +573 -0
- data/generated/google/apis/webmasters_v3.rb +37 -0
- data/generated/google/apis/youtube_analytics_v1/classes.rb +546 -0
- data/generated/google/apis/youtube_analytics_v1/representations.rb +273 -0
- data/generated/google/apis/youtube_analytics_v1/service.rb +562 -0
- data/generated/google/apis/youtube_analytics_v1.rb +46 -0
- data/generated/google/apis/youtube_v3/classes.rb +8071 -0
- data/generated/google/apis/youtube_v3/representations.rb +3134 -0
- data/generated/google/apis/youtube_v3/service.rb +4403 -0
- data/generated/google/apis/youtube_v3.rb +49 -0
- data/generated/google/apis/youtubereporting_v1/classes.rb +258 -0
- data/generated/google/apis/youtubereporting_v1/representations.rb +144 -0
- data/generated/google/apis/youtubereporting_v1/service.rb +364 -0
- data/generated/google/apis/youtubereporting_v1.rb +38 -0
- data/google-api-client.gemspec +25 -39
- data/lib/google/api_client/auth/installed_app.rb +7 -5
- data/lib/google/api_client/auth/key_utils.rb +1 -0
- data/lib/google/api_client/auth/storage.rb +4 -2
- data/lib/google/api_client/auth/storages/file_store.rb +2 -3
- data/lib/google/api_client/auth/storages/redis_store.rb +7 -2
- data/lib/google/api_client/client_secrets.rb +7 -9
- data/lib/google/apis/core/api_command.rb +136 -0
- data/lib/google/apis/core/base_service.rb +317 -0
- data/lib/google/apis/core/batch.rb +239 -0
- data/lib/google/apis/core/download.rb +94 -0
- data/lib/google/apis/core/hashable.rb +44 -0
- data/lib/google/apis/core/http_client_adapter.rb +82 -0
- data/lib/google/apis/core/http_command.rb +328 -0
- data/lib/google/apis/core/json_representation.rb +145 -0
- data/lib/google/{api_client/version.rb → apis/core/logging.rb} +12 -8
- data/lib/google/apis/core/multipart.rb +187 -0
- data/lib/google/apis/core/upload.rb +289 -0
- data/lib/google/{api_client → apis}/errors.rb +39 -28
- data/lib/google/apis/generator/annotator.rb +295 -0
- data/lib/google/apis/generator/helpers.rb +74 -0
- data/lib/google/apis/generator/model.rb +143 -0
- data/lib/google/apis/generator/template.rb +124 -0
- data/lib/google/apis/generator/templates/_class.tmpl +40 -0
- data/lib/google/apis/generator/templates/_method.tmpl +92 -0
- data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
- data/lib/google/apis/generator/templates/_representation_stub.tmpl +17 -0
- data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
- data/lib/google/{api_client/reference.rb → apis/generator/templates/classes.rb.tmpl} +11 -9
- data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
- data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
- data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
- data/lib/google/apis/generator.rb +70 -0
- data/lib/google/apis/options.rb +85 -0
- data/lib/google/apis/version.rb +39 -0
- data/lib/google/apis.rb +48 -0
- data/rakelib/metrics.rake +22 -0
- data/rakelib/rubocop.rake +10 -0
- data/rakelib/spec.rake +11 -0
- data/rakelib/yard.rake +11 -0
- data/samples/cli/Gemfile +7 -0
- data/samples/cli/README.md +51 -0
- data/samples/cli/google-api-samples +32 -0
- data/samples/cli/lib/base_cli.rb +95 -0
- data/samples/cli/lib/samples/analytics.rb +62 -0
- data/samples/cli/lib/samples/androidpublisher.rb +47 -0
- data/samples/cli/lib/samples/calendar.rb +83 -0
- data/samples/cli/lib/samples/drive.rb +82 -0
- data/samples/cli/lib/samples/gmail.rb +50 -0
- data/samples/cli/lib/samples/pubsub.rb +114 -0
- data/samples/cli/lib/samples/translate.rb +44 -0
- data/samples/cli/lib/samples/you_tube.rb +44 -0
- data/samples/web/Gemfile +7 -0
- data/samples/web/README.md +44 -0
- data/samples/web/app.rb +120 -0
- data/samples/web/views/calendar.erb +34 -0
- data/{lib/google/api_client/service_account.rb → samples/web/views/drive.erb} +20 -8
- data/samples/web/views/home.erb +35 -0
- data/samples/web/views/layout.erb +40 -0
- data/script/generate +100 -0
- data/script/package +8 -0
- data/script/release +15 -0
- data/spec/fixtures/files/api_names.yaml +3 -0
- data/spec/fixtures/files/auth_stored_credentials.json +8 -0
- data/spec/fixtures/files/child/.gitignore +0 -0
- data/spec/fixtures/files/client_secrets.json +1 -0
- data/spec/fixtures/files/invalid.json +1 -0
- data/spec/fixtures/files/test.blah +1 -0
- data/spec/fixtures/files/test.txt +1 -0
- data/spec/fixtures/files/test_api.json +440 -0
- data/spec/google/api_client/auth/storage_spec.rb +1 -3
- data/spec/google/api_client/auth/storages/file_store_spec.rb +1 -2
- data/spec/google/api_client/auth/storages/redis_store_spec.rb +1 -3
- data/spec/google/api_client/client_secrets_spec.rb +338 -2
- data/spec/google/apis/core/api_command_spec.rb +209 -0
- data/spec/google/apis/core/batch_spec.rb +142 -0
- data/spec/google/apis/core/download_spec.rb +103 -0
- data/spec/google/apis/core/hashable_spec.rb +60 -0
- data/spec/google/apis/core/http_command_spec.rb +303 -0
- data/spec/google/apis/core/json_representation_spec.rb +199 -0
- data/spec/google/apis/core/service_spec.rb +247 -0
- data/spec/google/apis/core/upload_spec.rb +300 -0
- data/{lib/google/api_client/discovery.rb → spec/google/apis/generated_spec.rb} +13 -5
- data/spec/google/apis/generator/generator_spec.rb +324 -0
- data/spec/google/apis/logging_spec.rb +45 -0
- data/spec/google/apis/options_spec.rb +40 -0
- data/spec/integration_tests/adsense_spec.rb +29 -0
- data/spec/integration_tests/drive_spec.rb +35 -0
- data/spec/integration_tests/pubsub_spec.rb +48 -0
- data/spec/integration_tests/url_shortener_spec.rb +45 -0
- data/spec/spec_helper/load_path_spec.rb +33 -0
- data/spec/spec_helper.rb +131 -44
- data/third_party/hurley_patches.rb +103 -0
- metadata +563 -188
- data/lib/compat/multi_json.rb +0 -19
- data/lib/google/api_client/auth/file_storage.rb +0 -59
- data/lib/google/api_client/auth/jwt_asserter.rb +0 -126
- data/lib/google/api_client/auth/pkcs12.rb +0 -41
- data/lib/google/api_client/batch.rb +0 -326
- data/lib/google/api_client/charset.rb +0 -33
- data/lib/google/api_client/discovery/api.rb +0 -310
- data/lib/google/api_client/discovery/media.rb +0 -77
- data/lib/google/api_client/discovery/method.rb +0 -363
- data/lib/google/api_client/discovery/resource.rb +0 -156
- data/lib/google/api_client/discovery/schema.rb +0 -117
- data/lib/google/api_client/environment.rb +0 -42
- data/lib/google/api_client/gzip.rb +0 -28
- data/lib/google/api_client/logging.rb +0 -32
- data/lib/google/api_client/media.rb +0 -259
- data/lib/google/api_client/railtie.rb +0 -18
- data/lib/google/api_client/request.rb +0 -350
- data/lib/google/api_client/result.rb +0 -255
- data/lib/google/api_client/service/batch.rb +0 -110
- data/lib/google/api_client/service/request.rb +0 -144
- data/lib/google/api_client/service/resource.rb +0 -40
- data/lib/google/api_client/service/result.rb +0 -162
- data/lib/google/api_client/service/simple_file_store.rb +0 -151
- data/lib/google/api_client/service/stub_generator.rb +0 -61
- data/lib/google/api_client/service.rb +0 -233
- data/lib/google/api_client.rb +0 -750
- data/spec/google/api_client/batch_spec.rb +0 -248
- data/spec/google/api_client/discovery_spec.rb +0 -708
- data/spec/google/api_client/gzip_spec.rb +0 -98
- data/spec/google/api_client/media_spec.rb +0 -178
- data/spec/google/api_client/result_spec.rb +0 -207
- data/spec/google/api_client/service_account_spec.rb +0 -169
- data/spec/google/api_client/service_spec.rb +0 -618
- data/spec/google/api_client/simple_file_store_spec.rb +0 -133
- data/spec/google/api_client_spec.rb +0 -352
data/README.md
CHANGED
|
@@ -1,218 +1,260 @@
|
|
|
1
1
|
# Google API Client
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
<dt>Homepage</dt><dd><a href="http://www.github.com/google/google-api-ruby-client">http://www.github.com/google/google-api-ruby-client</a></dd>
|
|
5
|
-
<dt>Authors</dt><dd>Bob Aman, <a href="mailto:sbazyl@google.com">Steven Bazyl</a></dd>
|
|
6
|
-
<dt>Copyright</dt><dd>Copyright © 2011 Google, Inc.</dd>
|
|
7
|
-
<dt>License</dt><dd>Apache 2.0</dd>
|
|
8
|
-
</dl>
|
|
3
|
+
## Alpha
|
|
9
4
|
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
This library is in Alpha. We will make an effort to support the library, but we reserve the right to make incompatible
|
|
6
|
+
changes when necessary.
|
|
12
7
|
|
|
13
|
-
##
|
|
8
|
+
## Migrating from 0.8.x
|
|
14
9
|
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
Version 0.9 is not compatible with previous versions. See [MIGRATING](MIGRATING.md) for additional details on how to
|
|
11
|
+
migrate to the latest version.
|
|
17
12
|
|
|
18
|
-
##
|
|
13
|
+
## Installation
|
|
19
14
|
|
|
20
|
-
|
|
15
|
+
Add this line to your application's Gemfile:
|
|
21
16
|
|
|
22
|
-
|
|
17
|
+
```ruby
|
|
18
|
+
gem 'google-api-client', '0.9'
|
|
23
19
|
|
|
24
|
-
|
|
20
|
+
```
|
|
25
21
|
|
|
26
|
-
|
|
22
|
+
And then execute:
|
|
27
23
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
$ bundle
|
|
25
|
+
|
|
26
|
+
Or install it yourself as:
|
|
27
|
+
|
|
28
|
+
$ gem install google-api-client
|
|
31
29
|
|
|
32
|
-
##
|
|
30
|
+
## Usage
|
|
31
|
+
|
|
32
|
+
### Basic usage
|
|
33
|
+
|
|
34
|
+
To use an API, include the corresponding generated file and instantiate the service. For example to use the Drive API:
|
|
33
35
|
|
|
34
36
|
```ruby
|
|
35
|
-
require 'google/
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
#
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
#
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
# Run installed application flow. Check the samples for a more
|
|
54
|
-
# complete example that saves the credentials between runs.
|
|
55
|
-
flow = Google::APIClient::InstalledAppFlow.new(
|
|
56
|
-
:client_id => client_secrets.client_id,
|
|
57
|
-
:client_secret => client_secrets.client_secret,
|
|
58
|
-
:scope => ['https://www.googleapis.com/auth/plus.me']
|
|
59
|
-
)
|
|
60
|
-
client.authorization = flow.authorize
|
|
61
|
-
|
|
62
|
-
# Make an API call.
|
|
63
|
-
result = client.execute(
|
|
64
|
-
:api_method => plus.activities.list,
|
|
65
|
-
:parameters => {'collection' => 'public', 'userId' => 'me'}
|
|
66
|
-
)
|
|
67
|
-
|
|
68
|
-
puts result.data
|
|
37
|
+
require 'google/apis/drive_v2'
|
|
38
|
+
|
|
39
|
+
Drive = Google::Apis::DriveV2 # Alias the module
|
|
40
|
+
drive = Drive::DriveService.new
|
|
41
|
+
drive.authorization = authorization # See Googleauth or Signet libraries
|
|
42
|
+
|
|
43
|
+
# Search for files in Drive (first page only)
|
|
44
|
+
files = drive.list_files(q: "title contains 'finances'")
|
|
45
|
+
files.items.each do |file|
|
|
46
|
+
puts file.title
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Upload a file
|
|
50
|
+
metadata = Drive::File.new(title: 'My document')
|
|
51
|
+
metadata = drive.insert_file(metadata, upload_source: 'test.txt', content_type: 'text/plain')
|
|
52
|
+
|
|
53
|
+
# Download a file
|
|
54
|
+
drive.get_file(metadata.id, download_dest: '/tmp/myfile.txt')
|
|
69
55
|
```
|
|
70
56
|
|
|
71
|
-
|
|
57
|
+
### Media
|
|
72
58
|
|
|
73
|
-
|
|
59
|
+
Methods that allow media operations have additional parameters to specify the upload source or download destination.
|
|
74
60
|
|
|
75
|
-
|
|
61
|
+
For uploads, the `upload_source` parameter can be specified with either a path to a file, an `IO` stream, or `StringIO`
|
|
62
|
+
instance.
|
|
63
|
+
|
|
64
|
+
For downloads, the `download_dest` parameter can also be either a path to a file, an `IO` stream, or `StringIO` instance.
|
|
65
|
+
|
|
66
|
+
Both uploads & downloads are resumable. If an error occurs during transmission the request will be automatically
|
|
67
|
+
retried from the last received byte.
|
|
68
|
+
|
|
69
|
+
### Errors & Retries
|
|
70
|
+
|
|
71
|
+
Retries are disabled by default, but enabling retries is strongly encouraged. The number of retries can be configured
|
|
72
|
+
via `Google::Apis::RequestOptions`. Any number greater than 0 will enable retries.
|
|
73
|
+
|
|
74
|
+
To enable retries for all services:
|
|
76
75
|
|
|
77
76
|
```ruby
|
|
78
|
-
|
|
77
|
+
Google::Apis::RequestOptions.default.retries = 5
|
|
79
78
|
```
|
|
80
79
|
|
|
81
|
-
|
|
80
|
+
With retries enabled globally, retries can be disabled for specific calls by including a retry value of 0 in the
|
|
81
|
+
request options:
|
|
82
82
|
|
|
83
83
|
```ruby
|
|
84
|
-
drive
|
|
84
|
+
drive.insert_file(metadata, upload_source: 'test.txt', content_type: 'text/plain', options: { retries: 0 })
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
-
|
|
87
|
+
When retries are enabled, if a server or rate limit error occurs during a request it is automatically retried with
|
|
88
|
+
an exponentially increasing delay on subsequent retries. If a request can not be retried or if the maximum number
|
|
89
|
+
of retries is exceeded, an exception is thrown.
|
|
88
90
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
91
|
+
### Callbacks
|
|
92
|
+
|
|
93
|
+
A block an be specified when making calls. If present, the block will be called with the result or error, rather than
|
|
94
|
+
returning the result from the call or raising the error. Example:
|
|
92
95
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
96
|
+
```ruby
|
|
97
|
+
# Search for files in Drive (first page only)
|
|
98
|
+
drive.list_files(q: "title contains 'finances'") do |res, err|
|
|
99
|
+
if err
|
|
100
|
+
# Handle error
|
|
101
|
+
else
|
|
102
|
+
# Handle response
|
|
103
|
+
end
|
|
104
|
+
end
|
|
97
105
|
```
|
|
98
106
|
|
|
99
|
-
|
|
107
|
+
This calling style is required when making batch requests as responses are not available until the entire batch
|
|
108
|
+
is complete.
|
|
109
|
+
|
|
110
|
+
### Batches
|
|
111
|
+
|
|
112
|
+
Multiple requests can be batched together into a single HTTP request to reduce overhead. Batched calls are executed
|
|
113
|
+
in parallel and the responses processed once all results are available
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
```ruby
|
|
117
|
+
# Fetch a bunch of files by ID
|
|
118
|
+
ids = ['file_id_1', 'file_id_2', 'file_id_3', 'file_id_4']
|
|
119
|
+
drive.batch do |drive|
|
|
120
|
+
ids.each do |id|
|
|
121
|
+
drive.get_file(id) do |res, err|
|
|
122
|
+
# Handle response
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
```
|
|
100
127
|
|
|
101
|
-
|
|
128
|
+
Media operations -- uploads & downloads -- can not be included in batch with other requests.
|
|
102
129
|
|
|
103
|
-
|
|
130
|
+
However, some APIs support batch uploads. To upload multiple files in a batch, use the `batch_upload` method instead.
|
|
131
|
+
Batch uploads should only be used when uploading multiple small files. For large files, upload files individually to
|
|
132
|
+
take advantage of the libraries built-in resumable upload support.
|
|
104
133
|
|
|
105
|
-
|
|
134
|
+
### Hashes
|
|
106
135
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
and it's being used on a Compute Engine VM, it will use the VM's default credentials.
|
|
136
|
+
While the API will always return instances of schema classes, plain hashes are accepted in method calls for
|
|
137
|
+
convenience. Hash keys must be symbols matching the attribute names on the corresponding object the hash is meant
|
|
138
|
+
to replace. For example:
|
|
111
139
|
|
|
112
140
|
```ruby
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
client.execute(...)
|
|
141
|
+
file = {id: '123', title: 'My document', labels: { starred: true }}
|
|
142
|
+
file = drive.create_file(file, {}) # Returns a Drive::File instance
|
|
116
143
|
```
|
|
117
144
|
|
|
118
|
-
|
|
145
|
+
is equivalent to:
|
|
119
146
|
|
|
120
147
|
```ruby
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
:audience => 'https://accounts.google.com/o/oauth2/token',
|
|
125
|
-
:scope => 'https://www.googleapis.com/auth/prediction',
|
|
126
|
-
:issuer => '123456-abcdef@developer.gserviceaccount.com',
|
|
127
|
-
:signing_key => key)
|
|
128
|
-
client.authorization.fetch_access_token!
|
|
129
|
-
client.execute(...)
|
|
148
|
+
file = Drive::File.new(id: '123', title: 'My document')
|
|
149
|
+
file.labels = Drive::File::Labels.new(starred: true)
|
|
150
|
+
file = drive.update_file(file) # Returns a Drive::File instance
|
|
130
151
|
```
|
|
131
152
|
|
|
132
|
-
|
|
133
|
-
in the credentials. Detailed instructions on how to enable delegation for your domain can be found at [developers.google.com](https://developers.google.com/drive/delegation).
|
|
153
|
+
IMPORTANT: Be careful when supplying hashes for request objects. If it is the last argument to a method, ruby will interpret the hash as keyword arguments. To prevent this, appending an empty hash as an extra parameter will avoid misinterpretation.
|
|
134
154
|
|
|
135
|
-
|
|
155
|
+
```ruby
|
|
156
|
+
file = {id: '123', title: 'My document', labels: { starred: true }}
|
|
157
|
+
file = drive.create_file(file) # Raises ArgumentError: unknown keywords: id, title, labels
|
|
158
|
+
file = drive.create_file(file, {}) # Returns a Drive::File instance
|
|
159
|
+
```
|
|
136
160
|
|
|
137
|
-
The API client can automatically retry requests for recoverable errors. To enable retries, set the `client.retries` property to
|
|
138
|
-
the number of additional attempts. To avoid flooding servers, retries invovle a 1 second delay that increases on each subsequent retry.
|
|
139
|
-
In the case of authentication token expiry, the API client will attempt to refresh the token and retry the failed operation - this
|
|
140
|
-
is a specific exception to the retry rules.
|
|
141
161
|
|
|
142
|
-
|
|
162
|
+
## Authorization
|
|
143
163
|
|
|
144
|
-
|
|
164
|
+
[OAuth 2](https://developers.google.com/accounts/docs/OAuth2) is used to authorize applications. This library uses
|
|
165
|
+
both [Signet](https://github.com/google/signet) and
|
|
166
|
+
[Google Auth Library for Ruby](https://github.com/google/google-auth-library-ruby) for OAuth 2 support.
|
|
145
167
|
|
|
146
|
-
|
|
147
|
-
to
|
|
168
|
+
The [Google Auth Library for Ruby](https://github.com/google/google-auth-library-ruby) provides an implementation of
|
|
169
|
+
[application default credentials] for Ruby. It offers a simple way to get authorization credentials for use in
|
|
170
|
+
calling Google APIs, best suited for cases when the call needs to have the same identity
|
|
171
|
+
and authorization level for the application independent of the user. This is
|
|
172
|
+
the recommended approach to authorize calls to Cloud APIs, particularly when
|
|
173
|
+
you're building an application that uses Google Compute Engine.
|
|
148
174
|
|
|
149
|
-
|
|
175
|
+
For per-user authorization, use [Signet](https://github.com/google/signet) to obtain user authorization.
|
|
150
176
|
|
|
151
|
-
|
|
152
|
-
client = Google::APIClient.new
|
|
153
|
-
urlshortener = client.discovered_api('urlshortener')
|
|
177
|
+
### Passing authorization to requests
|
|
154
178
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
179
|
+
Authorization can be specified for the entire client, for an individual service instance, or on a per-request basis.
|
|
180
|
+
|
|
181
|
+
Set authorization for all service:
|
|
158
182
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
:body_object => { 'longUrl' => 'http://example.com/bar' })
|
|
163
|
-
client.execute(batch)
|
|
183
|
+
```ruby
|
|
184
|
+
Google::Apis::RequestOptions.default.authorization = authorization
|
|
185
|
+
# Services instantiated after this will inherit the authorization
|
|
164
186
|
```
|
|
165
187
|
|
|
166
|
-
|
|
188
|
+
On a per-service level:
|
|
167
189
|
|
|
168
190
|
```ruby
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
end
|
|
172
|
-
```
|
|
191
|
+
drive = Google::Apis::DriveV2::DriveService.new
|
|
192
|
+
drive.authorization = authorization
|
|
173
193
|
|
|
174
|
-
|
|
194
|
+
# All requests made with this service will use the same authorization
|
|
195
|
+
```
|
|
175
196
|
|
|
176
|
-
|
|
177
|
-
uploads can be used. For example, to upload a file to Google Drive using multipart
|
|
197
|
+
Per-request:
|
|
178
198
|
|
|
179
199
|
```ruby
|
|
180
|
-
drive
|
|
181
|
-
|
|
182
|
-
media = Google::APIClient::UploadIO.new('mymovie.m4v', 'video/mp4')
|
|
183
|
-
metadata = {
|
|
184
|
-
'title' => 'My movie',
|
|
185
|
-
'description' => 'The best home movie ever made'
|
|
186
|
-
}
|
|
187
|
-
client.execute(:api_method => drive.files.insert,
|
|
188
|
-
:parameters => { 'uploadType' => 'multipart' },
|
|
189
|
-
:body_object => metadata,
|
|
190
|
-
:media => media )
|
|
200
|
+
drive.get_file('123', options: { authorization: authorization })
|
|
191
201
|
```
|
|
192
202
|
|
|
193
|
-
|
|
194
|
-
|
|
203
|
+
### Authorization using API keys
|
|
204
|
+
|
|
205
|
+
Some APIs allow using an API key instead of OAuth2 tokens. For these APIs, set
|
|
206
|
+
the `key` attribute of the service instance. For example:
|
|
195
207
|
|
|
196
208
|
```ruby
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
# Resume if needed
|
|
204
|
-
if upload.resumable?
|
|
205
|
-
client.execute(upload)
|
|
206
|
-
end
|
|
209
|
+
require 'google/apis/translate_v2'
|
|
210
|
+
|
|
211
|
+
translate = Google::Apis::TranslateV2::TranslateService.new
|
|
212
|
+
translate.key = 'YOUR_API_KEY_HERE'
|
|
213
|
+
result = translate.list_translations('Hello world!', 'es', source: 'en')
|
|
214
|
+
puts result.translations.first.translated_text
|
|
207
215
|
```
|
|
208
216
|
|
|
209
217
|
## Samples
|
|
210
218
|
|
|
211
|
-
|
|
219
|
+
Samples for versions 0.9 and onward can be found in the `samples` directory.
|
|
220
|
+
Contributions for additional samples are welcome. See [CONTRIBUTING](CONTRIBUTING.md).
|
|
212
221
|
|
|
222
|
+
Samples for previous versions can be found in the
|
|
223
|
+
[samples](samples)
|
|
224
|
+
folder.
|
|
213
225
|
|
|
214
|
-
## Support
|
|
215
226
|
|
|
216
|
-
|
|
227
|
+
## Generating APIs
|
|
228
|
+
|
|
229
|
+
For [Cloud Endpoints](https://cloud.google.com/endpoints/) or other APIs not included in the gem, ruby code can be
|
|
230
|
+
generated from the discovery document.
|
|
231
|
+
|
|
232
|
+
To generate from a local discovery file:
|
|
233
|
+
|
|
234
|
+
$ generate-api gen <outdir> --file=<path>
|
|
235
|
+
|
|
236
|
+
A URL can also be specified:
|
|
237
|
+
|
|
238
|
+
$ generate-api gen <outdir> --url=<url>
|
|
239
|
+
|
|
240
|
+
## TODO
|
|
241
|
+
|
|
242
|
+
* ETag support (if-not-modified)
|
|
243
|
+
* Auto-paging results (maybe)
|
|
244
|
+
* Caching
|
|
245
|
+
* Model validations
|
|
246
|
+
|
|
247
|
+
## License
|
|
248
|
+
|
|
249
|
+
This library is licensed under Apache 2.0. Full license text is
|
|
250
|
+
available in [LICENSE.txt](LICENSE.txt).
|
|
251
|
+
|
|
252
|
+
## Contributing
|
|
253
|
+
|
|
254
|
+
See [CONTRIBUTING](CONTRIBUTING.md).
|
|
255
|
+
|
|
256
|
+
## Support
|
|
217
257
|
|
|
218
|
-
[
|
|
258
|
+
Please [report bugs at the project on Github](https://github.com/google/google-api-ruby-client/issues). Don't
|
|
259
|
+
hesitate to [ask questions](http://stackoverflow.com/questions/tagged/google-api-ruby-client) about the client or APIs
|
|
260
|
+
on [StackOverflow](http://stackoverflow.com).
|
data/Rakefile
CHANGED
|
@@ -1,41 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
lib_dir = File.expand_path('../lib', __FILE__)
|
|
3
|
-
$LOAD_PATH.unshift(lib_dir)
|
|
4
|
-
$LOAD_PATH.uniq!
|
|
1
|
+
require "bundler/gem_tasks"
|
|
5
2
|
|
|
6
|
-
require 'bundler/gem_tasks'
|
|
7
|
-
require 'rubygems'
|
|
8
|
-
require 'rake'
|
|
9
|
-
|
|
10
|
-
require File.join(File.dirname(__FILE__), 'lib/google/api_client', 'version')
|
|
11
|
-
|
|
12
|
-
PKG_DISPLAY_NAME = 'Google API Client'
|
|
13
|
-
PKG_NAME = PKG_DISPLAY_NAME.downcase.gsub(/\s/, '-')
|
|
14
|
-
PKG_VERSION = Google::APIClient::VERSION::STRING
|
|
15
|
-
PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
|
|
16
|
-
PKG_HOMEPAGE = 'https://github.com/google/google-api-ruby-client'
|
|
17
|
-
|
|
18
|
-
RELEASE_NAME = "REL #{PKG_VERSION}"
|
|
19
|
-
|
|
20
|
-
PKG_AUTHOR = ["Bob Aman", "Steve Bazyl"]
|
|
21
|
-
PKG_AUTHOR_EMAIL = "sbazyl@google.com"
|
|
22
|
-
PKG_SUMMARY = 'Package Summary'
|
|
23
|
-
PKG_DESCRIPTION = <<-TEXT
|
|
24
|
-
The Google API Ruby Client makes it trivial to discover and access supported
|
|
25
|
-
APIs.
|
|
26
|
-
TEXT
|
|
27
|
-
|
|
28
|
-
list = FileList[
|
|
29
|
-
'lib/**/*', 'spec/**/*', 'vendor/**/*',
|
|
30
|
-
'tasks/**/*', 'website/**/*',
|
|
31
|
-
'[A-Z]*', 'Rakefile'
|
|
32
|
-
].exclude(/[_\.]git$/)
|
|
33
|
-
(open(".gitignore") { |file| file.read }).split("\n").each do |pattern|
|
|
34
|
-
list.exclude(pattern)
|
|
35
|
-
end
|
|
36
|
-
PKG_FILES = list
|
|
37
|
-
|
|
38
|
-
task :default => 'spec'
|
|
39
|
-
|
|
40
|
-
WINDOWS = (RUBY_PLATFORM =~ /mswin|win32|mingw|bccwin|cygwin/) rescue false
|
|
41
|
-
SUDO = WINDOWS ? '' : ('sudo' unless ENV['SUDOLESS'])
|