google-api-client 0.52.0 → 0.53.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (264) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +0 -14
  3. data/CHANGELOG.md +6 -0
  4. data/OVERVIEW.md +36 -27
  5. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  6. data/generated/google/apis/accesscontextmanager_v1/classes.rb +326 -0
  7. data/generated/google/apis/accesscontextmanager_v1/representations.rb +139 -0
  8. data/generated/google/apis/admin_directory_v1.rb +1 -1
  9. data/generated/google/apis/admin_directory_v1/service.rb +2 -2
  10. data/generated/google/apis/analyticsadmin_v1alpha.rb +2 -2
  11. data/generated/google/apis/analyticsadmin_v1alpha/classes.rb +8 -0
  12. data/generated/google/apis/analyticsadmin_v1alpha/representations.rb +1 -0
  13. data/generated/google/apis/analyticsadmin_v1alpha/service.rb +12 -1
  14. data/{lib/google/apis/core/logging.rb → generated/google/apis/apigateway_v1.rb} +14 -10
  15. data/generated/google/apis/apigateway_v1/classes.rb +1116 -0
  16. data/generated/google/apis/apigateway_v1/representations.rb +442 -0
  17. data/generated/google/apis/apigateway_v1/service.rb +1172 -0
  18. data/generated/google/apis/apigateway_v1beta.rb +1 -1
  19. data/generated/google/apis/apigateway_v1beta/classes.rb +19 -8
  20. data/generated/google/apis/apigateway_v1beta/representations.rb +1 -0
  21. data/generated/google/apis/apigee_v1.rb +1 -1
  22. data/generated/google/apis/apigee_v1/classes.rb +24 -22
  23. data/generated/google/apis/apigee_v1/service.rb +50 -48
  24. data/generated/google/apis/artifactregistry_v1.rb +38 -0
  25. data/generated/google/apis/artifactregistry_v1/classes.rb +242 -0
  26. data/generated/google/apis/artifactregistry_v1/representations.rb +116 -0
  27. data/generated/google/apis/artifactregistry_v1/service.rb +210 -0
  28. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  29. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +0 -120
  30. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +0 -62
  31. data/generated/google/apis/artifactregistry_v1beta2.rb +1 -1
  32. data/generated/google/apis/artifactregistry_v1beta2/classes.rb +0 -120
  33. data/generated/google/apis/artifactregistry_v1beta2/representations.rb +0 -62
  34. data/generated/google/apis/chat_v1.rb +1 -1
  35. data/generated/google/apis/chat_v1/service.rb +132 -0
  36. data/generated/google/apis/cloudasset_v1.rb +1 -1
  37. data/generated/google/apis/cloudasset_v1/classes.rb +326 -0
  38. data/generated/google/apis/cloudasset_v1/representations.rb +139 -0
  39. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  40. data/generated/google/apis/cloudasset_v1beta1/classes.rb +326 -0
  41. data/generated/google/apis/cloudasset_v1beta1/representations.rb +139 -0
  42. data/generated/google/apis/cloudasset_v1p5beta1.rb +1 -1
  43. data/generated/google/apis/cloudasset_v1p5beta1/classes.rb +326 -0
  44. data/generated/google/apis/cloudasset_v1p5beta1/representations.rb +139 -0
  45. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  46. data/generated/google/apis/cloudbuild_v1/classes.rb +3 -3
  47. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  48. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +3 -3
  49. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  50. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +3 -3
  51. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  52. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +1 -1
  53. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  54. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +0 -26
  55. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +0 -24
  56. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  57. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +0 -26
  58. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +0 -24
  59. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  60. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +0 -26
  61. data/generated/google/apis/cloudresourcemanager_v2/representations.rb +0 -24
  62. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  63. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +0 -26
  64. data/generated/google/apis/cloudresourcemanager_v2beta1/representations.rb +0 -24
  65. data/generated/google/apis/container_v1.rb +1 -1
  66. data/generated/google/apis/container_v1/classes.rb +7 -7
  67. data/generated/google/apis/container_v1beta1.rb +1 -1
  68. data/generated/google/apis/container_v1beta1/classes.rb +7 -7
  69. data/generated/google/apis/content_v2_1.rb +1 -1
  70. data/generated/google/apis/content_v2_1/classes.rb +434 -0
  71. data/generated/google/apis/content_v2_1/representations.rb +187 -0
  72. data/generated/google/apis/content_v2_1/service.rb +116 -0
  73. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  74. data/generated/google/apis/datacatalog_v1beta1/classes.rb +6 -0
  75. data/generated/google/apis/datacatalog_v1beta1/representations.rb +1 -0
  76. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  77. data/generated/google/apis/datalabeling_v1beta1.rb +1 -1
  78. data/generated/google/apis/dataproc_v1.rb +1 -1
  79. data/generated/google/apis/dataproc_v1/classes.rb +29 -1
  80. data/generated/google/apis/dataproc_v1/representations.rb +14 -0
  81. data/generated/google/apis/dataproc_v1/service.rb +42 -0
  82. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  83. data/generated/google/apis/dataproc_v1beta2/classes.rb +29 -1
  84. data/generated/google/apis/dataproc_v1beta2/representations.rb +14 -0
  85. data/generated/google/apis/dataproc_v1beta2/service.rb +42 -0
  86. data/generated/google/apis/dialogflow_v2.rb +1 -1
  87. data/generated/google/apis/dialogflow_v2/classes.rb +4041 -678
  88. data/generated/google/apis/dialogflow_v2/representations.rb +1851 -298
  89. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  90. data/generated/google/apis/dialogflow_v2beta1/classes.rb +4047 -684
  91. data/generated/google/apis/dialogflow_v2beta1/representations.rb +1862 -309
  92. data/generated/google/apis/dialogflow_v3.rb +1 -1
  93. data/generated/google/apis/dialogflow_v3/classes.rb +3120 -311
  94. data/generated/google/apis/dialogflow_v3/representations.rb +2002 -617
  95. data/generated/google/apis/dialogflow_v3/service.rb +408 -0
  96. data/generated/google/apis/dialogflow_v3beta1.rb +1 -1
  97. data/generated/google/apis/dialogflow_v3beta1/classes.rb +5145 -2336
  98. data/generated/google/apis/dialogflow_v3beta1/representations.rb +1729 -344
  99. data/generated/google/apis/dialogflow_v3beta1/service.rb +408 -0
  100. data/generated/google/apis/dlp_v2.rb +1 -1
  101. data/generated/google/apis/dlp_v2/service.rb +3 -9
  102. data/generated/google/apis/documentai_v1beta2.rb +1 -1
  103. data/generated/google/apis/documentai_v1beta2/classes.rb +5 -92
  104. data/generated/google/apis/documentai_v1beta2/representations.rb +2 -15
  105. data/generated/google/apis/documentai_v1beta3.rb +1 -1
  106. data/generated/google/apis/documentai_v1beta3/classes.rb +5 -92
  107. data/generated/google/apis/documentai_v1beta3/representations.rb +2 -15
  108. data/generated/google/apis/gameservices_v1.rb +1 -1
  109. data/generated/google/apis/gameservices_v1/service.rb +14 -14
  110. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  111. data/generated/google/apis/gameservices_v1beta/service.rb +14 -14
  112. data/generated/google/apis/localservices_v1.rb +4 -1
  113. data/generated/google/apis/manufacturers_v1.rb +1 -1
  114. data/generated/google/apis/manufacturers_v1/classes.rb +2 -2
  115. data/generated/google/apis/monitoring_v3.rb +1 -1
  116. data/generated/google/apis/monitoring_v3/classes.rb +2 -2
  117. data/generated/google/apis/notebooks_v1.rb +1 -1
  118. data/generated/google/apis/notebooks_v1/classes.rb +13 -0
  119. data/generated/google/apis/notebooks_v1/representations.rb +12 -0
  120. data/generated/google/apis/notebooks_v1/service.rb +34 -0
  121. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  122. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +0 -37
  123. data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +0 -18
  124. data/generated/google/apis/recommendationengine_v1beta1.rb +1 -1
  125. data/generated/google/apis/recommendationengine_v1beta1/service.rb +2 -1
  126. data/generated/google/apis/securitycenter_v1.rb +1 -1
  127. data/generated/google/apis/securitycenter_v1/classes.rb +18 -10
  128. data/generated/google/apis/securitycenter_v1/representations.rb +1 -0
  129. data/generated/google/apis/securitycenter_v1/service.rb +30 -30
  130. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  131. data/generated/google/apis/securitycenter_v1beta1/classes.rb +7 -0
  132. data/generated/google/apis/securitycenter_v1beta1/representations.rb +1 -0
  133. data/generated/google/apis/securitycenter_v1beta2.rb +1 -1
  134. data/generated/google/apis/securitycenter_v1beta2/classes.rb +7 -0
  135. data/generated/google/apis/securitycenter_v1beta2/representations.rb +1 -0
  136. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  137. data/generated/google/apis/servicemanagement_v1/classes.rb +11 -10
  138. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  139. data/generated/google/apis/sqladmin_v1beta4/classes.rb +7 -7
  140. data/generated/google/apis/sqladmin_v1beta4/service.rb +4 -1
  141. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  142. data/generated/google/apis/storagetransfer_v1/classes.rb +25 -0
  143. data/generated/google/apis/storagetransfer_v1/representations.rb +3 -0
  144. data/generated/google/apis/webmasters_v3/classes.rb +8 -0
  145. data/generated/google/apis/webmasters_v3/representations.rb +1 -0
  146. data/generated/google/apis/youtube_v3.rb +1 -1
  147. data/generated/google/apis/youtube_v3/classes.rb +18 -143
  148. data/generated/google/apis/youtube_v3/representations.rb +0 -57
  149. data/generated/google/apis/youtube_v3/service.rb +0 -43
  150. data/lib/google/apis/version.rb +1 -23
  151. metadata +27 -263
  152. data/.github/CONTRIBUTING.md +0 -31
  153. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -36
  154. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -21
  155. data/.github/ISSUE_TEMPLATE/support_request.md +0 -7
  156. data/.github/workflows/autoapprove.yml +0 -49
  157. data/.github/workflows/release-please.yml +0 -57
  158. data/.gitignore +0 -23
  159. data/.kokoro/build.bat +0 -11
  160. data/.kokoro/build.sh +0 -4
  161. data/.kokoro/continuous/common.cfg +0 -25
  162. data/.kokoro/continuous/linux.cfg +0 -25
  163. data/.kokoro/continuous/osx.cfg +0 -8
  164. data/.kokoro/continuous/post.cfg +0 -30
  165. data/.kokoro/continuous/windows.cfg +0 -29
  166. data/.kokoro/osx.sh +0 -4
  167. data/.kokoro/presubmit/common.cfg +0 -24
  168. data/.kokoro/presubmit/linux.cfg +0 -24
  169. data/.kokoro/presubmit/osx.cfg +0 -8
  170. data/.kokoro/presubmit/windows.cfg +0 -29
  171. data/.kokoro/release.cfg +0 -94
  172. data/.kokoro/trampoline.bat +0 -10
  173. data/.kokoro/trampoline.sh +0 -4
  174. data/.repo-metadata.json +0 -5
  175. data/.rspec +0 -2
  176. data/.rubocop.yml +0 -12
  177. data/.rubocop_todo.yml +0 -63
  178. data/CODE_OF_CONDUCT.md +0 -43
  179. data/Gemfile +0 -55
  180. data/MIGRATING.md +0 -215
  181. data/README.md +0 -402
  182. data/Rakefile +0 -131
  183. data/api_list_config.yaml +0 -9
  184. data/api_names.yaml +0 -1082
  185. data/bin/generate-api +0 -194
  186. data/docs/api-keys.md +0 -20
  187. data/docs/auth.md +0 -53
  188. data/docs/client-secrets.md +0 -69
  189. data/docs/getting-started.md +0 -340
  190. data/docs/installation.md +0 -0
  191. data/docs/logging.md +0 -34
  192. data/docs/media-upload.md +0 -25
  193. data/docs/oauth-installed.md +0 -191
  194. data/docs/oauth-server.md +0 -133
  195. data/docs/oauth-web.md +0 -280
  196. data/docs/oauth.md +0 -268
  197. data/docs/pagination.md +0 -29
  198. data/docs/performance.md +0 -25
  199. data/google-api-client.gemspec +0 -36
  200. data/lib/google/api_client/auth/installed_app.rb +0 -143
  201. data/lib/google/api_client/auth/key_utils.rb +0 -94
  202. data/lib/google/api_client/auth/storage.rb +0 -104
  203. data/lib/google/api_client/auth/storages/file_store.rb +0 -57
  204. data/lib/google/api_client/auth/storages/redis_store.rb +0 -59
  205. data/lib/google/api_client/client_secrets.rb +0 -176
  206. data/lib/google/apis.rb +0 -58
  207. data/lib/google/apis/core/api_command.rb +0 -209
  208. data/lib/google/apis/core/base_service.rb +0 -447
  209. data/lib/google/apis/core/batch.rb +0 -236
  210. data/lib/google/apis/core/composite_io.rb +0 -97
  211. data/lib/google/apis/core/download.rb +0 -118
  212. data/lib/google/apis/core/hashable.rb +0 -44
  213. data/lib/google/apis/core/http_command.rb +0 -447
  214. data/lib/google/apis/core/json_representation.rb +0 -153
  215. data/lib/google/apis/core/multipart.rb +0 -135
  216. data/lib/google/apis/core/upload.rb +0 -273
  217. data/lib/google/apis/errors.rb +0 -89
  218. data/lib/google/apis/generator.rb +0 -71
  219. data/lib/google/apis/generator/annotator.rb +0 -339
  220. data/lib/google/apis/generator/helpers.rb +0 -76
  221. data/lib/google/apis/generator/model.rb +0 -187
  222. data/lib/google/apis/generator/template.rb +0 -124
  223. data/lib/google/apis/generator/templates/_class.tmpl +0 -43
  224. data/lib/google/apis/generator/templates/_method.tmpl +0 -92
  225. data/lib/google/apis/generator/templates/_representation.tmpl +0 -51
  226. data/lib/google/apis/generator/templates/_representation_stub.tmpl +0 -17
  227. data/lib/google/apis/generator/templates/_representation_type.tmpl +0 -10
  228. data/lib/google/apis/generator/templates/classes.rb.tmpl +0 -29
  229. data/lib/google/apis/generator/templates/module.rb.tmpl +0 -40
  230. data/lib/google/apis/generator/templates/representations.rb.tmpl +0 -32
  231. data/lib/google/apis/generator/templates/service.rb.tmpl +0 -61
  232. data/lib/google/apis/options.rb +0 -116
  233. data/rakelib/devsite/devsite_builder.rb +0 -126
  234. data/rakelib/devsite/link_checker.rb +0 -64
  235. data/rakelib/devsite/repo_metadata.rb +0 -56
  236. data/rakelib/metrics.rake +0 -22
  237. data/rakelib/rubocop.rake +0 -10
  238. data/rakelib/spec.rake +0 -11
  239. data/rakelib/yard.rake +0 -11
  240. data/samples/cli/.env +0 -4
  241. data/samples/cli/Gemfile +0 -7
  242. data/samples/cli/README.md +0 -51
  243. data/samples/cli/google-api-samples +0 -32
  244. data/samples/cli/lib/base_cli.rb +0 -95
  245. data/samples/cli/lib/samples/adsense.rb +0 -99
  246. data/samples/cli/lib/samples/analytics.rb +0 -80
  247. data/samples/cli/lib/samples/androidpublisher.rb +0 -47
  248. data/samples/cli/lib/samples/bigquery.rb +0 -101
  249. data/samples/cli/lib/samples/calendar.rb +0 -83
  250. data/samples/cli/lib/samples/drive.rb +0 -82
  251. data/samples/cli/lib/samples/gmail.rb +0 -157
  252. data/samples/cli/lib/samples/pubsub.rb +0 -114
  253. data/samples/cli/lib/samples/sheets.rb +0 -61
  254. data/samples/cli/lib/samples/translate.rb +0 -44
  255. data/samples/cli/lib/samples/vision.rb +0 -69
  256. data/samples/cli/lib/samples/you_tube.rb +0 -47
  257. data/samples/web/Gemfile +0 -9
  258. data/samples/web/README.md +0 -44
  259. data/samples/web/app.rb +0 -120
  260. data/samples/web/views/calendar.erb +0 -34
  261. data/samples/web/views/drive.erb +0 -33
  262. data/samples/web/views/home.erb +0 -34
  263. data/samples/web/views/layout.erb +0 -40
  264. data/synth.py +0 -40
data/README.md DELETED
@@ -1,402 +0,0 @@
1
- # Google API Client [![Documentation](https://img.shields.io/badge/docs-Google%3A%3AApis-red.svg)](https://googleapis.dev/ruby/google-api-client/latest/Google/Apis.html) [![Gem Version](https://badge.fury.io/rb/google-api-client.svg)](https://badge.fury.io/rb/google-api-client)
2
-
3
- These client libraries are officially supported by Google. However, the libraries are considered complete and are in maintenance mode. This means that we will address critical bugs and security issues but will not add any new features.
4
-
5
- ## Google Cloud Platform
6
-
7
- For Google Cloud Platform APIs such as Datastore, Cloud Storage or Pub/Sub, we recommend using [GoogleCloudPlatform/google-cloud-ruby](https://github.com/GoogleCloudPlatform/google-cloud-ruby) which is under active development.
8
-
9
- ## Migrating from 0.8.x
10
-
11
- See [MIGRATING](MIGRATING.md) for additional details on how to migrate to the latest version.
12
-
13
- ## Documentation
14
-
15
- Learn how to use the Google API Client Library for Ruby with these guides:
16
-
17
- ### Usage Guides
18
-
19
- - [Getting Started](docs/getting-started.md)
20
- - [Installation](docs/installation.md)
21
- - [Auth](docs/auth.md)
22
- - [API Keys](docs/api-keys.md)
23
- - [OAuth 2.0](docs/oauth.md)
24
- - [OAuth 2.0 for Web Server Applications](docs/oauth-web.md)
25
- - [OAuth 2.0 for Installed Applications](docs/oauth-installed.md)
26
- - [OAuth 2.0 for Server to Server Applications](docs/oauth-server.md)
27
- - [Client Secrets](docs/client-secrets.md)
28
- - How to...
29
- - [Use Logging](docs/logging.md)
30
- - [Upload Media](docs/media-upload.md)
31
- - [Use Pagination](docs/pagination.md)
32
- - [Improve Performance](docs/performance.md)
33
-
34
- ### Reference Documentation
35
-
36
- - Reference documentation for [google-api-client](https://googleapis.dev/ruby/google-api-client/latest/index.html).
37
-
38
- ## Installation
39
-
40
- Add this line to your application's Gemfile:
41
-
42
- ```ruby
43
- gem 'google-api-client', '~> 0.34'
44
-
45
- ```
46
-
47
- And then execute:
48
-
49
- $ bundle
50
-
51
- Or install it yourself as:
52
-
53
- $ gem install google-api-client
54
-
55
- ## Usage
56
-
57
- ### Basic usage
58
-
59
- To use an API, include the corresponding generated file and instantiate the service. For example to use the Drive API:
60
-
61
- ```ruby
62
- require 'google/apis/drive_v2'
63
-
64
- Drive = Google::Apis::DriveV2 # Alias the module
65
- drive = Drive::DriveService.new
66
- drive.authorization = ... # See Googleauth or Signet libraries
67
-
68
- # Search for files in Drive (first page only)
69
- files = drive.list_files(q: "title contains 'finances'")
70
- files.items.each do |file|
71
- puts file.title
72
- end
73
-
74
- # Upload a file
75
- metadata = Drive::File.new(title: 'My document')
76
- metadata = drive.insert_file(metadata, upload_source: 'test.txt', content_type: 'text/plain')
77
-
78
- # Download a file
79
- drive.get_file(metadata.id, download_dest: '/tmp/myfile.txt')
80
- ```
81
-
82
- An example to use the Content API (Google Merchant Center)
83
-
84
- ```ruby
85
- require 'google/apis/content_v2'
86
- require 'googleauth' # https://github.com/googleapis/google-auth-library-ruby
87
-
88
- Content = Google::Apis::ContentV2 # Alias the module
89
- content = Content::ShoppingContentService.new
90
-
91
- scope = 'https://www.googleapis.com/auth/content'
92
- merchant_id = # Merchant ID found on dashboard
93
-
94
- content.authorization = Google::Auth::ServiceAccountCredentials.make_creds(
95
- json_key_io: File.open('./content-api-key.json'),
96
- scope: scope)
97
-
98
- content.authorization.fetch_access_token!
99
- # Service methods: https://googleapis.dev/ruby/google-api-client/latest/Google/Apis/ContentV2/ShoppingContentService.html
100
- content.list_datafeeds(merchant_id) # Returns Google::Apis::ContentV2::ListDatafeedsResponse
101
-
102
- ```
103
-
104
- ### Naming conventions vs JSON representation
105
-
106
- 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:
107
-
108
- * For properties that are defined as hashes with user-defined keys, no translation is performed on the key.
109
- * For embedded field masks in requests (for example, the Sheets API), specify the camelCase form when referencing fields.
110
-
111
- Outside those exceptions, if a property is specified using camelCase in a request, it will be ignored during serialization and omitted from the request.
112
-
113
- ### Media
114
-
115
- Methods that allow media operations have additional parameters to specify the upload source or download destination.
116
-
117
- For uploads, the `upload_source` parameter can be specified with either a path to a file, an `IO` stream, or `StringIO`
118
- instance.
119
-
120
- For downloads, the `download_dest` parameter can also be either a path to a file, an `IO` stream, or `StringIO` instance.
121
-
122
- Both uploads & downloads are resumable. If an error occurs during transmission the request will be automatically
123
- retried from the last received byte.
124
-
125
- ### Errors & Retries
126
-
127
- Retries are disabled by default, but enabling retries is strongly encouraged. The number of retries can be configured
128
- via `Google::Apis::RequestOptions`. Any number greater than 0 will enable retries.
129
-
130
- To enable retries for all services:
131
-
132
- ```ruby
133
- Google::Apis::RequestOptions.default.retries = 5
134
- ```
135
-
136
- With retries enabled globally, retries can be disabled for specific calls by including a retry value of 0 in the
137
- request options:
138
-
139
- ```ruby
140
- drive.insert_file(metadata, upload_source: 'test.txt', content_type: 'text/plain', options: { retries: 0 })
141
- ```
142
-
143
- When retries are enabled, if a server or rate limit error occurs during a request it is automatically retried with
144
- an exponentially increasing delay on subsequent retries. If a request can not be retried or if the maximum number
145
- of retries is exceeded, an exception is thrown.
146
-
147
- ### Callbacks
148
-
149
- A block can be specified when making calls. If present, the block will be called with the result or error, rather than
150
- returning the result from the call or raising the error. Example:
151
-
152
- ```ruby
153
- # Search for files in Drive (first page only)
154
- drive.list_files(q: "title contains 'finances'") do |res, err|
155
- if err
156
- # Handle error
157
- else
158
- # Handle response
159
- end
160
- end
161
- ```
162
-
163
- This calling style is required when making batch requests as responses are not available until the entire batch
164
- is complete.
165
-
166
- ### Paging
167
-
168
- To fetch multiple pages of data, use the `fetch_all` method to wrap the paged query. This returns an
169
- `Enumerable` that automatically fetches additional pages as needed.
170
-
171
- ```ruby
172
- # List all calendar events
173
- now = Time.now.iso8601
174
- items = calendar.fetch_all do |token|
175
- calendar.list_events('primary',
176
- single_events: true,
177
- order_by: 'startTime',
178
- time_min: now,
179
- page_token: token)
180
- end
181
- items.each { |event| puts event.summary }
182
- ```
183
-
184
- For APIs that use a field other than `items` to contain the results, an alternate field name can be supplied.
185
-
186
- ```ruby
187
- # List all files in Drive
188
- items = drive.fetch_all(items: :files) { |token| drive.list_files(page_token: token) }
189
- items.each { |file| puts file.name }
190
- ```
191
-
192
- ### Batches
193
-
194
- Multiple requests can be batched together into a single HTTP request to reduce overhead. Batched calls are executed
195
- in parallel and the responses processed once all results are available
196
-
197
-
198
- ```ruby
199
- # Fetch a bunch of files by ID
200
- ids = ['file_id_1', 'file_id_2', 'file_id_3', 'file_id_4']
201
- drive.batch do |drive|
202
- ids.each do |id|
203
- drive.get_file(id) do |res, err|
204
- # Handle response
205
- end
206
- end
207
- end
208
- ```
209
-
210
- Media operations -- uploads & downloads -- can not be included in batch with other requests.
211
-
212
- However, some APIs support batch uploads. To upload multiple files in a batch, use the `batch_upload` method instead.
213
- Batch uploads should only be used when uploading multiple small files. For large files, upload files individually to
214
- take advantage of the libraries built-in resumable upload support.
215
-
216
- ### Hashes
217
-
218
- While the API will always return instances of schema classes, plain hashes are accepted in method calls for
219
- convenience. Hash keys must be symbols matching the attribute names on the corresponding object the hash is meant
220
- to replace. For example:
221
-
222
- ```ruby
223
- file = {id: '123', title: 'My document', labels: { starred: true }}
224
- file = drive.create_file(file, {}) # Returns a Drive::File instance
225
- ```
226
-
227
- is equivalent to:
228
-
229
- ```ruby
230
- file = Drive::File.new(id: '123', title: 'My document')
231
- file.labels = Drive::File::Labels.new(starred: true)
232
- file = drive.update_file(file) # Returns a Drive::File instance
233
- ```
234
-
235
- 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.
236
-
237
- ```ruby
238
- file = {id: '123', title: 'My document', labels: { starred: true }}
239
- file = drive.create_file(file) # Raises ArgumentError: unknown keywords: id, title, labels
240
- file = drive.create_file(file, {}) # Returns a Drive::File instance
241
- ```
242
-
243
- ### Using raw JSON
244
-
245
- To handle JSON serialization or deserialization in the application, set `skip_serialization` or
246
- or `skip_deserializaton` options respectively. When setting `skip_serialization` in a request,
247
- the body object must be a string representing the serialized JSON.
248
-
249
- When setting `skip_deserialization` to true, the response from the API will likewise
250
- be a string containing the raw JSON from the server.
251
-
252
- ## Authorization
253
-
254
- [OAuth 2](https://developers.google.com/accounts/docs/OAuth2) is used to authorize applications. This library uses
255
- both [Signet](https://github.com/google/signet) and
256
- [Google Auth Library for Ruby](https://github.com/google/google-auth-library-ruby) for OAuth 2 support.
257
-
258
- The [Google Auth Library for Ruby](https://github.com/google/google-auth-library-ruby) provides an implementation of
259
- [application default credentials] for Ruby. It offers a simple way to get authorization credentials for use in
260
- calling Google APIs, best suited for cases when the call needs to have the same identity
261
- and authorization level for the application independent of the user. This is
262
- the recommended approach to authorize calls to Cloud APIs, particularly when
263
- you're building an application that uses Google Compute Engine.
264
-
265
- For per-user authorization, use [Signet](https://github.com/google/signet) to obtain user authorization.
266
-
267
- ### Passing authorization to requests
268
-
269
- Authorization can be specified for the entire client, for an individual service instance, or on a per-request basis.
270
-
271
- Set authorization for all service:
272
-
273
- ```ruby
274
- Google::Apis::RequestOptions.default.authorization = authorization
275
- # Services instantiated after this will inherit the authorization
276
- ```
277
-
278
- On a per-service level:
279
-
280
- ```ruby
281
- drive = Google::Apis::DriveV2::DriveService.new
282
- drive.authorization = authorization
283
-
284
- # All requests made with this service will use the same authorization
285
- ```
286
-
287
- Per-request:
288
-
289
- ```ruby
290
- drive.get_file('123', options: { authorization: authorization })
291
- ```
292
-
293
- ### Authorization using API keys
294
-
295
- Some APIs allow using an API key instead of OAuth2 tokens. For these APIs, set
296
- the `key` attribute of the service instance. For example:
297
-
298
- ```ruby
299
- require 'google/apis/translate_v2'
300
-
301
- translate = Google::Apis::TranslateV2::TranslateService.new
302
- translate.key = 'YOUR_API_KEY_HERE'
303
- result = translate.list_translations('Hello world!', 'es', source: 'en')
304
- puts result.translations.first.translated_text
305
- ```
306
-
307
- ### Authorization using environment variables
308
-
309
- The [GoogleAuth Library for Ruby](https://github.com/google/google-auth-library-ruby) also supports authorization via
310
- environment variables if you do not want to check in developer credentials
311
- or private keys. Simply set the following variables for your application:
312
-
313
- ```sh
314
- GOOGLE_ACCOUNT_TYPE="YOUR ACCOUNT TYPE" # ie. 'service'
315
- GOOGLE_CLIENT_EMAIL="YOUR GOOGLE DEVELOPER EMAIL"
316
- GOOGLE_PRIVATE_KEY="YOUR GOOGLE DEVELOPER API KEY"
317
- ```
318
-
319
- ## Logging
320
-
321
- The client includes a `Logger` instance that can be used to capture debugging information.
322
-
323
- When running in a Rails environment, the client will default to using `::Rails.logger`. If you
324
- prefer to use a separate logger instance for API calls, you can provide a new logger instance:
325
-
326
- ```ruby
327
- Google::Apis.logger = Logger.new(STDERR)
328
- ```
329
-
330
- Or, you can set the environment variable `GOOGLE_API_USE_RAILS_LOGGER` to any value other than `'true'`; this will send all logging information to STDOUT.
331
-
332
- To set the logging level for the client:
333
-
334
- ```ruby
335
- Google::Apis.logger.level = Logger::DEBUG
336
- ```
337
-
338
- ## Customizing endpoints
339
-
340
- By default, client objects will connect to the default Google endpoints for =
341
- their respective APIs. If you need to connect to a regional endpoint, a test
342
- endpoint, or other custom endpoint, modify the `root_url` attribute of the
343
- client object. For example:
344
-
345
- ```ruby
346
- require "google/apis/docs_v1"
347
- docs_service = Google::Apis::DocsV1::DocsService.new
348
-
349
- docs_service.root_url = "https://my-custom-docs-endpoint.example.com/"
350
-
351
- document = docs_service.get_document("my-document-id")
352
- ```
353
-
354
- ## Samples
355
-
356
- 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
357
- services.
358
-
359
- Contributions for additional samples are welcome. See [CONTRIBUTING](.github/CONTRIBUTING.md).
360
-
361
- ## Generating APIs
362
-
363
- For [Cloud Endpoints](https://cloud.google.com/endpoints/) or other APIs not included in the gem, ruby code can be
364
- generated from the discovery document.
365
-
366
- To generate from a local discovery file:
367
-
368
- $ generate-api gen <outdir> --file=<path>
369
-
370
- A URL can also be specified:
371
-
372
- $ generate-api gen <outdir> --url=<url>
373
-
374
- ## TODO
375
-
376
- * ETag support (if-not-modified)
377
- * Caching
378
- * Model validations
379
-
380
- ## Supported Ruby Versions
381
- This library is currently supported on Ruby 1.9+.
382
- However, Ruby 2.4 or later is strongly recommended, as earlier releases have
383
- reached or are nearing end-of-life. After March 31, 2019, Google will provide
384
- official support only for Ruby versions that are considered current and
385
- supported by Ruby Core (that is, Ruby versions that are either in normal
386
- maintenance or in security maintenance).
387
- See https://www.ruby-lang.org/en/downloads/branches/ for further details.
388
-
389
- ## License
390
-
391
- This library is licensed under Apache 2.0. Full license text is
392
- available in [LICENSE](LICENSE).
393
-
394
- ## Contributing
395
-
396
- See [CONTRIBUTING](.github/CONTRIBUTING.md).
397
-
398
- ## Support
399
-
400
- Please [report bugs at the project on Github](https://github.com/google/google-api-ruby-client/issues). Don't
401
- hesitate to [ask questions](http://stackoverflow.com/questions/tagged/google-api-ruby-client) about the client or APIs
402
- on [StackOverflow](http://stackoverflow.com).
data/Rakefile DELETED
@@ -1,131 +0,0 @@
1
- require "bundler/gem_tasks"
2
- require "json"
3
-
4
- task :release_gem, :tag do |_t, args|
5
- tag = args[:tag]
6
- raise "You must provide a tag to release." if tag.nil?
7
-
8
- # Verify the tag format "vVERSION"
9
- m = tag.match(/v(?<version>\S*)/)
10
- raise "Tag #{tag} does not match the expected format." if m.nil?
11
-
12
- version = m[:version]
13
- raise "You must provide a version." if version.nil?
14
-
15
- api_token = ENV["RUBYGEMS_API_TOKEN"]
16
-
17
- require "gems"
18
- if api_token
19
- ::Gems.configure do |config|
20
- config.key = api_token
21
- end
22
- end
23
-
24
- Bundler.with_clean_env do
25
- sh "rm -rf pkg"
26
- sh "bundle update"
27
- sh "bundle exec rake build"
28
- end
29
-
30
- path_to_be_pushed = "pkg/google-api-client-#{version}.gem"
31
- gem_was_published = nil
32
- if File.file? path_to_be_pushed
33
- begin
34
- response = ::Gems.push File.new(path_to_be_pushed)
35
- puts response
36
- raise unless response.include? "Successfully registered gem:"
37
- gem_was_published = true
38
- puts "Successfully built and pushed google-api-client for version #{version}"
39
- rescue StandardError => e
40
- gem_was_published = false
41
- puts "Error while releasing google-api-client version #{version}: #{e.message}"
42
- end
43
- else
44
- raise "Cannot build google-api-client for version #{version}"
45
- end
46
-
47
- Rake::Task["kokoro:publish_docs"].invoke if gem_was_published
48
- end
49
-
50
- task default: :spec
51
-
52
- namespace :kokoro do
53
- task :load_env_vars do
54
- service_account = "#{ENV['KOKORO_GFILE_DIR']}/service-account.json"
55
- ENV["GOOGLE_APPLICATION_CREDENTIALS"] = service_account
56
- filename = "#{ENV['KOKORO_GFILE_DIR']}/env_vars.json"
57
- env_vars = JSON.parse File.read(filename)
58
- env_vars.each { |k, v| ENV[k] = v }
59
- end
60
-
61
- task :presubmit do
62
- Rake::Task["spec"].invoke
63
- end
64
-
65
- task :continuous do
66
- Rake::Task["spec"].invoke
67
- end
68
-
69
- task :nightly do
70
- Rake::Task["spec"].invoke
71
- end
72
-
73
- task :post do
74
- require_relative "rakelib/devsite/link_checker.rb"
75
-
76
- link_checker = LinkChecker.new
77
- link_checker.run
78
- exit link_checker.exit_status
79
- end
80
-
81
- task :release do
82
- Rake::Task["kokoro:publish_gem"].invoke
83
- Rake::Task["kokoro:publish_docs"].invoke
84
- end
85
-
86
- task :publish_gem do
87
- require "gems"
88
-
89
- load_env_vars if ENV["KOKORO_GFILE_DIR"]
90
- api_token = ENV["RUBYGEMS_API_TOKEN"]
91
- if api_token
92
- ::Gems.configure do |config|
93
- config.key = api_token
94
- end
95
- end
96
-
97
- rm_rf "pkg"
98
- Rake::Task["build"].invoke
99
- built_gem_path = Dir.glob("pkg/google-api-client-*.gem").last
100
-
101
- response = ::Gems.push File.new built_gem_path
102
- puts response
103
- raise "Failed to release gem" unless response.include? "Successfully registered gem:"
104
- end
105
-
106
- desc "Publish docs for the latest git tag"
107
- task :publish_docs do
108
- require_relative "rakelib/devsite/devsite_builder.rb"
109
-
110
- DevsiteBuilder.new.publish ENV["DOCS_BUILD_TAG"]
111
- end
112
- end
113
-
114
- def load_env_vars
115
- service_account = "#{ENV['KOKORO_GFILE_DIR']}/service-account.json"
116
- raise "#{service_account} is not a file" unless File.file? service_account
117
- ENV["GOOGLE_APPLICATION_CREDENTIALS"] = service_account
118
- filename = "#{ENV['KOKORO_GFILE_DIR']}/ruby_env_vars.json"
119
- raise "#{filename} is not a file" unless File.file? filename
120
- env_vars = JSON.parse File.read(filename)
121
- env_vars.each { |k, v| ENV[k] ||= v }
122
- end
123
-
124
- def header str, token = "#"
125
- line_length = str.length + 8
126
- puts
127
- puts token * line_length
128
- puts "#{token * 3} #{str} #{token * 3}"
129
- puts token * line_length
130
- puts
131
- end