google-api-client 0.32.1 → 0.40.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.kokoro/continuous/linux.cfg +2 -2
- data/.kokoro/continuous/post.cfg +30 -0
- data/.kokoro/presubmit/linux.cfg +1 -1
- data/.kokoro/release.cfg +94 -0
- data/.repo-metadata.json +5 -0
- data/.rubocop.yml +5 -0
- data/.yardopts +16 -2
- data/CHANGELOG.md +1354 -0
- data/Gemfile +1 -0
- data/OVERVIEW.md +36 -0
- data/README.md +50 -2
- data/Rakefile +71 -2
- data/api_list_config.yaml +1 -0
- data/api_names.yaml +2 -0
- data/bin/generate-api +10 -2
- data/docs/api-keys.md +20 -0
- data/docs/auth.md +53 -0
- data/docs/client-secrets.md +69 -0
- data/docs/getting-started.md +340 -0
- data/docs/installation.md +0 -0
- data/docs/logging.md +34 -0
- data/docs/media-upload.md +25 -0
- data/docs/oauth-installed.md +191 -0
- data/docs/oauth-server.md +135 -0
- data/docs/oauth-web.md +280 -0
- data/docs/oauth.md +268 -0
- data/docs/pagination.md +29 -0
- data/docs/performance.md +25 -0
- data/generated/google/apis/abusiveexperiencereport_v1.rb +1 -4
- data/generated/google/apis/acceleratedmobilepageurl_v1.rb +1 -1
- data/generated/google/apis/accessapproval_v1/classes.rb +417 -0
- data/generated/google/apis/accessapproval_v1/representations.rb +203 -0
- data/generated/google/apis/accessapproval_v1/service.rb +869 -0
- data/generated/google/apis/{servicebroker_v1.rb → accessapproval_v1.rb} +8 -10
- data/generated/google/apis/accessapproval_v1beta1/classes.rb +35 -2
- data/generated/google/apis/accessapproval_v1beta1/representations.rb +13 -0
- data/generated/google/apis/accessapproval_v1beta1/service.rb +108 -6
- data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
- data/generated/google/apis/accesscontextmanager_v1/classes.rb +357 -56
- data/generated/google/apis/accesscontextmanager_v1/representations.rb +137 -6
- data/generated/google/apis/accesscontextmanager_v1/service.rb +143 -5
- data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
- data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +133 -125
- data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +21 -27
- data/generated/google/apis/accesscontextmanager_v1beta/service.rb +6 -5
- data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
- data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +35 -5
- data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +4 -0
- data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
- data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +24 -2
- data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +1 -0
- data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
- data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +25 -3
- data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +1 -0
- data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
- data/generated/google/apis/adexperiencereport_v1.rb +1 -4
- data/generated/google/apis/admin_datatransfer_v1/classes.rb +5 -5
- data/generated/google/apis/admin_datatransfer_v1/service.rb +2 -2
- data/generated/google/apis/admin_datatransfer_v1.rb +1 -1
- data/generated/google/apis/admin_directory_v1/classes.rb +4 -150
- data/generated/google/apis/admin_directory_v1/representations.rb +0 -54
- data/generated/google/apis/admin_directory_v1/service.rb +0 -60
- data/generated/google/apis/admin_directory_v1.rb +4 -1
- data/generated/google/apis/admin_reports_v1/classes.rb +87 -44
- data/generated/google/apis/admin_reports_v1/service.rb +310 -64
- data/generated/google/apis/admin_reports_v1.rb +2 -2
- data/generated/google/apis/admob_v1/classes.rb +951 -0
- data/generated/google/apis/admob_v1/representations.rb +378 -0
- data/generated/google/apis/admob_v1/service.rb +196 -0
- data/generated/google/apis/{analytics_v2_4/classes.rb → admob_v1.rb} +11 -6
- data/generated/google/apis/adsense_v1_4.rb +1 -1
- data/generated/google/apis/adsensehost_v4_1/service.rb +5 -1
- data/generated/google/apis/adsensehost_v4_1.rb +1 -1
- data/generated/google/apis/alertcenter_v1beta1/classes.rb +259 -7
- data/generated/google/apis/alertcenter_v1beta1/representations.rb +126 -0
- data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
- data/generated/google/apis/analyticsreporting_v4.rb +1 -1
- data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +2 -2
- data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
- data/generated/google/apis/androidenterprise_v1/classes.rb +39 -60
- data/generated/google/apis/androidenterprise_v1/representations.rb +1 -0
- data/generated/google/apis/androidenterprise_v1/service.rb +0 -403
- data/generated/google/apis/androidenterprise_v1.rb +1 -1
- data/generated/google/apis/androidmanagement_v1/classes.rb +203 -6
- data/generated/google/apis/androidmanagement_v1/representations.rb +68 -0
- data/generated/google/apis/androidmanagement_v1/service.rb +6 -1
- data/generated/google/apis/androidmanagement_v1.rb +1 -1
- data/generated/google/apis/androidpublisher_v1/classes.rb +0 -41
- data/generated/google/apis/androidpublisher_v1/representations.rb +0 -16
- data/generated/google/apis/androidpublisher_v1/service.rb +1 -81
- data/generated/google/apis/androidpublisher_v1.rb +1 -4
- data/generated/google/apis/androidpublisher_v1_1/classes.rb +0 -41
- data/generated/google/apis/androidpublisher_v1_1/representations.rb +0 -16
- data/generated/google/apis/androidpublisher_v1_1/service.rb +0 -80
- data/generated/google/apis/androidpublisher_v1_1.rb +1 -1
- data/generated/google/apis/androidpublisher_v2/classes.rb +37 -1755
- data/generated/google/apis/androidpublisher_v2/representations.rb +15 -804
- data/generated/google/apis/androidpublisher_v2/service.rb +0 -2359
- data/generated/google/apis/androidpublisher_v2.rb +1 -1
- data/generated/google/apis/androidpublisher_v3/classes.rb +404 -65
- data/generated/google/apis/androidpublisher_v3/representations.rb +180 -27
- data/generated/google/apis/androidpublisher_v3/service.rb +162 -3
- data/generated/google/apis/androidpublisher_v3.rb +1 -1
- data/generated/google/apis/apigee_v1/classes.rb +4928 -0
- data/generated/google/apis/apigee_v1/representations.rb +1822 -0
- data/generated/google/apis/apigee_v1/service.rb +5578 -0
- data/generated/google/apis/apigee_v1.rb +40 -0
- data/generated/google/apis/appengine_v1/classes.rb +7 -0
- data/generated/google/apis/appengine_v1/representations.rb +1 -0
- data/generated/google/apis/appengine_v1/service.rb +10 -6
- data/generated/google/apis/appengine_v1.rb +1 -1
- data/generated/google/apis/appengine_v1alpha.rb +1 -1
- data/generated/google/apis/appengine_v1beta/classes.rb +7 -38
- data/generated/google/apis/appengine_v1beta/representations.rb +1 -17
- data/generated/google/apis/appengine_v1beta/service.rb +10 -6
- data/generated/google/apis/appengine_v1beta.rb +1 -1
- data/generated/google/apis/appsactivity_v1.rb +1 -1
- data/generated/google/apis/appsmarket_v2.rb +1 -1
- data/generated/google/apis/{cloudprivatecatalogproducer_v1beta1 → artifactregistry_v1beta1}/classes.rb +591 -765
- data/generated/google/apis/{servicebroker_v1alpha1 → artifactregistry_v1beta1}/representations.rb +128 -115
- data/generated/google/apis/artifactregistry_v1beta1/service.rb +957 -0
- data/generated/google/apis/artifactregistry_v1beta1.rb +38 -0
- data/generated/google/apis/bigquery_v2/classes.rb +993 -43
- data/generated/google/apis/bigquery_v2/representations.rb +273 -2
- data/generated/google/apis/bigquery_v2/service.rb +137 -4
- data/generated/google/apis/bigquery_v2.rb +1 -1
- data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +149 -59
- data/generated/google/apis/bigqueryconnection_v1beta1/representations.rb +2 -0
- data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +11 -10
- data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
- data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +49 -0
- data/generated/google/apis/bigquerydatatransfer_v1/representations.rb +19 -0
- data/generated/google/apis/bigquerydatatransfer_v1/service.rb +90 -34
- data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
- data/generated/google/apis/bigqueryreservation_v1/classes.rb +392 -16
- data/generated/google/apis/bigqueryreservation_v1/representations.rb +174 -6
- data/generated/google/apis/bigqueryreservation_v1/service.rb +758 -0
- data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
- data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +109 -10
- data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +26 -3
- data/generated/google/apis/bigqueryreservation_v1alpha2/service.rb +71 -0
- data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
- data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +166 -160
- data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +49 -38
- data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +257 -146
- data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
- data/generated/google/apis/bigtableadmin_v1/classes.rb +21 -18
- data/generated/google/apis/bigtableadmin_v1.rb +1 -1
- data/generated/google/apis/bigtableadmin_v2/classes.rb +189 -82
- data/generated/google/apis/bigtableadmin_v2/service.rb +170 -58
- data/generated/google/apis/bigtableadmin_v2.rb +1 -1
- data/generated/google/apis/billingbudgets_v1beta1/classes.rb +413 -0
- data/generated/google/apis/billingbudgets_v1beta1/representations.rb +197 -0
- data/generated/google/apis/billingbudgets_v1beta1/service.rb +244 -0
- data/generated/google/apis/{servicebroker_v1beta1.rb → billingbudgets_v1beta1.rb} +9 -10
- data/generated/google/apis/binaryauthorization_v1/classes.rb +143 -58
- data/generated/google/apis/binaryauthorization_v1/service.rb +10 -2
- data/generated/google/apis/binaryauthorization_v1.rb +1 -1
- data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +139 -57
- data/generated/google/apis/binaryauthorization_v1beta1/service.rb +10 -2
- data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
- data/generated/google/apis/blogger_v2/classes.rb +297 -45
- data/generated/google/apis/blogger_v2/representations.rb +105 -26
- data/generated/google/apis/blogger_v2/service.rb +79 -134
- data/generated/google/apis/blogger_v2.rb +5 -4
- data/generated/google/apis/blogger_v3/classes.rb +60 -53
- data/generated/google/apis/blogger_v3/representations.rb +10 -18
- data/generated/google/apis/blogger_v3/service.rb +183 -463
- data/generated/google/apis/blogger_v3.rb +4 -3
- data/generated/google/apis/books_v1/classes.rb +494 -242
- data/generated/google/apis/books_v1/representations.rb +145 -72
- data/generated/google/apis/books_v1/service.rb +354 -484
- data/generated/google/apis/books_v1.rb +3 -3
- data/generated/google/apis/calendar_v3/classes.rb +8 -21
- data/generated/google/apis/calendar_v3/service.rb +18 -30
- data/generated/google/apis/calendar_v3.rb +1 -1
- data/generated/google/apis/chat_v1/classes.rb +29 -3
- data/generated/google/apis/chat_v1/representations.rb +3 -0
- data/generated/google/apis/chat_v1/service.rb +5 -2
- data/generated/google/apis/chat_v1.rb +1 -1
- data/generated/google/apis/chromeuxreport_v1/classes.rb +297 -0
- data/generated/google/apis/chromeuxreport_v1/representations.rb +147 -0
- data/generated/google/apis/chromeuxreport_v1/service.rb +92 -0
- data/generated/google/apis/{pagespeedonline_v1.rb → chromeuxreport_v1.rb} +9 -9
- data/generated/google/apis/civicinfo_v2/classes.rb +0 -156
- data/generated/google/apis/civicinfo_v2/representations.rb +2 -60
- data/generated/google/apis/civicinfo_v2.rb +1 -1
- data/generated/google/apis/classroom_v1/classes.rb +14 -14
- data/generated/google/apis/classroom_v1/service.rb +11 -11
- data/generated/google/apis/classroom_v1.rb +1 -1
- data/generated/google/apis/cloudasset_v1/classes.rb +917 -195
- data/generated/google/apis/cloudasset_v1/representations.rb +234 -6
- data/generated/google/apis/cloudasset_v1/service.rb +363 -12
- data/generated/google/apis/cloudasset_v1.rb +2 -2
- data/generated/google/apis/cloudasset_v1beta1/classes.rb +139 -57
- data/generated/google/apis/cloudasset_v1beta1/service.rb +13 -4
- data/generated/google/apis/cloudasset_v1beta1.rb +2 -2
- data/generated/google/apis/cloudasset_v1p1beta1/classes.rb +701 -0
- data/generated/google/apis/cloudasset_v1p1beta1/representations.rb +201 -0
- data/generated/google/apis/cloudasset_v1p1beta1/service.rb +189 -0
- data/generated/google/apis/cloudasset_v1p1beta1.rb +34 -0
- data/generated/google/apis/cloudasset_v1p4beta1/classes.rb +924 -0
- data/generated/google/apis/cloudasset_v1p4beta1/representations.rb +377 -0
- data/generated/google/apis/cloudasset_v1p4beta1/service.rb +217 -0
- data/generated/google/apis/cloudasset_v1p4beta1.rb +34 -0
- data/generated/google/apis/cloudbilling_v1/classes.rb +179 -68
- data/generated/google/apis/cloudbilling_v1/representations.rb +0 -1
- data/generated/google/apis/cloudbilling_v1/service.rb +16 -9
- data/generated/google/apis/cloudbilling_v1.rb +1 -1
- data/generated/google/apis/cloudbuild_v1/classes.rb +55 -10
- data/generated/google/apis/cloudbuild_v1/representations.rb +5 -0
- data/generated/google/apis/cloudbuild_v1/service.rb +139 -18
- data/generated/google/apis/cloudbuild_v1.rb +1 -1
- data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +170 -5
- data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +63 -0
- data/generated/google/apis/cloudbuild_v1alpha1/service.rb +121 -5
- data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
- data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +1283 -0
- data/generated/google/apis/cloudbuild_v1alpha2/representations.rb +491 -0
- data/generated/google/apis/cloudbuild_v1alpha2/service.rb +353 -0
- data/generated/google/apis/cloudbuild_v1alpha2.rb +34 -0
- data/generated/google/apis/clouddebugger_v2/classes.rb +34 -0
- data/generated/google/apis/clouddebugger_v2/representations.rb +4 -0
- data/generated/google/apis/clouddebugger_v2/service.rb +24 -17
- data/generated/google/apis/clouddebugger_v2.rb +2 -2
- data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +1 -1
- data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +13 -13
- data/generated/google/apis/clouderrorreporting_v1beta1.rb +2 -2
- data/generated/google/apis/cloudfunctions_v1/classes.rb +161 -59
- data/generated/google/apis/cloudfunctions_v1/representations.rb +3 -0
- data/generated/google/apis/cloudfunctions_v1/service.rb +13 -4
- data/generated/google/apis/cloudfunctions_v1.rb +1 -1
- data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +7 -0
- data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +1 -0
- data/generated/google/apis/cloudfunctions_v1beta2/service.rb +10 -4
- data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
- data/generated/google/apis/cloudidentity_v1/classes.rb +11 -8
- data/generated/google/apis/cloudidentity_v1/service.rb +22 -14
- data/generated/google/apis/cloudidentity_v1.rb +1 -1
- data/generated/google/apis/cloudidentity_v1beta1/classes.rb +1009 -69
- data/generated/google/apis/cloudidentity_v1beta1/representations.rb +390 -0
- data/generated/google/apis/cloudidentity_v1beta1/service.rb +189 -78
- data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
- data/generated/google/apis/cloudiot_v1/classes.rb +142 -57
- data/generated/google/apis/cloudiot_v1.rb +1 -1
- data/generated/google/apis/cloudkms_v1/classes.rb +461 -61
- data/generated/google/apis/cloudkms_v1/representations.rb +33 -0
- data/generated/google/apis/cloudkms_v1/service.rb +15 -3
- data/generated/google/apis/cloudkms_v1.rb +1 -1
- data/generated/google/apis/cloudprofiler_v2.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v1/classes.rb +155 -71
- data/generated/google/apis/cloudresourcemanager_v1/service.rb +6 -3
- data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +143 -59
- data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v2/classes.rb +147 -67
- data/generated/google/apis/cloudresourcemanager_v2/service.rb +11 -13
- data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +147 -67
- data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +11 -13
- data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
- data/generated/google/apis/cloudscheduler_v1/classes.rb +3 -2
- data/generated/google/apis/cloudscheduler_v1.rb +1 -1
- data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +3 -2
- data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
- data/generated/google/apis/cloudsearch_v1/classes.rb +86 -195
- data/generated/google/apis/cloudsearch_v1/representations.rb +1 -75
- data/generated/google/apis/cloudsearch_v1/service.rb +62 -10
- data/generated/google/apis/cloudsearch_v1.rb +8 -8
- data/generated/google/apis/cloudshell_v1/classes.rb +24 -1
- data/generated/google/apis/cloudshell_v1/representations.rb +3 -0
- data/generated/google/apis/cloudshell_v1.rb +1 -1
- data/generated/google/apis/cloudshell_v1alpha1/classes.rb +30 -1
- data/generated/google/apis/cloudshell_v1alpha1/representations.rb +5 -0
- data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
- data/generated/google/apis/cloudtasks_v2/classes.rb +388 -70
- data/generated/google/apis/cloudtasks_v2/representations.rb +65 -0
- data/generated/google/apis/cloudtasks_v2.rb +1 -1
- data/generated/google/apis/cloudtasks_v2beta2/classes.rb +148 -66
- data/generated/google/apis/cloudtasks_v2beta2/service.rb +6 -1
- data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
- data/generated/google/apis/cloudtasks_v2beta3/classes.rb +156 -74
- data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
- data/generated/google/apis/cloudtrace_v1/service.rb +10 -4
- data/generated/google/apis/cloudtrace_v1.rb +5 -5
- data/generated/google/apis/cloudtrace_v2/classes.rb +8 -7
- data/generated/google/apis/cloudtrace_v2/service.rb +8 -4
- data/generated/google/apis/cloudtrace_v2.rb +5 -5
- data/generated/google/apis/cloudtrace_v2beta1/classes.rb +143 -0
- data/generated/google/apis/{oauth2_v1 → cloudtrace_v2beta1}/representations.rb +36 -27
- data/generated/google/apis/cloudtrace_v2beta1/service.rb +258 -0
- data/generated/google/apis/cloudtrace_v2beta1.rb +44 -0
- data/generated/google/apis/composer_v1/classes.rb +180 -0
- data/generated/google/apis/composer_v1/representations.rb +54 -0
- data/generated/google/apis/composer_v1.rb +1 -1
- data/generated/google/apis/composer_v1beta1/classes.rb +152 -5
- data/generated/google/apis/composer_v1beta1/representations.rb +64 -0
- data/generated/google/apis/composer_v1beta1/service.rb +5 -0
- data/generated/google/apis/composer_v1beta1.rb +1 -1
- data/generated/google/apis/compute_alpha/classes.rb +3252 -973
- data/generated/google/apis/compute_alpha/representations.rb +634 -69
- data/generated/google/apis/compute_alpha/service.rb +9085 -6210
- data/generated/google/apis/compute_alpha.rb +1 -1
- data/generated/google/apis/compute_beta/classes.rb +4787 -1066
- data/generated/google/apis/compute_beta/representations.rb +1394 -31
- data/generated/google/apis/compute_beta/service.rb +8858 -5018
- data/generated/google/apis/compute_beta.rb +1 -1
- data/generated/google/apis/compute_v1/classes.rb +2976 -599
- data/generated/google/apis/compute_v1/representations.rb +850 -0
- data/generated/google/apis/compute_v1/service.rb +4634 -2481
- data/generated/google/apis/compute_v1.rb +1 -1
- data/generated/google/apis/container_v1/classes.rb +925 -164
- data/generated/google/apis/container_v1/representations.rb +278 -0
- data/generated/google/apis/container_v1/service.rb +175 -158
- data/generated/google/apis/container_v1.rb +1 -1
- data/generated/google/apis/container_v1beta1/classes.rb +803 -340
- data/generated/google/apis/container_v1beta1/representations.rb +185 -39
- data/generated/google/apis/container_v1beta1/service.rb +294 -277
- data/generated/google/apis/container_v1beta1.rb +1 -1
- data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +142 -57
- data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
- data/generated/google/apis/containeranalysis_v1beta1/classes.rb +478 -59
- data/generated/google/apis/containeranalysis_v1beta1/representations.rb +159 -0
- data/generated/google/apis/containeranalysis_v1beta1/service.rb +26 -20
- data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
- data/generated/google/apis/content_v2/classes.rb +1566 -634
- data/generated/google/apis/content_v2/representations.rb +78 -115
- data/generated/google/apis/content_v2/service.rb +81 -206
- data/generated/google/apis/content_v2.rb +1 -1
- data/generated/google/apis/content_v2_1/classes.rb +2706 -683
- data/generated/google/apis/content_v2_1/representations.rb +551 -0
- data/generated/google/apis/content_v2_1/service.rb +520 -46
- data/generated/google/apis/content_v2_1.rb +1 -1
- data/generated/google/apis/customsearch_v1/classes.rb +1194 -353
- data/generated/google/apis/customsearch_v1/representations.rb +166 -95
- data/generated/google/apis/customsearch_v1/service.rb +373 -104
- data/generated/google/apis/customsearch_v1.rb +3 -3
- data/generated/google/apis/datacatalog_v1beta1/classes.rb +1907 -0
- data/generated/google/apis/datacatalog_v1beta1/representations.rb +739 -0
- data/generated/google/apis/datacatalog_v1beta1/service.rb +2247 -0
- data/generated/google/apis/{cloudprivatecatalog_v1beta1.rb → datacatalog_v1beta1.rb} +9 -9
- data/generated/google/apis/dataflow_v1b3/classes.rb +786 -11
- data/generated/google/apis/dataflow_v1b3/representations.rb +377 -1
- data/generated/google/apis/dataflow_v1b3/service.rb +626 -0
- data/generated/google/apis/dataflow_v1b3.rb +1 -1
- data/generated/google/apis/datafusion_v1beta1/classes.rb +245 -362
- data/generated/google/apis/datafusion_v1beta1/representations.rb +29 -112
- data/generated/google/apis/datafusion_v1beta1/service.rb +15 -2
- data/generated/google/apis/datafusion_v1beta1.rb +1 -1
- data/generated/google/apis/dataproc_v1/classes.rb +533 -177
- data/generated/google/apis/dataproc_v1/representations.rb +85 -0
- data/generated/google/apis/dataproc_v1/service.rb +102 -36
- data/generated/google/apis/dataproc_v1.rb +1 -1
- data/generated/google/apis/dataproc_v1beta2/classes.rb +477 -182
- data/generated/google/apis/dataproc_v1beta2/representations.rb +81 -0
- data/generated/google/apis/dataproc_v1beta2/service.rb +199 -43
- data/generated/google/apis/dataproc_v1beta2.rb +1 -1
- data/generated/google/apis/datastore_v1/classes.rb +17 -23
- data/generated/google/apis/datastore_v1/service.rb +93 -9
- data/generated/google/apis/datastore_v1.rb +1 -1
- data/generated/google/apis/datastore_v1beta1.rb +1 -1
- data/generated/google/apis/datastore_v1beta3/classes.rb +6 -5
- data/generated/google/apis/datastore_v1beta3/service.rb +7 -7
- data/generated/google/apis/datastore_v1beta3.rb +1 -1
- data/generated/google/apis/deploymentmanager_alpha/classes.rb +362 -176
- data/generated/google/apis/deploymentmanager_alpha/representations.rb +22 -4
- data/generated/google/apis/deploymentmanager_alpha/service.rb +198 -311
- data/generated/google/apis/deploymentmanager_alpha.rb +1 -1
- data/generated/google/apis/deploymentmanager_v2/classes.rb +295 -146
- data/generated/google/apis/deploymentmanager_v2/representations.rb +17 -1
- data/generated/google/apis/deploymentmanager_v2/service.rb +101 -99
- data/generated/google/apis/deploymentmanager_v2.rb +1 -1
- data/generated/google/apis/deploymentmanager_v2beta/classes.rb +350 -170
- data/generated/google/apis/deploymentmanager_v2beta/representations.rb +18 -1
- data/generated/google/apis/deploymentmanager_v2beta/service.rb +154 -152
- data/generated/google/apis/deploymentmanager_v2beta.rb +1 -1
- data/generated/google/apis/dfareporting_v3_3/classes.rb +39 -13
- data/generated/google/apis/dfareporting_v3_3/service.rb +9 -8
- data/generated/google/apis/dfareporting_v3_3.rb +1 -1
- data/generated/google/apis/{dfareporting_v3_2 → dfareporting_v3_4}/classes.rb +1361 -813
- data/generated/google/apis/{dfareporting_v3_2 → dfareporting_v3_4}/representations.rb +639 -396
- data/generated/google/apis/{dfareporting_v3_2 → dfareporting_v3_4}/service.rb +969 -1076
- data/generated/google/apis/{dfareporting_v3_2.rb → dfareporting_v3_4.rb} +6 -6
- data/generated/google/apis/dialogflow_v2/classes.rb +1778 -219
- data/generated/google/apis/dialogflow_v2/representations.rb +603 -0
- data/generated/google/apis/dialogflow_v2/service.rb +849 -158
- data/generated/google/apis/dialogflow_v2.rb +1 -1
- data/generated/google/apis/dialogflow_v2beta1/classes.rb +1776 -242
- data/generated/google/apis/dialogflow_v2beta1/representations.rb +592 -0
- data/generated/google/apis/dialogflow_v2beta1/service.rb +436 -172
- data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
- data/generated/google/apis/dialogflow_v3alpha1/classes.rb +5579 -0
- data/generated/google/apis/dialogflow_v3alpha1/representations.rb +2295 -0
- data/generated/google/apis/dialogflow_v3alpha1/service.rb +296 -0
- data/generated/google/apis/dialogflow_v3alpha1.rb +38 -0
- data/generated/google/apis/digitalassetlinks_v1.rb +1 -1
- data/generated/google/apis/displayvideo_v1/classes.rb +7527 -0
- data/generated/google/apis/displayvideo_v1/representations.rb +3034 -0
- data/generated/google/apis/displayvideo_v1/service.rb +3126 -0
- data/generated/google/apis/displayvideo_v1.rb +38 -0
- data/generated/google/apis/dlp_v2/classes.rb +798 -130
- data/generated/google/apis/dlp_v2/representations.rb +277 -3
- data/generated/google/apis/dlp_v2/service.rb +2074 -231
- data/generated/google/apis/dlp_v2.rb +1 -1
- data/generated/google/apis/dns_v1/classes.rb +220 -251
- data/generated/google/apis/dns_v1/representations.rb +49 -0
- data/generated/google/apis/dns_v1/service.rb +21 -141
- data/generated/google/apis/dns_v1.rb +1 -1
- data/generated/google/apis/dns_v1beta2/classes.rb +224 -261
- data/generated/google/apis/dns_v1beta2/representations.rb +49 -0
- data/generated/google/apis/dns_v1beta2/service.rb +21 -141
- data/generated/google/apis/dns_v1beta2.rb +1 -1
- data/generated/google/apis/dns_v2beta1/classes.rb +220 -251
- data/generated/google/apis/dns_v2beta1/representations.rb +49 -0
- data/generated/google/apis/dns_v2beta1/service.rb +21 -141
- data/generated/google/apis/dns_v2beta1.rb +1 -1
- data/generated/google/apis/docs_v1/classes.rb +608 -2
- data/generated/google/apis/docs_v1/representations.rb +211 -0
- data/generated/google/apis/docs_v1.rb +1 -1
- data/generated/google/apis/domainsrdap_v1.rb +1 -1
- data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +1 -1
- data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
- data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +860 -0
- data/generated/google/apis/doubleclickbidmanager_v1_1/representations.rb +388 -0
- data/generated/google/apis/{surveys_v2 → doubleclickbidmanager_v1_1}/service.rb +140 -110
- data/generated/google/apis/{proximitybeacon_v1beta1.rb → doubleclickbidmanager_v1_1.rb} +11 -11
- data/generated/google/apis/doubleclicksearch_v2/service.rb +0 -55
- data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
- data/generated/google/apis/drive_v2/classes.rb +58 -5
- data/generated/google/apis/drive_v2/representations.rb +18 -0
- data/generated/google/apis/drive_v2/service.rb +92 -118
- data/generated/google/apis/drive_v2.rb +1 -1
- data/generated/google/apis/drive_v3/classes.rb +66 -5
- data/generated/google/apis/drive_v3/representations.rb +18 -0
- data/generated/google/apis/drive_v3/service.rb +46 -14
- data/generated/google/apis/drive_v3.rb +1 -1
- data/generated/google/apis/driveactivity_v2/classes.rb +15 -5
- data/generated/google/apis/driveactivity_v2/representations.rb +2 -0
- data/generated/google/apis/driveactivity_v2.rb +1 -1
- data/generated/google/apis/factchecktools_v1alpha1.rb +1 -1
- data/generated/google/apis/fcm_v1/classes.rb +15 -0
- data/generated/google/apis/fcm_v1/representations.rb +2 -0
- data/generated/google/apis/fcm_v1.rb +1 -1
- data/generated/google/apis/file_v1/classes.rb +1235 -158
- data/generated/google/apis/file_v1/representations.rb +401 -22
- data/generated/google/apis/file_v1/service.rb +14 -10
- data/generated/google/apis/file_v1.rb +1 -1
- data/generated/google/apis/file_v1beta1/classes.rb +1236 -159
- data/generated/google/apis/file_v1beta1/representations.rb +401 -22
- data/generated/google/apis/file_v1beta1/service.rb +18 -11
- data/generated/google/apis/file_v1beta1.rb +1 -1
- data/generated/google/apis/firebase_v1beta1/classes.rb +20 -16
- data/generated/google/apis/firebase_v1beta1/representations.rb +2 -0
- data/generated/google/apis/firebase_v1beta1/service.rb +22 -16
- data/generated/google/apis/firebase_v1beta1.rb +1 -1
- data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
- data/generated/google/apis/firebasehosting_v1beta1/classes.rb +174 -1
- data/generated/google/apis/firebasehosting_v1beta1/representations.rb +65 -0
- data/generated/google/apis/firebasehosting_v1beta1/service.rb +805 -2
- data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
- data/generated/google/apis/firebaseml_v1/classes.rb +213 -0
- data/generated/google/apis/{servicebroker_v1 → firebaseml_v1}/representations.rb +26 -28
- data/generated/google/apis/firebaseml_v1/service.rb +181 -0
- data/generated/google/apis/firebaseml_v1.rb +34 -0
- data/generated/google/apis/firebaseml_v1beta2/classes.rb +344 -0
- data/generated/google/apis/{cloudprivatecatalog_v1beta1 → firebaseml_v1beta2}/representations.rb +62 -31
- data/generated/google/apis/firebaseml_v1beta2/service.rb +267 -0
- data/generated/google/apis/firebaseml_v1beta2.rb +34 -0
- data/generated/google/apis/firebaserules_v1/classes.rb +113 -0
- data/generated/google/apis/firebaserules_v1/representations.rb +52 -0
- data/generated/google/apis/firebaserules_v1.rb +1 -1
- data/generated/google/apis/firestore_v1/classes.rb +16 -5
- data/generated/google/apis/firestore_v1/representations.rb +2 -0
- data/generated/google/apis/firestore_v1/service.rb +26 -24
- data/generated/google/apis/firestore_v1.rb +1 -1
- data/generated/google/apis/firestore_v1beta1/classes.rb +16 -5
- data/generated/google/apis/firestore_v1beta1/representations.rb +2 -0
- data/generated/google/apis/firestore_v1beta1/service.rb +18 -16
- data/generated/google/apis/firestore_v1beta1.rb +1 -1
- data/generated/google/apis/firestore_v1beta2.rb +1 -1
- data/generated/google/apis/fitness_v1/classes.rb +189 -153
- data/generated/google/apis/fitness_v1/service.rb +192 -198
- data/generated/google/apis/fitness_v1.rb +14 -14
- data/generated/google/apis/games_configuration_v1configuration/classes.rb +38 -53
- data/generated/google/apis/games_configuration_v1configuration/service.rb +58 -169
- data/generated/google/apis/games_configuration_v1configuration.rb +4 -3
- data/generated/google/apis/games_management_v1management/classes.rb +50 -109
- data/generated/google/apis/games_management_v1management/representations.rb +0 -30
- data/generated/google/apis/games_management_v1management/service.rb +116 -452
- data/generated/google/apis/games_management_v1management.rb +6 -4
- data/generated/google/apis/games_v1/classes.rb +14 -293
- data/generated/google/apis/games_v1/representations.rb +2 -98
- data/generated/google/apis/games_v1/service.rb +3 -135
- data/generated/google/apis/games_v1.rb +1 -1
- data/generated/google/apis/gameservices_v1beta/classes.rb +2354 -0
- data/generated/google/apis/gameservices_v1beta/representations.rb +971 -0
- data/generated/google/apis/gameservices_v1beta/service.rb +1472 -0
- data/generated/google/apis/gameservices_v1beta.rb +34 -0
- data/generated/google/apis/genomics_v1.rb +1 -1
- data/generated/google/apis/genomics_v1alpha2.rb +1 -1
- data/generated/google/apis/genomics_v2alpha1/classes.rb +32 -0
- data/generated/google/apis/genomics_v2alpha1/representations.rb +16 -0
- data/generated/google/apis/genomics_v2alpha1/service.rb +34 -0
- data/generated/google/apis/genomics_v2alpha1.rb +1 -1
- data/generated/google/apis/gmail_v1/classes.rb +6 -2
- data/generated/google/apis/gmail_v1/service.rb +1 -1
- data/generated/google/apis/gmail_v1.rb +13 -1
- data/generated/google/apis/healthcare_v1/classes.rb +2659 -0
- data/generated/google/apis/healthcare_v1/representations.rb +1114 -0
- data/generated/google/apis/healthcare_v1/service.rb +3439 -0
- data/generated/google/apis/healthcare_v1.rb +34 -0
- data/generated/google/apis/healthcare_v1beta1/classes.rb +1013 -128
- data/generated/google/apis/healthcare_v1beta1/representations.rb +341 -1
- data/generated/google/apis/healthcare_v1beta1/service.rb +762 -275
- data/generated/google/apis/healthcare_v1beta1.rb +1 -1
- data/generated/google/apis/homegraph_v1/classes.rb +79 -56
- data/generated/google/apis/homegraph_v1/representations.rb +2 -1
- data/generated/google/apis/homegraph_v1/service.rb +43 -47
- data/generated/google/apis/homegraph_v1.rb +1 -1
- data/generated/google/apis/iam_v1/classes.rb +201 -169
- data/generated/google/apis/iam_v1/representations.rb +1 -6
- data/generated/google/apis/iam_v1/service.rb +18 -21
- data/generated/google/apis/iam_v1.rb +1 -1
- data/generated/google/apis/iamcredentials_v1/classes.rb +40 -8
- data/generated/google/apis/iamcredentials_v1/service.rb +4 -4
- data/generated/google/apis/iamcredentials_v1.rb +1 -1
- data/generated/google/apis/iap_v1/classes.rb +691 -59
- data/generated/google/apis/iap_v1/representations.rb +254 -0
- data/generated/google/apis/iap_v1/service.rb +362 -0
- data/generated/google/apis/iap_v1.rb +1 -1
- data/generated/google/apis/iap_v1beta1/classes.rb +144 -59
- data/generated/google/apis/iap_v1beta1.rb +1 -1
- data/generated/google/apis/indexing_v3.rb +1 -1
- data/generated/google/apis/jobs_v2/classes.rb +167 -0
- data/generated/google/apis/jobs_v2/representations.rb +40 -0
- data/generated/google/apis/jobs_v2.rb +1 -1
- data/generated/google/apis/jobs_v3/classes.rb +180 -0
- data/generated/google/apis/jobs_v3/representations.rb +41 -0
- data/generated/google/apis/jobs_v3.rb +1 -1
- data/generated/google/apis/jobs_v3p1beta1/classes.rb +187 -2
- data/generated/google/apis/jobs_v3p1beta1/representations.rb +41 -0
- data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
- data/generated/google/apis/kgsearch_v1.rb +1 -1
- data/generated/google/apis/language_v1/classes.rb +6 -6
- data/generated/google/apis/language_v1.rb +1 -1
- data/generated/google/apis/language_v1beta1/classes.rb +5 -5
- data/generated/google/apis/language_v1beta1.rb +1 -1
- data/generated/google/apis/language_v1beta2/classes.rb +23 -7
- data/generated/google/apis/language_v1beta2/representations.rb +2 -0
- data/generated/google/apis/language_v1beta2.rb +1 -1
- data/generated/google/apis/libraryagent_v1.rb +1 -1
- data/generated/google/apis/licensing_v1/classes.rb +15 -7
- data/generated/google/apis/licensing_v1/service.rb +81 -37
- data/generated/google/apis/licensing_v1.rb +4 -4
- data/generated/google/apis/lifesciences_v2beta/classes.rb +1329 -0
- data/generated/google/apis/lifesciences_v2beta/representations.rb +533 -0
- data/generated/google/apis/lifesciences_v2beta/service.rb +303 -0
- data/generated/google/apis/lifesciences_v2beta.rb +35 -0
- data/generated/google/apis/logging_v2/classes.rb +292 -91
- data/generated/google/apis/logging_v2/representations.rb +51 -0
- data/generated/google/apis/logging_v2/service.rb +888 -15
- data/generated/google/apis/logging_v2.rb +6 -6
- data/generated/google/apis/managedidentities_v1/classes.rb +1571 -0
- data/generated/google/apis/managedidentities_v1/representations.rb +560 -0
- data/generated/google/apis/managedidentities_v1/service.rb +779 -0
- data/generated/google/apis/managedidentities_v1.rb +35 -0
- data/generated/google/apis/managedidentities_v1alpha1/classes.rb +1570 -0
- data/generated/google/apis/managedidentities_v1alpha1/representations.rb +560 -0
- data/generated/google/apis/managedidentities_v1alpha1/service.rb +782 -0
- data/generated/google/apis/{servicebroker_v1alpha1.rb → managedidentities_v1alpha1.rb} +9 -10
- data/generated/google/apis/managedidentities_v1beta1/classes.rb +1568 -0
- data/generated/google/apis/managedidentities_v1beta1/representations.rb +560 -0
- data/generated/google/apis/managedidentities_v1beta1/service.rb +778 -0
- data/generated/google/apis/managedidentities_v1beta1.rb +35 -0
- data/generated/google/apis/manufacturers_v1/classes.rb +7 -0
- data/generated/google/apis/manufacturers_v1/representations.rb +1 -0
- data/generated/google/apis/manufacturers_v1.rb +1 -1
- data/generated/google/apis/memcache_v1beta2/classes.rb +1587 -0
- data/generated/google/apis/memcache_v1beta2/representations.rb +557 -0
- data/generated/google/apis/memcache_v1beta2/service.rb +677 -0
- data/generated/google/apis/memcache_v1beta2.rb +35 -0
- data/generated/google/apis/ml_v1/classes.rb +1518 -233
- data/generated/google/apis/ml_v1/representations.rb +559 -0
- data/generated/google/apis/ml_v1/service.rb +560 -25
- data/generated/google/apis/ml_v1.rb +5 -2
- data/generated/google/apis/monitoring_v1/classes.rb +1231 -0
- data/generated/google/apis/monitoring_v1/representations.rb +513 -0
- data/generated/google/apis/monitoring_v1/service.rb +246 -0
- data/generated/google/apis/monitoring_v1.rb +47 -0
- data/generated/google/apis/monitoring_v3/classes.rb +1330 -172
- data/generated/google/apis/monitoring_v3/representations.rb +482 -1
- data/generated/google/apis/monitoring_v3/service.rb +614 -162
- data/generated/google/apis/monitoring_v3.rb +7 -8
- data/generated/google/apis/networkmanagement_v1/classes.rb +1868 -0
- data/generated/google/apis/networkmanagement_v1/representations.rb +661 -0
- data/generated/google/apis/networkmanagement_v1/service.rb +667 -0
- data/generated/google/apis/networkmanagement_v1.rb +35 -0
- data/generated/google/apis/networkmanagement_v1beta1/classes.rb +1868 -0
- data/generated/google/apis/networkmanagement_v1beta1/representations.rb +661 -0
- data/generated/google/apis/networkmanagement_v1beta1/service.rb +667 -0
- data/generated/google/apis/{cloudprivatecatalogproducer_v1beta1.rb → networkmanagement_v1beta1.rb} +9 -9
- data/generated/google/apis/oauth2_v2/classes.rb +1 -81
- data/generated/google/apis/oauth2_v2/representations.rb +2 -36
- data/generated/google/apis/oauth2_v2/service.rb +10 -42
- data/generated/google/apis/oauth2_v2.rb +5 -5
- data/generated/google/apis/osconfig_v1/classes.rb +1225 -0
- data/generated/google/apis/osconfig_v1/representations.rb +506 -0
- data/generated/google/apis/osconfig_v1/service.rb +386 -0
- data/generated/google/apis/osconfig_v1.rb +35 -0
- data/generated/google/apis/osconfig_v1beta/classes.rb +2362 -0
- data/generated/google/apis/osconfig_v1beta/representations.rb +966 -0
- data/generated/google/apis/osconfig_v1beta/service.rb +605 -0
- data/generated/google/apis/osconfig_v1beta.rb +35 -0
- data/generated/google/apis/oslogin_v1/classes.rb +1 -1
- data/generated/google/apis/oslogin_v1/service.rb +10 -7
- data/generated/google/apis/oslogin_v1.rb +1 -2
- data/generated/google/apis/oslogin_v1alpha/service.rb +0 -1
- data/generated/google/apis/oslogin_v1alpha.rb +1 -2
- data/generated/google/apis/oslogin_v1beta/classes.rb +1 -1
- data/generated/google/apis/oslogin_v1beta/service.rb +9 -6
- data/generated/google/apis/oslogin_v1beta.rb +1 -2
- data/generated/google/apis/pagespeedonline_v5/classes.rb +534 -495
- data/generated/google/apis/pagespeedonline_v5/representations.rb +226 -221
- data/generated/google/apis/pagespeedonline_v5/service.rb +22 -24
- data/generated/google/apis/pagespeedonline_v5.rb +9 -4
- data/generated/google/apis/people_v1/classes.rb +104 -81
- data/generated/google/apis/people_v1/representations.rb +1 -0
- data/generated/google/apis/people_v1/service.rb +72 -79
- data/generated/google/apis/people_v1.rb +10 -1
- data/generated/google/apis/policytroubleshooter_v1/classes.rb +765 -0
- data/generated/google/apis/policytroubleshooter_v1/representations.rb +203 -0
- data/generated/google/apis/policytroubleshooter_v1/service.rb +90 -0
- data/generated/google/apis/policytroubleshooter_v1.rb +34 -0
- data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +254 -111
- data/generated/google/apis/policytroubleshooter_v1beta/service.rb +2 -3
- data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
- data/generated/google/apis/poly_v1.rb +1 -1
- data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +1137 -0
- data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +532 -0
- data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +1676 -0
- data/generated/google/apis/{pagespeedonline_v4.rb → prod_tt_sasportal_v1alpha1.rb} +12 -10
- data/generated/google/apis/pubsub_v1/classes.rb +248 -76
- data/generated/google/apis/pubsub_v1/representations.rb +18 -0
- data/generated/google/apis/pubsub_v1/service.rb +43 -31
- data/generated/google/apis/pubsub_v1.rb +1 -1
- data/generated/google/apis/pubsub_v1beta1a.rb +1 -1
- data/generated/google/apis/pubsub_v1beta2/classes.rb +144 -59
- data/generated/google/apis/pubsub_v1beta2/service.rb +10 -2
- data/generated/google/apis/pubsub_v1beta2.rb +1 -1
- data/generated/google/apis/recommender_v1beta1/classes.rb +221 -7
- data/generated/google/apis/recommender_v1beta1/representations.rb +96 -0
- data/generated/google/apis/recommender_v1beta1/service.rb +146 -19
- data/generated/google/apis/recommender_v1beta1.rb +1 -1
- data/generated/google/apis/redis_v1/classes.rb +48 -18
- data/generated/google/apis/redis_v1/representations.rb +14 -0
- data/generated/google/apis/redis_v1/service.rb +41 -5
- data/generated/google/apis/redis_v1.rb +1 -1
- data/generated/google/apis/redis_v1beta1/classes.rb +48 -18
- data/generated/google/apis/redis_v1beta1/representations.rb +14 -0
- data/generated/google/apis/redis_v1beta1/service.rb +41 -5
- data/generated/google/apis/redis_v1beta1.rb +1 -1
- data/generated/google/apis/remotebuildexecution_v1/classes.rb +352 -37
- data/generated/google/apis/remotebuildexecution_v1/representations.rb +99 -0
- data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
- data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +352 -37
- data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +99 -0
- data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
- data/generated/google/apis/remotebuildexecution_v2/classes.rb +362 -45
- data/generated/google/apis/remotebuildexecution_v2/representations.rb +100 -0
- data/generated/google/apis/remotebuildexecution_v2/service.rb +5 -1
- data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
- data/generated/google/apis/reseller_v1/service.rb +1 -1
- data/generated/google/apis/reseller_v1.rb +1 -1
- data/generated/google/apis/run_v1/classes.rb +308 -325
- data/generated/google/apis/run_v1/representations.rb +63 -103
- data/generated/google/apis/run_v1/service.rb +336 -933
- data/generated/google/apis/run_v1.rb +1 -1
- data/generated/google/apis/run_v1alpha1/classes.rb +1045 -392
- data/generated/google/apis/run_v1alpha1/representations.rb +343 -144
- data/generated/google/apis/run_v1alpha1/service.rb +1735 -492
- data/generated/google/apis/run_v1alpha1.rb +1 -1
- data/generated/google/apis/run_v1beta1/classes.rb +1 -1
- data/generated/google/apis/run_v1beta1.rb +4 -1
- data/generated/google/apis/runtimeconfig_v1.rb +1 -1
- data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +139 -57
- data/generated/google/apis/runtimeconfig_v1beta1/service.rb +8 -5
- data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
- data/generated/google/apis/safebrowsing_v4/classes.rb +2 -2
- data/generated/google/apis/safebrowsing_v4.rb +1 -1
- data/generated/google/apis/sasportal_v1alpha1/classes.rb +1137 -0
- data/generated/google/apis/sasportal_v1alpha1/representations.rb +532 -0
- data/generated/google/apis/sasportal_v1alpha1/service.rb +1676 -0
- data/generated/google/apis/{pagespeedonline_v2.rb → sasportal_v1alpha1.rb} +12 -10
- data/generated/google/apis/script_v1/classes.rb +4 -22
- data/generated/google/apis/script_v1.rb +1 -1
- data/generated/google/apis/searchconsole_v1.rb +1 -1
- data/generated/google/apis/secretmanager_v1/classes.rb +982 -0
- data/generated/google/apis/{cloudprivatecatalogproducer_v1beta1 → secretmanager_v1}/representations.rb +105 -116
- data/generated/google/apis/secretmanager_v1/service.rb +681 -0
- data/generated/google/apis/secretmanager_v1.rb +35 -0
- data/generated/google/apis/secretmanager_v1beta1/classes.rb +982 -0
- data/generated/google/apis/{servicebroker_v1beta1 → secretmanager_v1beta1}/representations.rb +114 -142
- data/generated/google/apis/secretmanager_v1beta1/service.rb +681 -0
- data/generated/google/apis/secretmanager_v1beta1.rb +35 -0
- data/generated/google/apis/securitycenter_v1/classes.rb +862 -138
- data/generated/google/apis/securitycenter_v1/representations.rb +221 -0
- data/generated/google/apis/securitycenter_v1/service.rb +225 -21
- data/generated/google/apis/securitycenter_v1.rb +4 -4
- data/generated/google/apis/securitycenter_v1beta1/classes.rb +782 -125
- data/generated/google/apis/securitycenter_v1beta1/representations.rb +192 -2
- data/generated/google/apis/securitycenter_v1beta1/service.rb +53 -51
- data/generated/google/apis/securitycenter_v1beta1.rb +4 -4
- data/generated/google/apis/securitycenter_v1p1alpha1/classes.rb +568 -0
- data/generated/google/apis/securitycenter_v1p1alpha1/representations.rb +190 -0
- data/generated/google/apis/securitycenter_v1p1alpha1/service.rb +3 -3
- data/generated/google/apis/securitycenter_v1p1alpha1.rb +4 -4
- data/generated/google/apis/securitycenter_v1p1beta1/classes.rb +2205 -0
- data/generated/google/apis/securitycenter_v1p1beta1/representations.rb +751 -0
- data/generated/google/apis/securitycenter_v1p1beta1/service.rb +1329 -0
- data/generated/google/apis/securitycenter_v1p1beta1.rb +35 -0
- data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +419 -64
- data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +98 -0
- data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
- data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +4159 -0
- data/generated/google/apis/serviceconsumermanagement_v1beta1/representations.rb +1307 -0
- data/generated/google/apis/serviceconsumermanagement_v1beta1/service.rb +428 -0
- data/generated/google/apis/serviceconsumermanagement_v1beta1.rb +34 -0
- data/generated/google/apis/servicecontrol_v1/classes.rb +255 -20
- data/generated/google/apis/servicecontrol_v1/representations.rb +87 -1
- data/generated/google/apis/servicecontrol_v1/service.rb +2 -1
- data/generated/google/apis/servicecontrol_v1.rb +1 -1
- data/generated/google/apis/servicedirectory_v1beta1/classes.rb +816 -0
- data/generated/google/apis/{surveys_v2 → servicedirectory_v1beta1}/representations.rb +103 -104
- data/generated/google/apis/servicedirectory_v1beta1/service.rb +992 -0
- data/generated/google/apis/servicedirectory_v1beta1.rb +35 -0
- data/generated/google/apis/servicemanagement_v1/classes.rb +459 -125
- data/generated/google/apis/servicemanagement_v1/representations.rb +61 -0
- data/generated/google/apis/servicemanagement_v1/service.rb +40 -29
- data/generated/google/apis/servicemanagement_v1.rb +1 -1
- data/generated/google/apis/servicenetworking_v1/classes.rb +986 -68
- data/generated/google/apis/servicenetworking_v1/representations.rb +403 -0
- data/generated/google/apis/servicenetworking_v1/service.rb +351 -23
- data/generated/google/apis/servicenetworking_v1.rb +1 -1
- data/generated/google/apis/servicenetworking_v1beta/classes.rb +575 -57
- data/generated/google/apis/servicenetworking_v1beta/representations.rb +223 -0
- data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
- data/generated/google/apis/serviceusage_v1/classes.rb +417 -64
- data/generated/google/apis/serviceusage_v1/representations.rb +110 -0
- data/generated/google/apis/serviceusage_v1/service.rb +42 -0
- data/generated/google/apis/serviceusage_v1.rb +1 -1
- data/generated/google/apis/serviceusage_v1beta1/classes.rb +644 -64
- data/generated/google/apis/serviceusage_v1beta1/representations.rb +198 -0
- data/generated/google/apis/serviceusage_v1beta1/service.rb +472 -0
- data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
- data/generated/google/apis/sheets_v4/classes.rb +1741 -253
- data/generated/google/apis/sheets_v4/representations.rb +283 -0
- data/generated/google/apis/sheets_v4/service.rb +9 -11
- data/generated/google/apis/sheets_v4.rb +1 -1
- data/generated/google/apis/slides_v1/classes.rb +1 -1
- data/generated/google/apis/slides_v1/service.rb +1 -1
- data/generated/google/apis/slides_v1.rb +1 -1
- data/generated/google/apis/sourcerepo_v1/classes.rb +173 -67
- data/generated/google/apis/sourcerepo_v1/service.rb +9 -1
- data/generated/google/apis/sourcerepo_v1.rb +1 -1
- data/generated/google/apis/spanner_v1/classes.rb +706 -71
- data/generated/google/apis/spanner_v1/representations.rb +194 -0
- data/generated/google/apis/spanner_v1/service.rb +770 -7
- data/generated/google/apis/spanner_v1.rb +1 -1
- data/generated/google/apis/speech_v1/classes.rb +15 -11
- data/generated/google/apis/speech_v1/representations.rb +2 -1
- data/generated/google/apis/speech_v1.rb +1 -1
- data/generated/google/apis/speech_v1p1beta1/classes.rb +197 -11
- data/generated/google/apis/speech_v1p1beta1/representations.rb +79 -1
- data/generated/google/apis/speech_v1p1beta1.rb +1 -1
- data/generated/google/apis/{speech_v2beta → speech_v2beta1}/classes.rb +16 -8
- data/generated/google/apis/{speech_v2beta → speech_v2beta1}/representations.rb +7 -6
- data/generated/google/apis/{speech_v2beta → speech_v2beta1}/service.rb +13 -13
- data/generated/google/apis/{speech_v2beta.rb → speech_v2beta1.rb} +6 -6
- data/generated/google/apis/{sqladmin_v1beta4 → sql_v1beta4}/classes.rb +701 -383
- data/generated/google/apis/{sqladmin_v1beta4 → sql_v1beta4}/representations.rb +209 -104
- data/generated/google/apis/{sqladmin_v1beta4 → sql_v1beta4}/service.rb +579 -597
- data/generated/google/apis/{sqladmin_v1beta4.rb → sql_v1beta4.rb} +7 -8
- data/generated/google/apis/storage_v1/classes.rb +73 -7
- data/generated/google/apis/storage_v1/representations.rb +10 -0
- data/generated/google/apis/storage_v1/service.rb +29 -4
- data/generated/google/apis/storage_v1.rb +1 -1
- data/generated/google/apis/storage_v1beta2/service.rb +1 -1
- data/generated/google/apis/storage_v1beta2.rb +1 -1
- data/generated/google/apis/storagetransfer_v1/classes.rb +280 -79
- data/generated/google/apis/storagetransfer_v1/representations.rb +52 -0
- data/generated/google/apis/storagetransfer_v1/service.rb +19 -41
- data/generated/google/apis/storagetransfer_v1.rb +1 -1
- data/generated/google/apis/streetviewpublish_v1/classes.rb +1 -1
- data/generated/google/apis/streetviewpublish_v1/service.rb +1 -1
- data/generated/google/apis/streetviewpublish_v1.rb +1 -1
- data/generated/google/apis/tagmanager_v1/classes.rb +2 -0
- data/generated/google/apis/tagmanager_v1/service.rb +1 -1
- data/generated/google/apis/tagmanager_v1.rb +1 -1
- data/generated/google/apis/tagmanager_v2/classes.rb +170 -0
- data/generated/google/apis/tagmanager_v2/representations.rb +49 -0
- data/generated/google/apis/tagmanager_v2/service.rb +1 -1
- data/generated/google/apis/tagmanager_v2.rb +1 -1
- data/generated/google/apis/tasks_v1/classes.rb +26 -25
- data/generated/google/apis/tasks_v1/representations.rb +4 -8
- data/generated/google/apis/tasks_v1/service.rb +78 -124
- data/generated/google/apis/tasks_v1.rb +3 -3
- data/generated/google/apis/testing_v1/classes.rb +187 -1
- data/generated/google/apis/testing_v1/representations.rb +93 -0
- data/generated/google/apis/testing_v1.rb +1 -1
- data/generated/google/apis/texttospeech_v1.rb +1 -1
- data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
- data/generated/google/apis/toolresults_v1beta3/classes.rb +2061 -1133
- data/generated/google/apis/toolresults_v1beta3/representations.rb +723 -13
- data/generated/google/apis/toolresults_v1beta3/service.rb +663 -591
- data/generated/google/apis/toolresults_v1beta3.rb +2 -2
- data/generated/google/apis/tpu_v1/classes.rb +3 -4
- data/generated/google/apis/tpu_v1.rb +1 -1
- data/generated/google/apis/tpu_v1alpha1/classes.rb +3 -4
- data/generated/google/apis/tpu_v1alpha1.rb +1 -1
- data/generated/google/apis/translate_v3/classes.rb +946 -0
- data/generated/google/apis/translate_v3/representations.rb +439 -0
- data/generated/google/apis/translate_v3/service.rb +781 -0
- data/generated/google/apis/translate_v3.rb +37 -0
- data/generated/google/apis/translate_v3beta1.rb +1 -1
- data/generated/google/apis/vault_v1/classes.rb +10 -7
- data/generated/google/apis/vault_v1/service.rb +7 -7
- data/generated/google/apis/vault_v1.rb +1 -1
- data/generated/google/apis/verifiedaccess_v1/service.rb +2 -2
- data/generated/google/apis/verifiedaccess_v1.rb +3 -3
- data/generated/google/apis/videointelligence_v1/classes.rb +1205 -118
- data/generated/google/apis/videointelligence_v1/representations.rb +492 -0
- data/generated/google/apis/videointelligence_v1.rb +1 -1
- data/generated/google/apis/videointelligence_v1beta2/classes.rb +1205 -118
- data/generated/google/apis/videointelligence_v1beta2/representations.rb +492 -0
- data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
- data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +1216 -129
- data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +492 -0
- data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
- data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +1205 -118
- data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +492 -0
- data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
- data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +1290 -116
- data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +526 -0
- data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
- data/generated/google/apis/vision_v1/classes.rb +67 -1
- data/generated/google/apis/vision_v1/representations.rb +32 -0
- data/generated/google/apis/vision_v1/service.rb +1 -1
- data/generated/google/apis/vision_v1.rb +1 -1
- data/generated/google/apis/vision_v1p1beta1/classes.rb +67 -1
- data/generated/google/apis/vision_v1p1beta1/representations.rb +32 -0
- data/generated/google/apis/vision_v1p1beta1.rb +1 -1
- data/generated/google/apis/vision_v1p2beta1/classes.rb +67 -1
- data/generated/google/apis/vision_v1p2beta1/representations.rb +32 -0
- data/generated/google/apis/vision_v1p2beta1.rb +1 -1
- data/generated/google/apis/websecurityscanner_v1/classes.rb +75 -4
- data/generated/google/apis/websecurityscanner_v1/representations.rb +32 -0
- data/generated/google/apis/websecurityscanner_v1/service.rb +1 -1
- data/generated/google/apis/websecurityscanner_v1.rb +2 -2
- data/generated/google/apis/websecurityscanner_v1alpha/classes.rb +5 -4
- data/generated/google/apis/websecurityscanner_v1alpha/service.rb +1 -1
- data/generated/google/apis/websecurityscanner_v1alpha.rb +2 -2
- data/generated/google/apis/websecurityscanner_v1beta/classes.rb +77 -6
- data/generated/google/apis/websecurityscanner_v1beta/representations.rb +32 -0
- data/generated/google/apis/websecurityscanner_v1beta/service.rb +1 -1
- data/generated/google/apis/websecurityscanner_v1beta.rb +2 -2
- data/generated/google/apis/youtube_analytics_v1.rb +1 -1
- data/generated/google/apis/youtube_analytics_v2.rb +1 -1
- data/generated/google/apis/youtube_partner_v1/service.rb +2 -2
- data/generated/google/apis/youtube_partner_v1.rb +1 -1
- data/generated/google/apis/youtube_v3/classes.rb +1376 -1262
- data/generated/google/apis/youtube_v3/representations.rb +99 -191
- data/generated/google/apis/youtube_v3/service.rb +1829 -2150
- data/generated/google/apis/youtube_v3.rb +8 -5
- data/generated/google/apis/youtubereporting_v1.rb +1 -1
- data/google-api-client.gemspec +6 -3
- data/lib/google/apis/core/api_command.rb +7 -0
- data/lib/google/apis/core/base_service.rb +1 -1
- data/lib/google/apis/core/http_command.rb +11 -10
- data/lib/google/apis/core/upload.rb +4 -0
- data/lib/google/apis/generator/annotator.rb +1 -1
- data/lib/google/apis/version.rb +9 -4
- data/rakelib/devsite/devsite_builder.rb +126 -0
- data/rakelib/devsite/link_checker.rb +64 -0
- data/rakelib/devsite/repo_metadata.rb +56 -0
- metadata +193 -110
- data/generated/google/apis/analytics_v2_4/representations.rb +0 -26
- data/generated/google/apis/analytics_v2_4/service.rb +0 -331
- data/generated/google/apis/analytics_v2_4.rb +0 -37
- data/generated/google/apis/cloudprivatecatalog_v1beta1/classes.rb +0 -358
- data/generated/google/apis/cloudprivatecatalog_v1beta1/service.rb +0 -486
- data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/service.rb +0 -1081
- data/generated/google/apis/commentanalyzer_v1alpha1/classes.rb +0 -485
- data/generated/google/apis/commentanalyzer_v1alpha1/representations.rb +0 -210
- data/generated/google/apis/commentanalyzer_v1alpha1/service.rb +0 -124
- data/generated/google/apis/commentanalyzer_v1alpha1.rb +0 -39
- data/generated/google/apis/fusiontables_v1/classes.rb +0 -977
- data/generated/google/apis/fusiontables_v1/representations.rb +0 -449
- data/generated/google/apis/fusiontables_v1/service.rb +0 -1307
- data/generated/google/apis/fusiontables_v1.rb +0 -37
- data/generated/google/apis/fusiontables_v2/classes.rb +0 -1049
- data/generated/google/apis/fusiontables_v2/representations.rb +0 -457
- data/generated/google/apis/fusiontables_v2/service.rb +0 -1431
- data/generated/google/apis/fusiontables_v2.rb +0 -37
- data/generated/google/apis/mirror_v1/classes.rb +0 -1072
- data/generated/google/apis/mirror_v1/representations.rb +0 -390
- data/generated/google/apis/mirror_v1/service.rb +0 -928
- data/generated/google/apis/mirror_v1.rb +0 -37
- data/generated/google/apis/oauth2_v1/classes.rb +0 -197
- data/generated/google/apis/oauth2_v1/service.rb +0 -160
- data/generated/google/apis/oauth2_v1.rb +0 -40
- data/generated/google/apis/pagespeedonline_v1/classes.rb +0 -542
- data/generated/google/apis/pagespeedonline_v1/representations.rb +0 -258
- data/generated/google/apis/pagespeedonline_v1/service.rb +0 -116
- data/generated/google/apis/pagespeedonline_v2/classes.rb +0 -621
- data/generated/google/apis/pagespeedonline_v2/representations.rb +0 -273
- data/generated/google/apis/pagespeedonline_v2/service.rb +0 -116
- data/generated/google/apis/pagespeedonline_v4/classes.rb +0 -795
- data/generated/google/apis/pagespeedonline_v4/representations.rb +0 -335
- data/generated/google/apis/pagespeedonline_v4/service.rb +0 -125
- data/generated/google/apis/plus_domains_v1/classes.rb +0 -2609
- data/generated/google/apis/plus_domains_v1/representations.rb +0 -1111
- data/generated/google/apis/plus_domains_v1/service.rb +0 -489
- data/generated/google/apis/plus_domains_v1.rb +0 -55
- data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +0 -845
- data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +0 -350
- data/generated/google/apis/proximitybeacon_v1beta1/service.rb +0 -933
- data/generated/google/apis/replicapool_v1beta1/classes.rb +0 -918
- data/generated/google/apis/replicapool_v1beta1/representations.rb +0 -409
- data/generated/google/apis/replicapool_v1beta1/service.rb +0 -489
- data/generated/google/apis/replicapool_v1beta1.rb +0 -50
- data/generated/google/apis/servicebroker_v1/classes.rb +0 -333
- data/generated/google/apis/servicebroker_v1/service.rb +0 -177
- data/generated/google/apis/servicebroker_v1alpha1/classes.rb +0 -1037
- data/generated/google/apis/servicebroker_v1alpha1/service.rb +0 -737
- data/generated/google/apis/servicebroker_v1beta1/classes.rb +0 -1173
- data/generated/google/apis/servicebroker_v1beta1/service.rb +0 -926
- data/generated/google/apis/storage_v1beta1/classes.rb +0 -616
- data/generated/google/apis/storage_v1beta1/representations.rb +0 -249
- data/generated/google/apis/storage_v1beta1/service.rb +0 -1032
- data/generated/google/apis/storage_v1beta1.rb +0 -40
- data/generated/google/apis/surveys_v2/classes.rb +0 -691
- data/generated/google/apis/surveys_v2.rb +0 -40
- data/generated/google/apis/urlshortener_v1/classes.rb +0 -246
- data/generated/google/apis/urlshortener_v1/representations.rb +0 -121
- data/generated/google/apis/urlshortener_v1/service.rb +0 -169
- data/generated/google/apis/urlshortener_v1.rb +0 -34
@@ -0,0 +1,340 @@
|
|
1
|
+
# Getting Started
|
2
|
+
|
3
|
+
This document provides all the basic information you need to start using the library. It covers important library concepts, shows examples for various use cases, and gives links to more information.
|
4
|
+
|
5
|
+
## Setup
|
6
|
+
|
7
|
+
There are a few setup steps you need to complete before you can use this library:
|
8
|
+
|
9
|
+
1. If you don't already have a Google account, [sign up](https://www.google.com/accounts).
|
10
|
+
2. If you have never created a Google APIs Console project, read the [Managing Projects page](http://developers.google.com/console/help/managing-projects) and create a project in the [Google API Console](https://console.developers.google.com/).
|
11
|
+
|
12
|
+
## Authentication and authorization
|
13
|
+
|
14
|
+
It is important to understand the basics of how API authentication and authorization are handled. All API calls must use either simple or authorized access (defined below). Many API methods require authorized access, but some can use either. Some API methods that can use either behave differently, depending on whether you use simple or authorized access. See the API's method documentation to determine the appropriate access type.
|
15
|
+
|
16
|
+
### 1. Simple API access (API keys)
|
17
|
+
|
18
|
+
These API calls do not access any private user data. Your application must authenticate itself as an application belonging to your Google Cloud project. This is needed to measure project usage for accounting purposes.
|
19
|
+
|
20
|
+
**API key**: To authenticate your application, use an [API key](https://cloud.google.com/docs/authentication/api-keys) for your Google Cloud Console project. Every simple access call your application makes must include this key.
|
21
|
+
|
22
|
+
> **Warning**: Keep your API key private. If someone obtains your key, they could use it to consume your quota or incur charges against your Google Cloud project.
|
23
|
+
|
24
|
+
### 2. Authorized API access (OAuth 2.0)
|
25
|
+
|
26
|
+
These API calls access private user data. Before you can call them, the user that has access to the private data must grant your application access. Therefore, your application must be authenticated, the user must grant access for your application, and the user must be authenticated in order to grant that access. All of this is accomplished with [OAuth 2.0](https://developers.google.com/identity/protocols/OAuth2) and libraries written for it.
|
27
|
+
|
28
|
+
* **Scope**: Each API defines one or more scopes that declare a set of operations permitted. For example, an API might have read-only and read-write scopes. When your application requests access to user data, the request must include one or more scopes. The user needs to approve the scope of access your application is requesting.
|
29
|
+
* **Refresh and access tokens**: When a user grants your application access, the OAuth 2.0 authorization server provides your application with refresh and access tokens. These tokens are only valid for the scope requested. Your application uses access tokens to authorize API calls. Access tokens expire, but refresh tokens do not. Your application can use a refresh token to acquire a new access token.
|
30
|
+
|
31
|
+
> **Warning**: Keep refresh and access tokens private. If someone obtains your tokens, they could use them to access private user data.
|
32
|
+
|
33
|
+
* **Client ID and client secret**: These strings uniquely identify your application and are used to acquire tokens. They are created for your Google Cloud project on the [API Access pane](https://console.developers.google.com/apis/credentials) of the Google Cloud. There are several types of client IDs, so be sure to get the correct type for your application:
|
34
|
+
|
35
|
+
* Web application client IDs
|
36
|
+
* Installed application client IDs
|
37
|
+
* [Service Account](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) client IDs
|
38
|
+
|
39
|
+
> **Warning**: Keep your client secret private. If someone obtains your client secret, they could use it to consume your quota, incur charges against your Google Cloud project, and request access to user data.
|
40
|
+
|
41
|
+
## Installation
|
42
|
+
|
43
|
+
Add this line to your application's Gemfile:
|
44
|
+
|
45
|
+
```ruby
|
46
|
+
gem 'google-api-client', '~> 0.34'
|
47
|
+
|
48
|
+
```
|
49
|
+
|
50
|
+
And then execute:
|
51
|
+
|
52
|
+
$ bundle
|
53
|
+
|
54
|
+
Or install it yourself as:
|
55
|
+
|
56
|
+
$ gem install google-api-client
|
57
|
+
|
58
|
+
## Usage
|
59
|
+
|
60
|
+
### Basic usage
|
61
|
+
|
62
|
+
To use an API, include the corresponding generated file and instantiate the service. For example to use the Drive API:
|
63
|
+
|
64
|
+
```ruby
|
65
|
+
require 'google/apis/drive_v2'
|
66
|
+
|
67
|
+
Drive = Google::Apis::DriveV2 # Alias the module
|
68
|
+
drive = Drive::DriveService.new
|
69
|
+
drive.authorization = ... # See Googleauth or Signet libraries
|
70
|
+
|
71
|
+
# Search for files in Drive (first page only)
|
72
|
+
files = drive.list_files(q: "title contains 'finances'")
|
73
|
+
files.items.each do |file|
|
74
|
+
puts file.title
|
75
|
+
end
|
76
|
+
|
77
|
+
# Upload a file
|
78
|
+
metadata = Drive::File.new(title: 'My document')
|
79
|
+
metadata = drive.insert_file(metadata, upload_source: 'test.txt', content_type: 'text/plain')
|
80
|
+
|
81
|
+
# Download a file
|
82
|
+
drive.get_file(metadata.id, download_dest: '/tmp/myfile.txt')
|
83
|
+
```
|
84
|
+
### Naming conventions vs JSON representation
|
85
|
+
|
86
|
+
Object properties in the ruby client use the standard ruby convention for naming -- snake_case. This differs from the underlying JSON representation which typically uses camelCase for properties. There are a few notable exceptions to this rule:
|
87
|
+
|
88
|
+
* For properties that are defined as hashes with user-defined keys, no translation is performed on the key.
|
89
|
+
* For embedded field masks in requests (for example, the Sheets API), specify the camelCase form when referencing fields.
|
90
|
+
|
91
|
+
Outside those exceptions, if a property is specified using camelCase in a request, it will be ignored during serialization and omitted from the request.
|
92
|
+
|
93
|
+
### Media
|
94
|
+
|
95
|
+
Methods that allow media operations have additional parameters to specify the upload source or download destination.
|
96
|
+
|
97
|
+
For uploads, the `upload_source` parameter can be specified with either a path to a file, an `IO` stream, or `StringIO`
|
98
|
+
instance.
|
99
|
+
|
100
|
+
For downloads, the `download_dest` parameter can also be either a path to a file, an `IO` stream, or `StringIO` instance.
|
101
|
+
|
102
|
+
Both uploads & downloads are resumable. If an error occurs during transmission the request will be automatically
|
103
|
+
retried from the last received byte.
|
104
|
+
|
105
|
+
### Errors & Retries
|
106
|
+
|
107
|
+
Retries are disabled by default, but enabling retries is strongly encouraged. The number of retries can be configured
|
108
|
+
via `Google::Apis::RequestOptions`. Any number greater than 0 will enable retries.
|
109
|
+
|
110
|
+
To enable retries for all services:
|
111
|
+
|
112
|
+
```ruby
|
113
|
+
Google::Apis::RequestOptions.default.retries = 5
|
114
|
+
```
|
115
|
+
|
116
|
+
With retries enabled globally, retries can be disabled for specific calls by including a retry value of 0 in the
|
117
|
+
request options:
|
118
|
+
|
119
|
+
```ruby
|
120
|
+
drive.insert_file(metadata, upload_source: 'test.txt', content_type: 'text/plain', options: { retries: 0 })
|
121
|
+
```
|
122
|
+
|
123
|
+
When retries are enabled, if a server or rate limit error occurs during a request it is automatically retried with
|
124
|
+
an exponentially increasing delay on subsequent retries. If a request can not be retried or if the maximum number
|
125
|
+
of retries is exceeded, an exception is thrown.
|
126
|
+
|
127
|
+
### Callbacks
|
128
|
+
|
129
|
+
A block can be specified when making calls. If present, the block will be called with the result or error, rather than
|
130
|
+
returning the result from the call or raising the error. Example:
|
131
|
+
|
132
|
+
```ruby
|
133
|
+
# Search for files in Drive (first page only)
|
134
|
+
drive.list_files(q: "title contains 'finances'") do |res, err|
|
135
|
+
if err
|
136
|
+
# Handle error
|
137
|
+
else
|
138
|
+
# Handle response
|
139
|
+
end
|
140
|
+
end
|
141
|
+
```
|
142
|
+
|
143
|
+
This calling style is required when making batch requests as responses are not available until the entire batch
|
144
|
+
is complete.
|
145
|
+
|
146
|
+
### Paging
|
147
|
+
|
148
|
+
To fetch multiple pages of data, use the `fetch_all` method to wrap the paged query. This returns an
|
149
|
+
`Enumerable` that automatically fetches additional pages as needed.
|
150
|
+
|
151
|
+
```ruby
|
152
|
+
# List all calendar events
|
153
|
+
now = Time.now.iso8601
|
154
|
+
items = calendar.fetch_all do |token|
|
155
|
+
calendar.list_events('primary',
|
156
|
+
single_events: true,
|
157
|
+
order_by: 'startTime',
|
158
|
+
time_min: now,
|
159
|
+
page_token: token)
|
160
|
+
end
|
161
|
+
items.each { |event| puts event.summary }
|
162
|
+
```
|
163
|
+
|
164
|
+
For APIs that use a field other than `items` to contain the results, an alternate field name can be supplied.
|
165
|
+
|
166
|
+
```ruby
|
167
|
+
# List all files in Drive
|
168
|
+
items = drive.fetch_all(items: :files) { |token| drive.list_files(page_token: token) }
|
169
|
+
items.each { |file| puts file.name }
|
170
|
+
```
|
171
|
+
|
172
|
+
### Batches
|
173
|
+
|
174
|
+
Multiple requests can be batched together into a single HTTP request to reduce overhead. Batched calls are executed
|
175
|
+
in parallel and the responses processed once all results are available
|
176
|
+
|
177
|
+
|
178
|
+
```ruby
|
179
|
+
# Fetch a bunch of files by ID
|
180
|
+
ids = ['file_id_1', 'file_id_2', 'file_id_3', 'file_id_4']
|
181
|
+
drive.batch do |drive|
|
182
|
+
ids.each do |id|
|
183
|
+
drive.get_file(id) do |res, err|
|
184
|
+
# Handle response
|
185
|
+
end
|
186
|
+
end
|
187
|
+
end
|
188
|
+
```
|
189
|
+
|
190
|
+
Media operations -- uploads & downloads -- can not be included in batch with other requests.
|
191
|
+
|
192
|
+
However, some APIs support batch uploads. To upload multiple files in a batch, use the `batch_upload` method instead.
|
193
|
+
Batch uploads should only be used when uploading multiple small files. For large files, upload files individually to
|
194
|
+
take advantage of the libraries built-in resumable upload support.
|
195
|
+
|
196
|
+
### Hashes
|
197
|
+
|
198
|
+
While the API will always return instances of schema classes, plain hashes are accepted in method calls for
|
199
|
+
convenience. Hash keys must be symbols matching the attribute names on the corresponding object the hash is meant
|
200
|
+
to replace. For example:
|
201
|
+
|
202
|
+
```ruby
|
203
|
+
file = {id: '123', title: 'My document', labels: { starred: true }}
|
204
|
+
file = drive.create_file(file, {}) # Returns a Drive::File instance
|
205
|
+
```
|
206
|
+
|
207
|
+
is equivalent to:
|
208
|
+
|
209
|
+
```ruby
|
210
|
+
file = Drive::File.new(id: '123', title: 'My document')
|
211
|
+
file.labels = Drive::File::Labels.new(starred: true)
|
212
|
+
file = drive.update_file(file) # Returns a Drive::File instance
|
213
|
+
```
|
214
|
+
|
215
|
+
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.
|
216
|
+
|
217
|
+
```ruby
|
218
|
+
file = {id: '123', title: 'My document', labels: { starred: true }}
|
219
|
+
file = drive.create_file(file) # Raises ArgumentError: unknown keywords: id, title, labels
|
220
|
+
file = drive.create_file(file, {}) # Returns a Drive::File instance
|
221
|
+
```
|
222
|
+
|
223
|
+
### Using raw JSON
|
224
|
+
|
225
|
+
To handle JSON serialization or deserialization in the application, set `skip_serialization` or
|
226
|
+
or `skip_deserializaton` options respectively. When setting `skip_serialization` in a request,
|
227
|
+
the body object must be a string representing the serialized JSON.
|
228
|
+
|
229
|
+
When setting `skip_deserialization` to true, the response from the API will likewise
|
230
|
+
be a string containing the raw JSON from the server.
|
231
|
+
|
232
|
+
## Authorization
|
233
|
+
|
234
|
+
[OAuth 2](https://developers.google.com/accounts/docs/OAuth2) is used to authorize applications. This library uses
|
235
|
+
both [Signet](https://github.com/google/signet) and
|
236
|
+
[Google Auth Library for Ruby](https://github.com/google/google-auth-library-ruby) for OAuth 2 support.
|
237
|
+
|
238
|
+
The [Google Auth Library for Ruby](https://github.com/google/google-auth-library-ruby) provides an implementation of
|
239
|
+
[application default credentials] for Ruby. It offers a simple way to get authorization credentials for use in
|
240
|
+
calling Google APIs, best suited for cases when the call needs to have the same identity
|
241
|
+
and authorization level for the application independent of the user. This is
|
242
|
+
the recommended approach to authorize calls to Cloud APIs, particularly when
|
243
|
+
you're building an application that uses Google Compute Engine.
|
244
|
+
|
245
|
+
For per-user authorization, use [Signet](https://github.com/google/signet) to obtain user authorization.
|
246
|
+
|
247
|
+
### Passing authorization to requests
|
248
|
+
|
249
|
+
Authorization can be specified for the entire client, for an individual service instance, or on a per-request basis.
|
250
|
+
|
251
|
+
Set authorization for all service:
|
252
|
+
|
253
|
+
```ruby
|
254
|
+
Google::Apis::RequestOptions.default.authorization = authorization
|
255
|
+
# Services instantiated after this will inherit the authorization
|
256
|
+
```
|
257
|
+
|
258
|
+
On a per-service level:
|
259
|
+
|
260
|
+
```ruby
|
261
|
+
drive = Google::Apis::DriveV2::DriveService.new
|
262
|
+
drive.authorization = authorization
|
263
|
+
|
264
|
+
# All requests made with this service will use the same authorization
|
265
|
+
```
|
266
|
+
|
267
|
+
Per-request:
|
268
|
+
|
269
|
+
```ruby
|
270
|
+
drive.get_file('123', options: { authorization: authorization })
|
271
|
+
```
|
272
|
+
|
273
|
+
### Authorization using API keys
|
274
|
+
|
275
|
+
Some APIs allow using an API key instead of OAuth2 tokens. For these APIs, set
|
276
|
+
the `key` attribute of the service instance. For example:
|
277
|
+
|
278
|
+
```ruby
|
279
|
+
require 'google/apis/translate_v2'
|
280
|
+
|
281
|
+
translate = Google::Apis::TranslateV2::TranslateService.new
|
282
|
+
translate.key = 'YOUR_API_KEY_HERE'
|
283
|
+
result = translate.list_translations('Hello world!', 'es', source: 'en')
|
284
|
+
puts result.translations.first.translated_text
|
285
|
+
```
|
286
|
+
|
287
|
+
## Customizing endpoints
|
288
|
+
|
289
|
+
By default, client objects will connect to the default Google endpoints for =
|
290
|
+
their respective APIs. If you need to connect to a regional endpoint, a test
|
291
|
+
endpoint, or other custom endpoint, modify the `root_url` attribute of the
|
292
|
+
client object. For example:
|
293
|
+
|
294
|
+
```ruby
|
295
|
+
require "google/apis/docs_v1"
|
296
|
+
docs_service = Google::Apis::DocsV1::DocsService.new
|
297
|
+
|
298
|
+
docs_service.root_url = "https://my-custom-docs-endpoint.example.com/"
|
299
|
+
|
300
|
+
document = docs_service.get_document("my-document-id")
|
301
|
+
```
|
302
|
+
|
303
|
+
## Samples
|
304
|
+
|
305
|
+
See the [samples](https://github.com/google/google-api-ruby-client/tree/master/samples) for examples on how to use the client library for various
|
306
|
+
services.
|
307
|
+
|
308
|
+
## Generating APIs
|
309
|
+
|
310
|
+
For [Cloud Endpoints](https://cloud.google.com/endpoints/) or other APIs not included in the gem, ruby code can be
|
311
|
+
generated from the discovery document.
|
312
|
+
|
313
|
+
To generate from a local discovery file:
|
314
|
+
|
315
|
+
$ generate-api gen <outdir> --file=<path>
|
316
|
+
|
317
|
+
A URL can also be specified:
|
318
|
+
|
319
|
+
$ generate-api gen <outdir> --url=<url>
|
320
|
+
|
321
|
+
## Supported Ruby Versions
|
322
|
+
|
323
|
+
This library is currently supported on Ruby 1.9+.
|
324
|
+
However, Ruby 2.4 or later is strongly recommended, as earlier releases have
|
325
|
+
reached or are nearing end-of-life. After March 31, 2019, Google will provide
|
326
|
+
official support only for Ruby versions that are considered current and
|
327
|
+
supported by Ruby Core (that is, Ruby versions that are either in normal
|
328
|
+
maintenance or in security maintenance).
|
329
|
+
See https://www.ruby-lang.org/en/downloads/branches/ for further details.
|
330
|
+
|
331
|
+
## License
|
332
|
+
|
333
|
+
This library is licensed under Apache 2.0. Full license text is
|
334
|
+
available in [LICENSE](LICENSE).
|
335
|
+
|
336
|
+
## Support
|
337
|
+
|
338
|
+
Please [report bugs at the project on Github](https://github.com/google/google-api-ruby-client/issues). Don't
|
339
|
+
hesitate to [ask questions](http://stackoverflow.com/questions/tagged/google-api-ruby-client) about the client or APIs
|
340
|
+
on [StackOverflow](http://stackoverflow.com).
|
File without changes
|
data/docs/logging.md
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
# Logging
|
2
|
+
|
3
|
+
This page provides logging tips to help you debug your applications.
|
4
|
+
|
5
|
+
## Accessing the Logger
|
6
|
+
|
7
|
+
Logging is enabled by default in this library using Ruby's standard Logger class.
|
8
|
+
|
9
|
+
You can access the library logger with the logger property of Google::Apis.
|
10
|
+
|
11
|
+
## Log Level
|
12
|
+
You can set the logging level to one of the following:
|
13
|
+
|
14
|
+
- FATAL (least amount of logging)
|
15
|
+
- ERROR
|
16
|
+
- WARN
|
17
|
+
- INFO
|
18
|
+
- DEBUG (most amount of logging)
|
19
|
+
In the following code, the logging level is set to DEBUG and the Google Plus API is called:
|
20
|
+
|
21
|
+
```rb
|
22
|
+
require 'google/apis/plus_v1'
|
23
|
+
|
24
|
+
Google::Apis.logger.level = Logger::DEBUG
|
25
|
+
|
26
|
+
plus = Google::Apis::PlusV1::PlusService.new
|
27
|
+
activities = plus.list_activities('103354693083460731603', 'public')
|
28
|
+
```
|
29
|
+
|
30
|
+
The output of this code should include debug info:
|
31
|
+
|
32
|
+
```
|
33
|
+
D, [2015-06-26T14:33:42.583914 #12144] DEBUG -- : Sending HTTP get https://www.googleapis.com/plus/v1/people/103354693083460731603/activities/public?key=...
|
34
|
+
```
|
@@ -0,0 +1,25 @@
|
|
1
|
+
## Media Upload
|
2
|
+
|
3
|
+
For APIs that support file uploads, two additional keyword parameters are available on the method. The parameter upload_source specifies the content to upload while content_type indicates the MIME type. The upload source may be either a file name, IO, or StringIO instance.
|
4
|
+
|
5
|
+
For example, to upload a file named 'mymovie.m4v' to Google Drive:
|
6
|
+
|
7
|
+
```rb
|
8
|
+
require 'google/apis/drive_v2'
|
9
|
+
|
10
|
+
drive = Google::Apis::DriveV2:DriveService.new
|
11
|
+
drive.authorization = ...
|
12
|
+
drive.insert_file({title: 'My Favorite Movie'}, upload_source: 'mymovie.m4v',
|
13
|
+
content_type: 'video/mp4')
|
14
|
+
```
|
15
|
+
|
16
|
+
## Resumable media
|
17
|
+
|
18
|
+
For large media files, you can use resumable media uploads to send files, which allows files to be uploaded in smaller chunks. This is especially useful if you are transferring large files, and the likelihood of a network interruption or some other transmission failure is high. It can also reduce your bandwidth usage in the event of network failures because you don't have to restart large file uploads from the beginning.
|
19
|
+
|
20
|
+
To use resumable uploads, enable retries by setting the retry count to any value greater than 0. The client will automatically resume the upload in the event of an error, up to the configured number of retries.:
|
21
|
+
|
22
|
+
```rb
|
23
|
+
drive.insert_file(file_metadata, upload_source: 'mymovie.m4v',
|
24
|
+
content_type: 'video/mp4', options: { retries: 3 } )
|
25
|
+
```
|
@@ -0,0 +1,191 @@
|
|
1
|
+
# Using OAuth 2.0 for Installed Applications
|
2
|
+
|
3
|
+
The Google APIs Client Library for Ruby supports using OAuth 2.0 in applications that are installed on a device such as a computer, a cell phone, or a tablet. Installed apps are distributed to individual machines, and it is assumed that these apps cannot keep secrets. These apps might access a Google API while the user is present at the app, or when the app is running in the background.
|
4
|
+
|
5
|
+
This document is for you if:
|
6
|
+
|
7
|
+
- You are writing an installed app for a platform other than Android or iOS, and
|
8
|
+
- Your installed app will run on devices that have a system browser and rich input capabilities, such as devices with full keyboards.
|
9
|
+
|
10
|
+
If you are writing an app for Android or iOS, use [Google Sign-In](https://developers.google.com/identity) to authenticate your users. The Google Sign-In button manages the OAuth 2.0 flow both for authentication and for obtaining authorization to Google APIs. To add the Google Sign-In button, follow the steps for [Android](https://developers.google.com/identity/sign-in/android) or [iOS](https://developers.google.com/identity/sign-in/ios).
|
11
|
+
|
12
|
+
If your app will run on devices that do not have access to a system browser, or devices with limited input capabilities (for example, if your app will run on game consoles, video cameras, or printers), then see [Using OAuth 2.0 for Devices](https://developers.google.com/accounts/docs/OAuth2ForDevices).
|
13
|
+
|
14
|
+
## Overview
|
15
|
+
|
16
|
+
To use OAuth 2.0 in a locally-installed application, first create application credentials for your project in the API Console.
|
17
|
+
|
18
|
+
Then, when your application needs to access a user's data with a Google API, your application sends the user to Google's OAuth 2.0 server. The OAuth 2.0 server authenticates the user and obtains consent from the user for your application to access the user's data.
|
19
|
+
|
20
|
+
Next, Google's OAuth 2.0 server sends a single-use authorization code to your application, either in the title bar of the browser or in the query string of an HTTP request to the local host. Your application exchanges this authorization code for an access token.
|
21
|
+
|
22
|
+
Finally, your application can use the access token to call Google APIs.
|
23
|
+
|
24
|
+
This flow is similar to the one shown in the [Using OAuth 2.0 for Web Server Applications](docs/oauth-server.md), but with three differences:
|
25
|
+
|
26
|
+
- When creating a client ID, you specify that your application is an Installed application. This results in a different value for the redirect_uri parameter.
|
27
|
+
- The client ID and client secret obtained from the API Console are embedded in the source code of your application. In this context, the client secret is obviously not treated as a secret.
|
28
|
+
- The authorization code can be returned to your application in the title bar of the browser or in the query string of an HTTP request to the local host.
|
29
|
+
|
30
|
+
## Creating application credentials
|
31
|
+
|
32
|
+
All applications that use OAuth 2.0 must have credentials that identify the application to the OAuth 2.0 server. Applications that have these credentials can access the APIs that you enabled for your project.
|
33
|
+
|
34
|
+
To obtain application credentials for your project, complete these steps:
|
35
|
+
|
36
|
+
1. Open the [Credentials page](https://console.developers.google.com/apis/credentials) in the API Console.
|
37
|
+
1. If you haven't done so already, create your OAuth 2.0 credentials by clicking **Create new Client ID** under the **OAuth** heading and selecting the **Installed application** type. Next, look for your application's client ID and client secret in the relevant table.
|
38
|
+
|
39
|
+
Download the client_secrets.json file and securely store it in a location that only your application can access.
|
40
|
+
|
41
|
+
> **Important:** Do not store the client_secrets.json file in a publicly-accessible location, and if you share the source code to your application—for example, on GitHub—store the client_secrets.json file outside of your source tree to avoid inadvertently sharing your client credentials.
|
42
|
+
|
43
|
+
## Configuring the client object
|
44
|
+
|
45
|
+
Use the client application credentials that you created to configure a client object in your application. When you configure a client object, you specify the scopes your application needs to access, along with a redirect URI, which will handle the response from the OAuth 2.0 server.
|
46
|
+
|
47
|
+
### Choosing a redirect URI
|
48
|
+
|
49
|
+
When you create a client ID in the [Google API Console](https://console.developers.google.com/), two redirect_uri parameters are created for you: `urn:ietf:wg:oauth:2.0:oob` and `http://localhost`. The value your application uses determines how the authorization code is returned to your application.
|
50
|
+
|
51
|
+
#### http://localhost
|
52
|
+
|
53
|
+
This value signals to the Google Authorization Server that the authorization code should be returned as a query string parameter to the web server on the client. You can specify a port number without changing the [Google API Console](https://console.developers.google.com/) configuration. To receive the authorization code using this URI, your application must be listening on the local web server. This is possible on many, but not all, platforms. If your platform supports it, this is the recommended mechanism for obtaining the authorization code.
|
54
|
+
|
55
|
+
> **Note:** In some cases, although it is possible to listen, other software (such as a Windows firewall) prevents delivery of the message without significant client configuration.
|
56
|
+
|
57
|
+
#### urn:ietf:wg:oauth:2.0:oob
|
58
|
+
|
59
|
+
This value signals to the Google Authorization Server that the authorization code should be returned in the title bar of the browser, with the page text prompting the user to copy the code and paste it in the application. This is useful when the client (such as a Windows application) cannot listen on an HTTP port without significant client configuration.
|
60
|
+
|
61
|
+
When you use this value, your application can then detect that the page has loaded, and can read the title of the HTML page to obtain the authorization code. It is then up to your application to close the browser window if you want to ensure that the user never sees the page that contains the authorization code. The mechanism for doing this varies from platform to platform.
|
62
|
+
|
63
|
+
If your platform doesn't allow you to detect that the page has loaded or read the title of the page, you can have the user paste the code back to your application, as prompted by the text in the confirmation page that the OAuth 2.0 server generates.
|
64
|
+
|
65
|
+
#### urn:ietf:wg:oauth:2.0:oob:auto
|
66
|
+
|
67
|
+
urn:ietf:wg:oauth:2.0:oob:auto
|
68
|
+
This is identical to urn:ietf:wg:oauth:2.0:oob, but the text in the confirmation page that the OAuth 2.0 server generates won't instruct the user to copy the authorization code, but instead will simply ask the user to close the window.
|
69
|
+
|
70
|
+
This is useful when your application reads the title of the HTML page (by checking window titles on the desktop, for example) to obtain the authorization code, but can't close the page on its own.
|
71
|
+
|
72
|
+
### Creating the object
|
73
|
+
|
74
|
+
To create a client object from the client_secrets.json file, use the to_authorization method of a ClientSecrets object. For example, to request read-only access to a user's Google Drive:
|
75
|
+
|
76
|
+
```rb
|
77
|
+
require 'google/api_client'
|
78
|
+
|
79
|
+
client_secrets = Google::APIClient::ClientSecrets.load
|
80
|
+
auth_client = client_secrets.to_authorization
|
81
|
+
auth_client.update!(
|
82
|
+
:scope => 'https://www.googleapis.com/auth/drive.metadata.readonly',
|
83
|
+
:redirect_uri => 'urn:ietf:wg:oauth:2.0:oob'
|
84
|
+
)
|
85
|
+
```
|
86
|
+
|
87
|
+
Your application uses the client object to perform OAuth 2.0 operations, such as generating authorization request URIs and applying access tokens to HTTP requests.
|
88
|
+
|
89
|
+
## Sending users to Google's OAuth 2.0 server
|
90
|
+
|
91
|
+
When your application needs to access a user's data, redirect the user to Google's OAuth 2.0 server.
|
92
|
+
|
93
|
+
1. Generate a URL to request access from Google's OAuth 2.0 server:
|
94
|
+
|
95
|
+
`auth_uri = auth_client.authorization_uri.to_s`
|
96
|
+
|
97
|
+
2. Open auth_uri in a browser:
|
98
|
+
|
99
|
+
```rb
|
100
|
+
require 'launchy'
|
101
|
+
|
102
|
+
Launchy.open(auth_uri)
|
103
|
+
```
|
104
|
+
|
105
|
+
Google's OAuth 2.0 server will authenticate the user and obtain consent from the user for your application to access the requested scopes. The response will be sent back to your application using the redirect URI specified in the client object.
|
106
|
+
|
107
|
+
## Handling the OAuth 2.0 server response
|
108
|
+
|
109
|
+
The OAuth 2.0 server responds to your application's access request by using the URI specified in the request.
|
110
|
+
|
111
|
+
If the user approves the access request, then the response contains an authorization code. If the user does not approve the request, the response contains an error message. Depending on the redirect URI that you specified, the response is in the query string of an HTTP request to the local host, or in a web page, from which the user can copy and paste the authorization code.
|
112
|
+
|
113
|
+
To exchange an authorization code for an access token, use the fetch_access_token! method:
|
114
|
+
|
115
|
+
```rb
|
116
|
+
auth_client.code = auth_code
|
117
|
+
auth_client.fetch_access_token!
|
118
|
+
```
|
119
|
+
|
120
|
+
## Calling Google APIs
|
121
|
+
|
122
|
+
Use the auth_client object to call Google APIs by completing the following steps:
|
123
|
+
|
124
|
+
1. Build a service object for the API that you want to call. You build a a service object by calling the discovered_api function with the name and version of the API. For example, to call version 2 of the Drive API:
|
125
|
+
|
126
|
+
```rb
|
127
|
+
require 'google/apis/drive_v2'
|
128
|
+
drive = Google::Apis::DriveV2::DriveService.new
|
129
|
+
drive.authorization = auth_client
|
130
|
+
```
|
131
|
+
|
132
|
+
2. Make requests to the API service using the interface provided by the service object. For example, to list the files in the authenticated user's Google Drive:
|
133
|
+
|
134
|
+
```rb
|
135
|
+
files = drive.list_files()
|
136
|
+
```
|
137
|
+
|
138
|
+
## Complete example
|
139
|
+
|
140
|
+
The following example prints a JSON-formatted list of files in a user's Google Drive after the user authenticates and gives consent for the application to access the user's Drive files.
|
141
|
+
|
142
|
+
```rb
|
143
|
+
require 'google/apis/drive_v2'
|
144
|
+
require 'google/api_client/client_secrets'
|
145
|
+
require 'launchy'
|
146
|
+
|
147
|
+
client_secrets = Google::APIClient::ClientSecrets.load
|
148
|
+
auth_client = client_secrets.to_authorization
|
149
|
+
auth_client.update!(
|
150
|
+
:scope => 'https://www.googleapis.com/auth/drive.metadata.readonly',
|
151
|
+
:redirect_uri => 'urn:ietf:wg:oauth:2.0:oob'
|
152
|
+
)
|
153
|
+
|
154
|
+
auth_uri = auth_client.authorization_uri.to_s
|
155
|
+
Launchy.open(auth_uri)
|
156
|
+
|
157
|
+
puts 'Paste the code from the auth response page:'
|
158
|
+
auth_client.code = gets
|
159
|
+
auth_client.fetch_access_token!
|
160
|
+
|
161
|
+
drive = Google::Apis::DriveV2::DriveService.new
|
162
|
+
drive.authorization = auth_client
|
163
|
+
files = drive.list_files
|
164
|
+
|
165
|
+
files.items.each do |file|
|
166
|
+
puts file.title
|
167
|
+
end
|
168
|
+
```
|
169
|
+
|
170
|
+
If you want to use a local web server to handle the OAuth 2.0 response, you can use the InstalledAppFlow helper to simplify the process. For example:
|
171
|
+
|
172
|
+
```rb
|
173
|
+
require 'google/apis/drive_v2'
|
174
|
+
require 'google/api_client/client_secrets'
|
175
|
+
require 'google/api_client/auth/installed_app'
|
176
|
+
|
177
|
+
client_secrets = Google::APIClient::ClientSecrets.load
|
178
|
+
flow = Google::APIClient::InstalledAppFlow.new(
|
179
|
+
:client_id => client_secrets.client_id,
|
180
|
+
:client_secret => client_secrets.client_secret,
|
181
|
+
:scope => 'https://www.googleapis.com/auth/drive.metadata.readonly',
|
182
|
+
:port => 5000)
|
183
|
+
|
184
|
+
drive = Google::Apis::DriveV2::DriveService.new
|
185
|
+
drive.authorization = flow.authorize
|
186
|
+
files = drive.list_files
|
187
|
+
|
188
|
+
files.items.each do |file|
|
189
|
+
puts file.title
|
190
|
+
end
|
191
|
+
```
|