google-api-client 0.34.0 → 0.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. checksums.yaml +4 -4
  2. data/.kokoro/continuous/linux.cfg +2 -2
  3. data/.kokoro/continuous/post.cfg +30 -0
  4. data/.kokoro/presubmit/linux.cfg +1 -1
  5. data/.kokoro/release.cfg +94 -0
  6. data/.repo-metadata.json +5 -0
  7. data/.rubocop.yml +5 -0
  8. data/.yardopts +16 -3
  9. data/CHANGELOG.md +132 -0
  10. data/Gemfile +1 -0
  11. data/OVERVIEW.md +36 -0
  12. data/README.md +49 -1
  13. data/Rakefile +71 -2
  14. data/docs/api-keys.md +20 -0
  15. data/docs/auth.md +53 -0
  16. data/docs/client-secrets.md +69 -0
  17. data/docs/getting-started.md +340 -0
  18. data/docs/installation.md +0 -0
  19. data/docs/logging.md +34 -0
  20. data/docs/media-upload.md +25 -0
  21. data/docs/oauth-installed.md +191 -0
  22. data/docs/oauth-server.md +135 -0
  23. data/docs/oauth-web.md +280 -0
  24. data/docs/oauth.md +268 -0
  25. data/docs/pagination.md +29 -0
  26. data/docs/performance.md +25 -0
  27. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  28. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +9 -0
  29. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +1 -0
  30. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  31. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +9 -0
  32. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +1 -0
  33. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  34. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  35. data/generated/google/apis/androidpublisher_v3/classes.rb +93 -0
  36. data/generated/google/apis/androidpublisher_v3/representations.rb +49 -0
  37. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  38. data/generated/google/apis/appengine_v1.rb +1 -1
  39. data/generated/google/apis/appengine_v1beta.rb +1 -1
  40. data/generated/google/apis/appsmarket_v2.rb +1 -1
  41. data/generated/google/apis/bigquery_v2/classes.rb +79 -4
  42. data/generated/google/apis/bigquery_v2/representations.rb +35 -0
  43. data/generated/google/apis/bigquery_v2/service.rb +1 -5
  44. data/generated/google/apis/bigquery_v2.rb +1 -1
  45. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +6 -5
  46. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  47. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +30 -4
  48. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  49. data/generated/google/apis/bigqueryreservation_v1/classes.rb +0 -21
  50. data/generated/google/apis/bigqueryreservation_v1/representations.rb +0 -13
  51. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  52. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +116 -1
  53. data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +35 -0
  54. data/generated/google/apis/bigqueryreservation_v1alpha2/service.rb +71 -0
  55. data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
  56. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +61 -77
  57. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +16 -17
  58. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +112 -78
  59. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  60. data/generated/google/apis/bigtableadmin_v1/classes.rb +1 -1
  61. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  62. data/generated/google/apis/bigtableadmin_v2/classes.rb +1 -1
  63. data/generated/google/apis/bigtableadmin_v2/service.rb +1 -1
  64. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  65. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +392 -0
  66. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +191 -0
  67. data/generated/google/apis/billingbudgets_v1beta1/service.rb +233 -0
  68. data/generated/google/apis/{sqladmin_v1beta4.rb → billingbudgets_v1beta1.rb} +10 -13
  69. data/generated/google/apis/binaryauthorization_v1/classes.rb +6 -5
  70. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  71. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +6 -5
  72. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  73. data/generated/google/apis/books_v1/classes.rb +20 -0
  74. data/generated/google/apis/books_v1/representations.rb +3 -0
  75. data/generated/google/apis/books_v1.rb +1 -1
  76. data/generated/google/apis/calendar_v3/classes.rb +1 -1
  77. data/generated/google/apis/calendar_v3/service.rb +18 -30
  78. data/generated/google/apis/calendar_v3.rb +1 -1
  79. data/generated/google/apis/civicinfo_v2/classes.rb +0 -156
  80. data/generated/google/apis/civicinfo_v2/representations.rb +0 -58
  81. data/generated/google/apis/civicinfo_v2.rb +1 -1
  82. data/generated/google/apis/cloudasset_v1/classes.rb +6 -5
  83. data/generated/google/apis/cloudasset_v1.rb +1 -1
  84. data/generated/google/apis/cloudasset_v1beta1/classes.rb +6 -5
  85. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  86. data/generated/google/apis/cloudbilling_v1/classes.rb +17 -0
  87. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  88. data/generated/google/apis/cloudbuild_v1/classes.rb +8 -2
  89. data/generated/google/apis/cloudbuild_v1/representations.rb +1 -0
  90. data/generated/google/apis/cloudbuild_v1/service.rb +18 -18
  91. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  92. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +8 -2
  93. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +1 -0
  94. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +4 -1
  95. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  96. data/generated/google/apis/cloudfunctions_v1/classes.rb +13 -5
  97. data/generated/google/apis/cloudfunctions_v1/representations.rb +1 -0
  98. data/generated/google/apis/cloudfunctions_v1/service.rb +3 -1
  99. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  100. data/generated/google/apis/cloudiot_v1/classes.rb +6 -5
  101. data/generated/google/apis/cloudiot_v1.rb +1 -1
  102. data/generated/google/apis/cloudkms_v1/classes.rb +6 -5
  103. data/generated/google/apis/cloudkms_v1.rb +1 -1
  104. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb +6 -5
  105. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb +1 -1
  106. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +6 -5
  107. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  108. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +6 -5
  109. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  110. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +6 -5
  111. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  112. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +6 -5
  113. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  114. data/generated/google/apis/cloudscheduler_v1/classes.rb +2 -1
  115. data/generated/google/apis/cloudscheduler_v1.rb +1 -1
  116. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +2 -1
  117. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  118. data/generated/google/apis/cloudsearch_v1/classes.rb +5 -130
  119. data/generated/google/apis/cloudsearch_v1/representations.rb +0 -75
  120. data/generated/google/apis/cloudsearch_v1/service.rb +42 -7
  121. data/generated/google/apis/cloudsearch_v1.rb +8 -8
  122. data/generated/google/apis/cloudshell_v1/classes.rb +2 -1
  123. data/generated/google/apis/cloudshell_v1.rb +1 -1
  124. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +2 -1
  125. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  126. data/generated/google/apis/cloudtasks_v2/classes.rb +212 -5
  127. data/generated/google/apis/cloudtasks_v2/representations.rb +50 -0
  128. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  129. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +6 -5
  130. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  131. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +6 -5
  132. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  133. data/generated/google/apis/commentanalyzer_v1alpha1/classes.rb +14 -19
  134. data/generated/google/apis/commentanalyzer_v1alpha1.rb +1 -1
  135. data/generated/google/apis/compute_alpha/classes.rb +75 -12
  136. data/generated/google/apis/compute_alpha/representations.rb +2 -0
  137. data/generated/google/apis/compute_alpha.rb +1 -1
  138. data/generated/google/apis/compute_beta/classes.rb +54 -10
  139. data/generated/google/apis/compute_beta.rb +1 -1
  140. data/generated/google/apis/compute_v1/classes.rb +54 -10
  141. data/generated/google/apis/compute_v1.rb +1 -1
  142. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +6 -5
  143. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  144. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +6 -5
  145. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  146. data/generated/google/apis/content_v2/classes.rb +13 -4
  147. data/generated/google/apis/content_v2.rb +1 -1
  148. data/generated/google/apis/content_v2_1/classes.rb +13 -4
  149. data/generated/google/apis/content_v2_1.rb +1 -1
  150. data/generated/google/apis/datacatalog_v1beta1/classes.rb +1646 -0
  151. data/generated/google/apis/datacatalog_v1beta1/representations.rb +700 -0
  152. data/generated/google/apis/datacatalog_v1beta1/service.rb +1982 -0
  153. data/generated/google/apis/datacatalog_v1beta1.rb +35 -0
  154. data/generated/google/apis/dataproc_v1/classes.rb +75 -4
  155. data/generated/google/apis/dataproc_v1/representations.rb +22 -0
  156. data/generated/google/apis/dataproc_v1/service.rb +14 -7
  157. data/generated/google/apis/dataproc_v1.rb +1 -1
  158. data/generated/google/apis/dataproc_v1beta2/classes.rb +2 -4
  159. data/generated/google/apis/dataproc_v1beta2/service.rb +14 -7
  160. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  161. data/generated/google/apis/dfareporting_v3_3/classes.rb +21 -1
  162. data/generated/google/apis/dfareporting_v3_3/service.rb +6 -6
  163. data/generated/google/apis/dfareporting_v3_3.rb +1 -1
  164. data/generated/google/apis/dfareporting_v3_4/classes.rb +12717 -0
  165. data/generated/google/apis/dfareporting_v3_4/representations.rb +4595 -0
  166. data/generated/google/apis/dfareporting_v3_4/service.rb +8685 -0
  167. data/generated/google/apis/dfareporting_v3_4.rb +40 -0
  168. data/generated/google/apis/dialogflow_v2/classes.rb +484 -1
  169. data/generated/google/apis/dialogflow_v2/representations.rb +220 -0
  170. data/generated/google/apis/dialogflow_v2.rb +1 -1
  171. data/generated/google/apis/dialogflow_v2beta1/classes.rb +497 -1
  172. data/generated/google/apis/dialogflow_v2beta1/representations.rb +221 -0
  173. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  174. data/generated/google/apis/dlp_v2/classes.rb +93 -25
  175. data/generated/google/apis/dlp_v2/representations.rb +23 -4
  176. data/generated/google/apis/dlp_v2/service.rb +1977 -233
  177. data/generated/google/apis/dlp_v2.rb +1 -1
  178. data/generated/google/apis/dns_v1beta2/classes.rb +47 -0
  179. data/generated/google/apis/dns_v1beta2/representations.rb +17 -0
  180. data/generated/google/apis/dns_v1beta2.rb +1 -1
  181. data/generated/google/apis/docs_v1.rb +1 -1
  182. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  183. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +826 -0
  184. data/generated/google/apis/doubleclickbidmanager_v1_1/representations.rb +372 -0
  185. data/generated/google/apis/doubleclickbidmanager_v1_1/service.rb +371 -0
  186. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +34 -0
  187. data/generated/google/apis/drive_v3/classes.rb +12 -3
  188. data/generated/google/apis/drive_v3.rb +1 -1
  189. data/generated/google/apis/fcm_v1/classes.rb +15 -0
  190. data/generated/google/apis/fcm_v1/representations.rb +2 -0
  191. data/generated/google/apis/fcm_v1.rb +1 -1
  192. data/generated/google/apis/firebase_v1beta1/classes.rb +3 -4
  193. data/generated/google/apis/firebase_v1beta1/service.rb +6 -6
  194. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  195. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +25 -0
  196. data/generated/google/apis/firebasehosting_v1beta1/representations.rb +15 -0
  197. data/generated/google/apis/firebasehosting_v1beta1/service.rb +47 -0
  198. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  199. data/generated/google/apis/firebaserules_v1/classes.rb +26 -0
  200. data/generated/google/apis/firebaserules_v1/representations.rb +15 -0
  201. data/generated/google/apis/firebaserules_v1.rb +1 -1
  202. data/generated/google/apis/genomics_v2alpha1/classes.rb +32 -0
  203. data/generated/google/apis/genomics_v2alpha1/representations.rb +16 -0
  204. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  205. data/generated/google/apis/healthcare_v1beta1/classes.rb +8 -7
  206. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  207. data/generated/google/apis/homegraph_v1/classes.rb +15 -1
  208. data/generated/google/apis/homegraph_v1/representations.rb +2 -1
  209. data/generated/google/apis/homegraph_v1.rb +1 -1
  210. data/generated/google/apis/iam_v1/classes.rb +6 -5
  211. data/generated/google/apis/iam_v1.rb +1 -1
  212. data/generated/google/apis/logging_v2/classes.rb +18 -2
  213. data/generated/google/apis/logging_v2/representations.rb +2 -0
  214. data/generated/google/apis/logging_v2.rb +1 -1
  215. data/generated/google/apis/ml_v1/classes.rb +173 -97
  216. data/generated/google/apis/ml_v1/representations.rb +58 -0
  217. data/generated/google/apis/ml_v1/service.rb +37 -0
  218. data/generated/google/apis/ml_v1.rb +1 -1
  219. data/generated/google/apis/monitoring_v3/classes.rb +780 -6
  220. data/generated/google/apis/monitoring_v3/representations.rb +347 -0
  221. data/generated/google/apis/monitoring_v3/service.rb +382 -0
  222. data/generated/google/apis/monitoring_v3.rb +1 -1
  223. data/generated/google/apis/pagespeedonline_v5/classes.rb +8 -0
  224. data/generated/google/apis/pagespeedonline_v5/representations.rb +1 -0
  225. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  226. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +6 -5
  227. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  228. data/generated/google/apis/pubsub_v1/classes.rb +8 -6
  229. data/generated/google/apis/pubsub_v1/service.rb +6 -7
  230. data/generated/google/apis/pubsub_v1.rb +1 -1
  231. data/generated/google/apis/pubsub_v1beta2/classes.rb +6 -5
  232. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  233. data/generated/google/apis/recommender_v1beta1/classes.rb +1 -1
  234. data/generated/google/apis/recommender_v1beta1/service.rb +10 -8
  235. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  236. data/generated/google/apis/redis_v1/classes.rb +11 -11
  237. data/generated/google/apis/redis_v1/service.rb +5 -5
  238. data/generated/google/apis/redis_v1.rb +1 -1
  239. data/generated/google/apis/redis_v1beta1/classes.rb +11 -11
  240. data/generated/google/apis/redis_v1beta1/service.rb +5 -5
  241. data/generated/google/apis/redis_v1beta1.rb +1 -1
  242. data/generated/google/apis/remotebuildexecution_v1/classes.rb +33 -0
  243. data/generated/google/apis/remotebuildexecution_v1/representations.rb +15 -0
  244. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  245. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +33 -0
  246. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +15 -0
  247. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  248. data/generated/google/apis/remotebuildexecution_v2/classes.rb +33 -0
  249. data/generated/google/apis/remotebuildexecution_v2/representations.rb +15 -0
  250. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  251. data/generated/google/apis/run_v1/classes.rb +8 -169
  252. data/generated/google/apis/run_v1/representations.rb +0 -71
  253. data/generated/google/apis/run_v1/service.rb +229 -1207
  254. data/generated/google/apis/run_v1.rb +1 -1
  255. data/generated/google/apis/run_v1alpha1/classes.rb +9 -9
  256. data/generated/google/apis/run_v1alpha1.rb +1 -1
  257. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +6 -5
  258. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  259. data/generated/google/apis/securitycenter_v1/classes.rb +88 -29
  260. data/generated/google/apis/securitycenter_v1/representations.rb +19 -0
  261. data/generated/google/apis/securitycenter_v1/service.rb +14 -12
  262. data/generated/google/apis/securitycenter_v1.rb +1 -1
  263. data/generated/google/apis/securitycenter_v1beta1/classes.rb +24 -20
  264. data/generated/google/apis/securitycenter_v1beta1/service.rb +14 -12
  265. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  266. data/generated/google/apis/servicebroker_v1/classes.rb +6 -5
  267. data/generated/google/apis/servicebroker_v1.rb +1 -1
  268. data/generated/google/apis/servicebroker_v1alpha1/classes.rb +6 -5
  269. data/generated/google/apis/servicebroker_v1alpha1.rb +1 -1
  270. data/generated/google/apis/servicebroker_v1beta1/classes.rb +6 -5
  271. data/generated/google/apis/servicebroker_v1beta1.rb +1 -1
  272. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +3 -2
  273. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  274. data/generated/google/apis/servicecontrol_v1/classes.rb +8 -1
  275. data/generated/google/apis/servicecontrol_v1/representations.rb +1 -0
  276. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  277. data/generated/google/apis/servicemanagement_v1/classes.rb +12 -9
  278. data/generated/google/apis/servicemanagement_v1/service.rb +1 -9
  279. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  280. data/generated/google/apis/servicenetworking_v1/classes.rb +130 -13
  281. data/generated/google/apis/servicenetworking_v1/representations.rb +58 -0
  282. data/generated/google/apis/servicenetworking_v1/service.rb +42 -3
  283. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  284. data/generated/google/apis/servicenetworking_v1beta/classes.rb +3 -2
  285. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  286. data/generated/google/apis/serviceusage_v1/classes.rb +3 -2
  287. data/generated/google/apis/serviceusage_v1.rb +1 -1
  288. data/generated/google/apis/serviceusage_v1beta1/classes.rb +3 -2
  289. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  290. data/generated/google/apis/sheets_v4/classes.rb +768 -18
  291. data/generated/google/apis/sheets_v4/representations.rb +101 -0
  292. data/generated/google/apis/sheets_v4.rb +1 -1
  293. data/generated/google/apis/spanner_v1/classes.rb +70 -30
  294. data/generated/google/apis/spanner_v1/service.rb +270 -0
  295. data/generated/google/apis/spanner_v1.rb +1 -1
  296. data/generated/google/apis/speech_v1/classes.rb +6 -0
  297. data/generated/google/apis/speech_v1/representations.rb +1 -0
  298. data/generated/google/apis/speech_v1.rb +1 -1
  299. data/generated/google/apis/speech_v1p1beta1/classes.rb +6 -0
  300. data/generated/google/apis/speech_v1p1beta1/representations.rb +1 -0
  301. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  302. data/generated/google/apis/sql_v1beta4/service.rb +59 -10
  303. data/generated/google/apis/sql_v1beta4.rb +1 -1
  304. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  305. data/generated/google/apis/videointelligence_v1/classes.rb +112 -0
  306. data/generated/google/apis/videointelligence_v1/representations.rb +62 -0
  307. data/generated/google/apis/videointelligence_v1.rb +1 -1
  308. data/generated/google/apis/videointelligence_v1beta2/classes.rb +112 -0
  309. data/generated/google/apis/videointelligence_v1beta2/representations.rb +62 -0
  310. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  311. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +112 -0
  312. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +62 -0
  313. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  314. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +112 -0
  315. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +62 -0
  316. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  317. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +112 -0
  318. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +62 -0
  319. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  320. data/generated/google/apis/vision_v1/classes.rb +66 -0
  321. data/generated/google/apis/vision_v1/representations.rb +32 -0
  322. data/generated/google/apis/vision_v1.rb +1 -1
  323. data/generated/google/apis/vision_v1p1beta1/classes.rb +66 -0
  324. data/generated/google/apis/vision_v1p1beta1/representations.rb +32 -0
  325. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  326. data/generated/google/apis/vision_v1p2beta1/classes.rb +66 -0
  327. data/generated/google/apis/vision_v1p2beta1/representations.rb +32 -0
  328. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  329. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  330. data/lib/google/apis/core/api_command.rb +3 -0
  331. data/lib/google/apis/core/http_command.rb +10 -8
  332. data/lib/google/apis/core/upload.rb +4 -0
  333. data/lib/google/apis/version.rb +1 -1
  334. data/rakelib/devsite/devsite_builder.rb +126 -0
  335. data/rakelib/devsite/link_checker.rb +64 -0
  336. data/rakelib/devsite/repo_metadata.rb +56 -0
  337. metadata +39 -11
  338. data/generated/google/apis/sqladmin_v1beta4/classes.rb +0 -2633
  339. data/generated/google/apis/sqladmin_v1beta4/representations.rb +0 -1110
  340. data/generated/google/apis/sqladmin_v1beta4/service.rb +0 -1793
  341. data/generated/google/apis/storage_v1beta1/classes.rb +0 -616
  342. data/generated/google/apis/storage_v1beta1/representations.rb +0 -249
  343. data/generated/google/apis/storage_v1beta1/service.rb +0 -1032
  344. data/generated/google/apis/storage_v1beta1.rb +0 -40
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 431ed95e3b0e5c21253a68443946c187bbea57815212e6452649e4135cd0a071
4
- data.tar.gz: 8d2bab1cf1bc2c76a8f15ebfd89f504844e84aca97ec96b22acfdfd951d4ab4a
3
+ metadata.gz: fcc784d3215a12ce376ba8c9915d579ad935a7c673ae86837f967fa2424d0647
4
+ data.tar.gz: 449e4a3c5c79905f96b9d0fcf7912089291f6e307c2849e8148dc9d2efc4883f
5
5
  SHA512:
6
- metadata.gz: c3ce41a21b452d952868f10f707e2ae7ab81b0f5cdff2f65397716fb17de53d9ce5da070b7b9222419e087e00bbd0e8c98fe6f5cca0c41f8a1ab3944067b5d9b
7
- data.tar.gz: dd9b2e0d6d791ea928824153311740d6dedb79c44d09aa2bd5462c09d42b288be9ed70e70374265ecadb2c2aec4e68372f7a7d22673bf97409f0c929492b5a7f
6
+ metadata.gz: fc08d3a30a1336ab5b2aa685a3e56794c65d914c4a74dbbf0e6dbbc105e61818a10931cb069018676fd1c9fcc854b28d52f1ac4e804d577042823902b3bc011c
7
+ data.tar.gz: a3f08c15420319a04a9e82f601012d6f393958f83015c885253c7df306a26ab3bef97ca964b61e38b84ef0df94d70a11d517c71b24988a69cf8ba9ae1c65c1b7
@@ -3,10 +3,10 @@
3
3
  build_file: "google-api-ruby-client/.kokoro/trampoline.sh"
4
4
 
5
5
  # Configure the docker image for kokoro-trampoline.
6
- # Dockerfile is maintained at https://github.com/googleapis/google-cloud-ruby/tree/master/.kokoro/docker/ruby-multi
6
+ # Dockerfile is maintained at https://github.com/googleapis/google-cloud-ruby/tree/master/.kokoro/docker/multi
7
7
  env_vars: {
8
8
  key: "TRAMPOLINE_IMAGE"
9
- value: "gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/ruby-multi"
9
+ value: "gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/multi"
10
10
  }
11
11
 
12
12
  env_vars: {
@@ -0,0 +1,30 @@
1
+ # Format: //devtools/kokoro/config/proto/build.proto
2
+
3
+ build_file: "google-api-ruby-client/.kokoro/trampoline.sh"
4
+
5
+ # Configure the docker image for kokoro-trampoline.
6
+ # Dockerfile is maintained at https://github.com/googleapis/google-cloud-ruby/tree/master/.kokoro/docker/multi-node
7
+ env_vars: {
8
+ key: "TRAMPOLINE_IMAGE"
9
+ value: "gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/multi-node"
10
+ }
11
+
12
+ env_vars: {
13
+ key: "TRAMPOLINE_BUILD_FILE"
14
+ value: "github/google-api-ruby-client/.kokoro/build.sh"
15
+ }
16
+
17
+ env_vars: {
18
+ key: "TRAMPOLINE_SCRIPT"
19
+ value: "trampoline_v1.py"
20
+ }
21
+
22
+ env_vars: {
23
+ key: "OS"
24
+ value: "linux"
25
+ }
26
+
27
+ env_vars: {
28
+ key: "JOB_TYPE"
29
+ value: "post"
30
+ }
@@ -5,7 +5,7 @@ build_file: "google-api-ruby-client/.kokoro/trampoline.sh"
5
5
  # Configure the docker image for kokoro-trampoline.
6
6
  env_vars: {
7
7
  key: "TRAMPOLINE_IMAGE"
8
- value: "gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/ruby-multi"
8
+ value: "gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/multi"
9
9
  }
10
10
 
11
11
  env_vars: {
@@ -0,0 +1,94 @@
1
+ # Format: //devtools/kokoro/config/proto/build.proto
2
+
3
+ # Build logs will be here
4
+ action {
5
+ define_artifacts {
6
+ regex: "**/*sponge_log.xml"
7
+ }
8
+ }
9
+
10
+ # Fetch the token needed for reporting release status to GitHub
11
+ before_action {
12
+ fetch_keystore {
13
+ keystore_resource {
14
+ keystore_config_id: 73713
15
+ keyname: "yoshi-automation-github-key"
16
+ }
17
+ }
18
+ }
19
+
20
+ # Fetch magictoken to use with Magic Github Proxy
21
+ before_action {
22
+ fetch_keystore {
23
+ keystore_resource {
24
+ keystore_config_id: 73713
25
+ keyname: "releasetool-magictoken"
26
+ backend_type: FASTCONFIGPUSH
27
+ }
28
+ }
29
+ }
30
+
31
+ # Fetch api key to use with Magic Github Proxy
32
+ before_action {
33
+ fetch_keystore {
34
+ keystore_resource {
35
+ keystore_config_id: 73713
36
+ keyname: "magic-github-proxy-api-key"
37
+ backend_type: FASTCONFIGPUSH
38
+ }
39
+ }
40
+ }
41
+
42
+ before_action {
43
+ fetch_keystore {
44
+ keystore_resource {
45
+ keystore_config_id: 73713
46
+ keyname: "docuploader_service_account"
47
+ }
48
+ }
49
+ }
50
+
51
+ # Download resources for system tests (service account key, etc.)
52
+ gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-ruby"
53
+
54
+ # Download trampoline resources.
55
+ gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"
56
+
57
+ # Use the trampoline script to run in docker.
58
+ build_file: "google-api-ruby-client/.kokoro/trampoline.sh"
59
+
60
+ # Configure the docker image for kokoro-trampoline.
61
+ env_vars: {
62
+ key: "TRAMPOLINE_IMAGE"
63
+ value: "gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/release"
64
+ }
65
+
66
+ env_vars: {
67
+ key: "TRAMPOLINE_BUILD_FILE"
68
+ value: "github/google-api-ruby-client/.kokoro/build.sh"
69
+ }
70
+
71
+ env_vars: {
72
+ key: "TRAMPOLINE_SCRIPT"
73
+ value: "trampoline_v1.py"
74
+ }
75
+
76
+ env_vars: {
77
+ key: "JOB_TYPE"
78
+ value: "release"
79
+ }
80
+
81
+ env_vars: {
82
+ key: "OS"
83
+ value: "linux"
84
+ }
85
+
86
+ env_vars: {
87
+ key: "REPO_DIR"
88
+ value: "github/google-api-ruby-client"
89
+ }
90
+
91
+ env_vars: {
92
+ key: "PACKAGE"
93
+ value: "google-api-client"
94
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "google-api-client",
3
+ "language": "ruby",
4
+ "distribution-name": "google-api-client"
5
+ }
data/.rubocop.yml CHANGED
@@ -5,3 +5,8 @@ Metrics/LineLength:
5
5
 
6
6
  Style/FormatString:
7
7
  EnforcedStyle: sprintf
8
+
9
+ AllCops:
10
+ Exclude:
11
+ - "Rakefile"
12
+ - "rakelib/**/*"
data/.yardopts CHANGED
@@ -3,10 +3,23 @@
3
3
  --verbose
4
4
  --markup-provider=redcarpet
5
5
  --markup=markdown
6
+ --main OVERVIEW.md
7
+
6
8
  lib/**/*.rb
7
- generated/**/*.rb
8
9
  -
9
- README.md
10
+ OVERVIEW.md
11
+ docs/getting-started.md
12
+ docs/installation.md
13
+ docs/auth.md
14
+ docs/api-keys.md
15
+ docs/oauth.md
16
+ docs/oauth-web.md
17
+ docs/oauth-installed.md
18
+ docs/oauth-server.md
19
+ docs/client-secrets.md
20
+ docs/logging.md
21
+ docs/media-upload.md
22
+ docs/pagination.md
23
+ docs/performance.md
10
24
  MIGRATING.md
11
- CONTRIBUTING.md
12
25
  LICENSE
data/CHANGELOG.md CHANGED
@@ -1,3 +1,133 @@
1
+ # 0.35.0
2
+ * Breaking changes:
3
+ * Deleted `storage_v1beta1`
4
+ * Backwards compatible changes:
5
+ * Added `datacatalog_v1beta1`
6
+ * Added `dfareporting_v3_4`
7
+ * Added `doubleclickbidmanager_v1_1`
8
+ * Updated `adexchangebuyer2_v2beta1`
9
+ * Updated `adexchangebuyer_v1_3`
10
+ * Updated `adexchangebuyer_v1_4`
11
+ * Updated `androidmanagement_v1`
12
+ * Updated `androidpublisher_v3`
13
+ * Updated `appengine_v1`
14
+ * Updated `appengine_v1beta`
15
+ * Updated `appsmarket_v2`
16
+ * Updated `bigquery_v2`
17
+ * Updated `bigqueryconnection_v1beta1`
18
+ * Updated `bigquerydatatransfer_v1`
19
+ * Updated `bigqueryreservation_v1`
20
+ * Updated `bigqueryreservation_v1alpha2`
21
+ * Updated `bigqueryreservation_v1beta1`
22
+ * Updated `bigtableadmin_v1`
23
+ * Updated `bigtableadmin_v2`
24
+ * Updated `binaryauthorization_v1`
25
+ * Updated `binaryauthorization_v1beta1`
26
+ * Updated `books_v1`
27
+ * Updated `calendar_v3`
28
+ * Updated `civicinfo_v2`
29
+ * Updated `cloudasset_v1`
30
+ * Updated `cloudasset_v1beta1`
31
+ * Updated `cloudbilling_v1`
32
+ * Updated `cloudbuild_v1`
33
+ * Updated `cloudbuild_v1alpha1`
34
+ * Updated `cloudfunctions_v1`
35
+ * Updated `cloudiot_v1`
36
+ * Updated `cloudkms_v1`
37
+ * Updated `cloudprivatecatalogproducer_v1beta1`
38
+ * Updated `cloudresourcemanager_v1`
39
+ * Updated `cloudresourcemanager_v1beta1`
40
+ * Updated `cloudresourcemanager_v2`
41
+ * Updated `cloudresourcemanager_v2beta1`
42
+ * Updated `cloudscheduler_v1`
43
+ * Updated `cloudscheduler_v1beta1`
44
+ * Updated `cloudsearch_v1`
45
+ * Updated `cloudtasks_v2`
46
+ * Updated `cloudtasks_v2beta2`
47
+ * Updated `cloudtasks_v2beta3`
48
+ * Updated `commentanalyzer_v1alpha1`
49
+ * Updated `compute_alpha`
50
+ * Updated `compute_beta`
51
+ * Updated `compute_v1`
52
+ * Updated `containeranalysis_v1alpha1`
53
+ * Updated `containeranalysis_v1beta1`
54
+ * Updated `content_v2`
55
+ * Updated `content_v2_1`
56
+ * Updated `dataproc_v1`
57
+ * Updated `dataproc_v1beta2`
58
+ * Updated `dfareporting_v3_3`
59
+ * Updated `dialogflow_v2`
60
+ * Updated `dialogflow_v2beta1`
61
+ * Updated `dlp_v2`
62
+ * Updated `dns_v1beta2`
63
+ * Updated `docs_v1`
64
+ * Updated `doubleclickbidmanager_v1`
65
+ * Updated `drive_v3`
66
+ * Updated `fcm_v1`
67
+ * Updated `firebase_v1beta1`
68
+ * Updated `firebasehosting_v1beta1`
69
+ * Updated `firebaserules_v1`
70
+ * Updated `genomics_v2alpha1`
71
+ * Updated `healthcare_v1beta1`
72
+ * Updated `homegraph_v1`
73
+ * Updated `iam_v1`
74
+ * Updated `logging_v2`
75
+ * Updated `ml_v1`
76
+ * Updated `monitoring_v3`
77
+ * Updated `pagespeedonline_v5`
78
+ * Updated `policytroubleshooter_v1beta`
79
+ * Updated `pubsub_v1`
80
+ * Updated `pubsub_v1beta2`
81
+ * Updated `recommender_v1beta1`
82
+ * Updated `remotebuildexecution_v1`
83
+ * Updated `remotebuildexecution_v1alpha`
84
+ * Updated `remotebuildexecution_v2`
85
+ * Updated `run_v1`
86
+ * Updated `run_v1alpha1`
87
+ * Updated `runtimeconfig_v1beta1`
88
+ * Updated `securitycenter_v1`
89
+ * Updated `securitycenter_v1beta1`
90
+ * Updated `servicebroker_v1`
91
+ * Updated `servicebroker_v1alpha1`
92
+ * Updated `servicebroker_v1beta1`
93
+ * Updated `serviceconsumermanagement_v1`
94
+ * Updated `servicecontrol_v1`
95
+ * Updated `servicemanagement_v1`
96
+ * Updated `servicenetworking_v1`
97
+ * Updated `servicenetworking_v1beta`
98
+ * Updated `serviceusage_v1`
99
+ * Updated `serviceusage_v1beta1`
100
+ * Updated `sheets_v4`
101
+ * Updated `spanner_v1`
102
+ * Updated `speech_v1`
103
+ * Updated `speech_v1p1beta1`
104
+ * Updated `sql_v1beta4`
105
+ * Updated `storagetransfer_v1`
106
+ * Updated `videointelligence_v1`
107
+ * Updated `videointelligence_v1beta2`
108
+ * Updated `videointelligence_v1p1beta1`
109
+ * Updated `videointelligence_v1p2beta1`
110
+ * Updated `videointelligence_v1p3beta1`
111
+ * Updated `youtube_partner_v1`
112
+
113
+ # 0.34.1
114
+ * Backwards compatible changes:
115
+ * Updated `bigquery_v2`
116
+ * Updated `cloudshell_v1`
117
+ * Updated `cloudshell_v1alpha1`
118
+ * Updated `dlp_v2`
119
+ * Updated `docs_v1`
120
+ * Updated `genomics_v2alpha1`
121
+ * Updated `recommender_v1beta1`
122
+ * Updated `redis_v1`
123
+ * Updated `redis_v1beta1`
124
+ * Updated `securitycenter_v1`
125
+ * Updated `securitycenter_v1beta1`
126
+ * Updated `sheets_v4`
127
+ * Updated `vision_v1`
128
+ * Updated `vision_v1p1beta1`
129
+ * Updated `vision_v1p2beta1`
130
+
1
131
  # 0.34.0
2
132
  * Breaking changes:
3
133
  * Deleted `dfareporting_v3_2`
@@ -156,6 +286,8 @@
156
286
  * Updated `serviceusage_v1`
157
287
  * Updated `serviceusage_v1beta1`
158
288
  * Updated `sheets_v4`
289
+ * Other changes:
290
+ * Dropped support for Ruby versions older than 2.4
159
291
 
160
292
  # 0.32.1
161
293
  * Backwards compatible changes:
data/Gemfile CHANGED
@@ -22,6 +22,7 @@ group :development do
22
22
  gem 'redis', '~> 3.2'
23
23
  gem 'logging', '~> 2.2'
24
24
  gem 'opencensus', '~> 0.4'
25
+ gem 'httparty'
25
26
  end
26
27
 
27
28
  platforms :jruby do
data/OVERVIEW.md ADDED
@@ -0,0 +1,36 @@
1
+ # Google API Client Library for Ruby Docs
2
+
3
+ The Google API Client Library for Ruby is designed for Ruby
4
+ client-application developers. It offers simple, flexible
5
+ access to many Google APIs.
6
+
7
+ ## Features
8
+
9
+ - Call Google APIs simply
10
+ - Handle Auth with fewer lines of code
11
+ - Use standard tooling for installation
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
+ - {file:docs/getting-started.md Getting Started}
20
+ - {file:docs/installation.md Installation}
21
+ - {file:docs/auth.md Auth}
22
+ - {file:docs/api-keys.md API Keys}
23
+ - {file:docs/oauth.md OAuth 2.0}
24
+ - {file:docs/oauth-web.md OAuth 2.0 for Web Server Applications}
25
+ - {file:docs/oauth-installed.md OAuth 2.0 for Installed Applications}
26
+ - {file:docs/oauth-server.md OAuth 2.0 for Server to Server Applications}
27
+ - {file:docs/client-secrets.md Client Secrets}
28
+ - How to...
29
+ - {file:docs/logging.md Use Logging}
30
+ - {file:docs/media-upload.md Upload Media}
31
+ - {file:docs/pagination.md Use Pagination}
32
+ - {file:docs/performance.md Improve Performance}
33
+
34
+ ### Reference Documentation
35
+
36
+ - Reference documentation for [google-api-client](https://googleapis.dev/ruby/google-api-client/latest/index.html).
data/README.md CHANGED
@@ -10,12 +10,37 @@ For Google Cloud Platform APIs such as Datastore, Cloud Storage or Pub/Sub, we r
10
10
 
11
11
  See [MIGRATING](MIGRATING.md) for additional details on how to migrate to the latest version.
12
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
+
13
38
  ## Installation
14
39
 
15
40
  Add this line to your application's Gemfile:
16
41
 
17
42
  ```ruby
18
- gem 'google-api-client', '~> 0.11'
43
+ gem 'google-api-client', '~> 0.34'
19
44
 
20
45
  ```
21
46
 
@@ -53,6 +78,29 @@ metadata = drive.insert_file(metadata, upload_source: 'test.txt', content_type:
53
78
  # Download a file
54
79
  drive.get_file(metadata.id, download_dest: '/tmp/myfile.txt')
55
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
+
56
104
  ### Naming conventions vs JSON representation
57
105
 
58
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:
data/Rakefile CHANGED
@@ -1,4 +1,51 @@
1
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
2
49
 
3
50
  task default: :spec
4
51
 
@@ -22,13 +69,35 @@ namespace :kokoro do
22
69
  task :nightly do
23
70
  Rake::Task["spec"].invoke
24
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
+ # Until code generation process is updated and release-please is set up, just publish docs
83
+ require_relative "rakelib/devsite/devsite_builder.rb"
84
+
85
+ DevsiteBuilder.new.publish_if_missing ENV["DOCS_BUILD_TAG"]
86
+ end
87
+
88
+ desc "Publish docs for the latest git tag"
89
+ task :publish_docs do
90
+ require_relative "rakelib/devsite/devsite_builder.rb"
91
+
92
+ DevsiteBuilder.new.publish ENV["DOCS_BUILD_TAG"]
93
+ end
25
94
  end
26
95
 
27
96
  def header str, token = "#"
28
97
  line_length = str.length + 8
29
- puts ""
98
+ puts
30
99
  puts token * line_length
31
100
  puts "#{token * 3} #{str} #{token * 3}"
32
101
  puts token * line_length
33
- puts ""
102
+ puts
34
103
  end
data/docs/api-keys.md ADDED
@@ -0,0 +1,20 @@
1
+ # API Keys
2
+
3
+ When calling APIs that do not access private user data, you can use simple API keys. These keys are used to authenticate your application for accounting purposes. The Google Developers Console documentation also describes [API keys](https://developers.google.com/console/help/using-keys).
4
+
5
+ > Note: If you do need to access private user data, you must use OAuth 2.0. See [Using OAuth 2.0 for Installed Applications](oauth-installed.md), [Using OAuth 2.0 for Server to Server Applications](oauth-server.md), and [Using OAuth 2.0 for Web Server Applications](oauth-web.md) for more information.
6
+
7
+ ## Using API Keys
8
+
9
+ To use API keys, set the `key` attribute on service objects. For example:
10
+
11
+ ```ruby
12
+ require 'google/apis/translate_v2'
13
+
14
+ translate = Google::Apis::TranslateV2::TranslateService.new
15
+ translate.key = 'YOUR_API_KEY_HERE'
16
+ result = translate.list_translations('Hello world!', 'es', source: 'en')
17
+ puts result.translations.first.translated_text
18
+ ```
19
+
20
+ All calls made using that service object will include your API key.
data/docs/auth.md ADDED
@@ -0,0 +1,53 @@
1
+ # Authentication Overview
2
+
3
+ This document is an overview of how authentication, authorization, and accounting are accomplished. For all API calls, your application needs to be authenticated. When an API accesses a user's private data, your application must also be authorized by the user to access the data. For example, accessing a public Google+ post would not require user authorization, but accessing a user's private calendar would. Also, for quota and billing purposes, all API calls involve accounting. This document summarizes the protocols used by Google APIs and provides links to more information.
4
+
5
+ ## Access types
6
+
7
+ 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.
8
+
9
+ ### 1. Simple API access (API keys)
10
+
11
+ These API calls do not access any private user data. Your application must authenticate itself as an application belonging to your Google API Console project. This is needed to measure project usage for accounting purposes.
12
+
13
+ **API key:** To authenticate your application, use an [API key](api-keys.md) for your API Console project. Every simple access call your application makes must include this key.
14
+
15
+ > **Warning:** Keep your API key private. If someone obtains your key, they could use it to consume your quota or incur charges against your API Console project.
16
+
17
+ ### 2. Authorized API access (OAuth 2.0)
18
+
19
+ 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 and libraries written for it.
20
+
21
+ **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.
22
+
23
+ **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.
24
+
25
+ > **Warning:** Keep refresh and access tokens private. If someone obtains your tokens, they could use them to access private user data.
26
+
27
+ **Client ID and client secret:** These strings uniquely identify your application and are used to acquire tokens. They are created for your project on the [API Console](https://console.developers.google.com/). There are three types of client IDs, so be sure to get the correct type for your application:
28
+
29
+ - [Web application](https://developers.google.com/accounts/docs/OAuth2WebServer) client IDs
30
+ - [Installed application](https://developers.google.com/accounts/docs/OAuth2InstalledApp) client IDs
31
+ - [Service Account](https://developers.google.com/accounts/docs/OAuth2ServiceAccount) client IDs
32
+
33
+ > **Warning:** Keep your client secret private. If someone obtains your client secret, they could use it to consume your quota, incur charges against your Console project, and request access to user data.
34
+
35
+ ## Using API keys
36
+
37
+ More information and examples for API keys are provided on the [API Keys](api-keys.md) page.
38
+
39
+ ## Using OAuth 2.0
40
+
41
+ More information and examples for OAuth 2.0 are provided on the [OAuth 2.0](oauth.md) page.
42
+
43
+ ## Using environment variables
44
+
45
+ The [GoogleAuth Library for Ruby](https://github.com/google/google-auth-library-ruby) also supports authorization via
46
+ environment variables if you do not want to check in developer credentials
47
+ or private keys. Simply set the following variables for your application:
48
+
49
+ ```sh
50
+ GOOGLE_ACCOUNT_TYPE="YOUR ACCOUNT TYPE" # ie. 'service'
51
+ GOOGLE_CLIENT_EMAIL="YOUR GOOGLE DEVELOPER EMAIL"
52
+ GOOGLE_PRIVATE_KEY="YOUR GOOGLE DEVELOPER API KEY"
53
+ ```