google-api-client 0.9.pre3 → 0.9.pre4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (307) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/CHANGELOG.md +14 -2
  4. data/Gemfile +4 -0
  5. data/MIGRATING.md +1 -1
  6. data/README.md +17 -3
  7. data/api_names.yaml +127 -14
  8. data/api_names_out.yaml +5442 -710
  9. data/bin/generate-api +16 -14
  10. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  11. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +213 -2
  12. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +71 -0
  13. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +21 -42
  14. data/generated/google/apis/adexchangeseller_v2_0.rb +1 -1
  15. data/generated/google/apis/adexchangeseller_v2_0/service.rb +15 -29
  16. data/generated/google/apis/admin_datatransfer_v1.rb +37 -0
  17. data/generated/google/apis/admin_datatransfer_v1/classes.rb +267 -0
  18. data/generated/google/apis/admin_datatransfer_v1/representations.rb +118 -0
  19. data/generated/google/apis/admin_datatransfer_v1/service.rb +262 -0
  20. data/generated/google/apis/admin_directory_v1.rb +25 -1
  21. data/generated/google/apis/admin_directory_v1/classes.rb +718 -0
  22. data/generated/google/apis/admin_directory_v1/representations.rb +244 -0
  23. data/generated/google/apis/admin_directory_v1/service.rb +1522 -509
  24. data/generated/google/apis/admin_reports_v1.rb +1 -1
  25. data/generated/google/apis/admin_reports_v1/service.rb +5 -10
  26. data/generated/google/apis/adsense_v1_4.rb +1 -1
  27. data/generated/google/apis/adsense_v1_4/classes.rb +6 -0
  28. data/generated/google/apis/adsense_v1_4/representations.rb +1 -0
  29. data/generated/google/apis/adsense_v1_4/service.rb +40 -78
  30. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  31. data/generated/google/apis/adsensehost_v4_1/service.rb +26 -52
  32. data/generated/google/apis/analytics_v3.rb +1 -1
  33. data/generated/google/apis/analytics_v3/classes.rb +11 -13
  34. data/generated/google/apis/analytics_v3/service.rb +84 -158
  35. data/generated/google/apis/androidenterprise_v1.rb +2 -2
  36. data/generated/google/apis/androidenterprise_v1/classes.rb +276 -8
  37. data/generated/google/apis/androidenterprise_v1/representations.rb +106 -0
  38. data/generated/google/apis/androidenterprise_v1/service.rb +715 -97
  39. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  40. data/generated/google/apis/androidpublisher_v2/classes.rb +2 -2
  41. data/generated/google/apis/androidpublisher_v2/service.rb +55 -107
  42. data/generated/google/apis/appengine_v1beta4.rb +35 -0
  43. data/generated/google/apis/appengine_v1beta4/classes.rb +1532 -0
  44. data/generated/google/apis/appengine_v1beta4/representations.rb +526 -0
  45. data/generated/google/apis/appengine_v1beta4/service.rb +476 -0
  46. data/generated/google/apis/appsactivity_v1.rb +1 -1
  47. data/generated/google/apis/appsactivity_v1/service.rb +1 -2
  48. data/generated/google/apis/appstate_v1.rb +1 -1
  49. data/generated/google/apis/appstate_v1/service.rb +6 -11
  50. data/generated/google/apis/autoscaler_v1beta2/service.rb +10 -20
  51. data/generated/google/apis/bigquery_v2.rb +4 -1
  52. data/generated/google/apis/bigquery_v2/classes.rb +231 -16
  53. data/generated/google/apis/bigquery_v2/representations.rb +62 -0
  54. data/generated/google/apis/bigquery_v2/service.rb +24 -45
  55. data/generated/google/apis/blogger_v3/service.rb +33 -66
  56. data/generated/google/apis/books_v1.rb +1 -1
  57. data/generated/google/apis/books_v1/classes.rb +441 -0
  58. data/generated/google/apis/books_v1/representations.rb +177 -0
  59. data/generated/google/apis/books_v1/service.rb +210 -90
  60. data/generated/google/apis/calendar_v3.rb +1 -1
  61. data/generated/google/apis/calendar_v3/classes.rb +34 -18
  62. data/generated/google/apis/calendar_v3/service.rb +118 -103
  63. data/generated/google/apis/civicinfo_v2.rb +1 -1
  64. data/generated/google/apis/civicinfo_v2/classes.rb +12 -3
  65. data/generated/google/apis/civicinfo_v2/representations.rb +1 -0
  66. data/generated/google/apis/civicinfo_v2/service.rb +5 -10
  67. data/generated/google/apis/classroom_v1.rb +49 -0
  68. data/generated/google/apis/classroom_v1/classes.rb +512 -0
  69. data/generated/google/apis/classroom_v1/representations.rb +217 -0
  70. data/generated/google/apis/classroom_v1/service.rb +970 -0
  71. data/generated/google/apis/cloudbilling_v1.rb +35 -0
  72. data/generated/google/apis/cloudbilling_v1/classes.rb +169 -0
  73. data/generated/google/apis/cloudbilling_v1/representations.rb +79 -0
  74. data/generated/google/apis/cloudbilling_v1/service.rb +258 -0
  75. data/generated/google/apis/clouddebugger_v2.rb +41 -0
  76. data/generated/google/apis/clouddebugger_v2/classes.rb +1004 -0
  77. data/generated/google/apis/clouddebugger_v2/representations.rb +410 -0
  78. data/generated/google/apis/clouddebugger_v2/service.rb +370 -0
  79. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  80. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +6 -12
  81. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +5 -2
  82. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +173 -249
  83. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +36 -68
  84. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +293 -80
  85. data/generated/google/apis/cloudtrace_v1.rb +35 -0
  86. data/generated/google/apis/cloudtrace_v1/classes.rb +188 -0
  87. data/generated/google/apis/cloudtrace_v1/representations.rb +92 -0
  88. data/generated/google/apis/cloudtrace_v1/service.rb +190 -0
  89. data/generated/google/apis/clouduseraccounts_beta.rb +43 -0
  90. data/generated/google/apis/clouduseraccounts_beta/classes.rb +823 -0
  91. data/generated/google/apis/clouduseraccounts_beta/representations.rb +313 -0
  92. data/generated/google/apis/clouduseraccounts_beta/service.rb +854 -0
  93. data/generated/google/apis/compute_beta.rb +49 -0
  94. data/generated/google/apis/compute_beta/classes.rb +9128 -0
  95. data/generated/google/apis/compute_beta/representations.rb +3048 -0
  96. data/generated/google/apis/compute_beta/service.rb +10154 -0
  97. data/generated/google/apis/compute_v1.rb +1 -1
  98. data/generated/google/apis/compute_v1/classes.rb +1305 -520
  99. data/generated/google/apis/compute_v1/representations.rb +122 -15
  100. data/generated/google/apis/compute_v1/service.rb +2202 -1085
  101. data/generated/google/apis/container_v1.rb +1 -1
  102. data/generated/google/apis/container_v1/classes.rb +56 -31
  103. data/generated/google/apis/container_v1/representations.rb +12 -0
  104. data/generated/google/apis/container_v1/service.rb +62 -41
  105. data/generated/google/apis/content_v2.rb +2 -2
  106. data/generated/google/apis/content_v2/classes.rb +2252 -56
  107. data/generated/google/apis/content_v2/representations.rb +917 -87
  108. data/generated/google/apis/content_v2/service.rb +680 -85
  109. data/generated/google/apis/coordinate_v1.rb +1 -1
  110. data/generated/google/apis/coordinate_v1/service.rb +16 -25
  111. data/generated/google/apis/customsearch_v1/service.rb +1 -2
  112. data/generated/google/apis/datastore_v1beta2.rb +1 -1
  113. data/generated/google/apis/datastore_v1beta2/service.rb +12 -18
  114. data/generated/google/apis/deploymentmanager_v2.rb +44 -0
  115. data/generated/google/apis/deploymentmanager_v2/classes.rb +1089 -0
  116. data/generated/google/apis/deploymentmanager_v2/representations.rb +422 -0
  117. data/generated/google/apis/deploymentmanager_v2/service.rb +857 -0
  118. data/generated/google/apis/deploymentmanager_v2beta2.rb +5 -2
  119. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +22 -3
  120. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +3 -0
  121. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +14 -27
  122. data/generated/google/apis/dfareporting_v2_1.rb +1 -1
  123. data/generated/google/apis/dfareporting_v2_1/classes.rb +29 -14
  124. data/generated/google/apis/dfareporting_v2_1/service.rb +196 -389
  125. data/generated/google/apis/discovery_v1/classes.rb +7 -0
  126. data/generated/google/apis/discovery_v1/representations.rb +1 -0
  127. data/generated/google/apis/discovery_v1/service.rb +2 -4
  128. data/generated/google/apis/dns_v1.rb +4 -1
  129. data/generated/google/apis/dns_v1/service.rb +9 -18
  130. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  131. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +9 -2
  132. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +1 -0
  133. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +8 -16
  134. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  135. data/generated/google/apis/doubleclicksearch_v2/classes.rb +15 -6
  136. data/generated/google/apis/doubleclicksearch_v2/representations.rb +1 -0
  137. data/generated/google/apis/doubleclicksearch_v2/service.rb +13 -23
  138. data/generated/google/apis/drive_v2.rb +1 -1
  139. data/generated/google/apis/drive_v2/classes.rb +73 -30
  140. data/generated/google/apis/drive_v2/representations.rb +14 -0
  141. data/generated/google/apis/drive_v2/service.rb +139 -135
  142. data/generated/google/apis/drive_v3.rb +55 -0
  143. data/generated/google/apis/drive_v3/classes.rb +1534 -0
  144. data/generated/google/apis/drive_v3/representations.rb +497 -0
  145. data/generated/google/apis/drive_v3/service.rb +1541 -0
  146. data/generated/google/apis/fitness_v1.rb +1 -1
  147. data/generated/google/apis/fitness_v1/service.rb +14 -27
  148. data/generated/google/apis/fusiontables_v2/service.rb +40 -73
  149. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  150. data/generated/google/apis/games_configuration_v1configuration/service.rb +14 -27
  151. data/generated/google/apis/games_management_v1management.rb +37 -0
  152. data/generated/google/apis/games_management_v1management/classes.rb +524 -0
  153. data/generated/google/apis/games_management_v1management/representations.rb +231 -0
  154. data/generated/google/apis/games_management_v1management/service.rb +994 -0
  155. data/generated/google/apis/games_v1.rb +1 -1
  156. data/generated/google/apis/games_v1/classes.rb +39 -0
  157. data/generated/google/apis/games_v1/representations.rb +14 -0
  158. data/generated/google/apis/games_v1/service.rb +93 -109
  159. data/generated/google/apis/gan_v1beta1/service.rb +10 -20
  160. data/generated/google/apis/genomics_v1.rb +5 -3
  161. data/generated/google/apis/genomics_v1/classes.rb +519 -200
  162. data/generated/google/apis/genomics_v1/representations.rb +126 -13
  163. data/generated/google/apis/genomics_v1/service.rb +392 -236
  164. data/generated/google/apis/gmail_v1.rb +4 -1
  165. data/generated/google/apis/gmail_v1/service.rb +39 -71
  166. data/generated/google/apis/groupsmigration_v1/service.rb +2 -3
  167. data/generated/google/apis/groupssettings_v1/service.rb +3 -6
  168. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  169. data/generated/google/apis/identitytoolkit_v3/classes.rb +125 -0
  170. data/generated/google/apis/identitytoolkit_v3/representations.rb +37 -0
  171. data/generated/google/apis/identitytoolkit_v3/service.rb +44 -24
  172. data/generated/google/apis/kgsearch_v1.rb +32 -0
  173. data/generated/google/apis/kgsearch_v1/classes.rb +59 -0
  174. data/generated/google/apis/kgsearch_v1/representations.rb +39 -0
  175. data/generated/google/apis/kgsearch_v1/service.rb +111 -0
  176. data/generated/google/apis/licensing_v1.rb +1 -1
  177. data/generated/google/apis/licensing_v1/service.rb +7 -14
  178. data/generated/google/apis/logging_v1beta3.rb +16 -4
  179. data/generated/google/apis/logging_v1beta3/classes.rb +620 -46
  180. data/generated/google/apis/logging_v1beta3/representations.rb +144 -0
  181. data/generated/google/apis/logging_v1beta3/service.rb +435 -104
  182. data/generated/google/apis/manager_v1beta2.rb +3 -0
  183. data/generated/google/apis/manager_v1beta2/service.rb +8 -16
  184. data/generated/google/apis/mapsengine_v1.rb +1 -1
  185. data/generated/google/apis/mapsengine_v1/service.rb +85 -162
  186. data/generated/google/apis/mirror_v1.rb +1 -1
  187. data/generated/google/apis/mirror_v1/service.rb +28 -52
  188. data/generated/google/apis/oauth2_v2.rb +1 -1
  189. data/generated/google/apis/oauth2_v2/service.rb +4 -8
  190. data/generated/google/apis/pagespeedonline_v2/service.rb +1 -2
  191. data/generated/google/apis/partners_v2.rb +32 -0
  192. data/generated/google/apis/partners_v2/classes.rb +942 -0
  193. data/generated/google/apis/partners_v2/representations.rb +402 -0
  194. data/generated/google/apis/partners_v2/service.rb +400 -0
  195. data/generated/google/apis/plus_domains_v1.rb +1 -1
  196. data/generated/google/apis/plus_domains_v1/classes.rb +207 -0
  197. data/generated/google/apis/plus_domains_v1/representations.rb +114 -0
  198. data/generated/google/apis/plus_domains_v1/service.rb +21 -41
  199. data/generated/google/apis/plus_v1.rb +1 -1
  200. data/generated/google/apis/plus_v1/classes.rb +207 -0
  201. data/generated/google/apis/plus_v1/representations.rb +114 -0
  202. data/generated/google/apis/plus_v1/service.rb +11 -56
  203. data/generated/google/apis/prediction_v1_6.rb +1 -1
  204. data/generated/google/apis/prediction_v1_6/service.rb +8 -16
  205. data/generated/google/apis/proximitybeacon_v1beta1.rb +31 -0
  206. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +639 -0
  207. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +274 -0
  208. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +591 -0
  209. data/generated/google/apis/pubsub_v1.rb +37 -0
  210. data/generated/google/apis/pubsub_v1/classes.rb +614 -0
  211. data/generated/google/apis/pubsub_v1/representations.rb +281 -0
  212. data/generated/google/apis/pubsub_v1/service.rb +774 -0
  213. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  214. data/generated/google/apis/pubsub_v1beta2/classes.rb +78 -283
  215. data/generated/google/apis/pubsub_v1beta2/representations.rb +1 -85
  216. data/generated/google/apis/pubsub_v1beta2/service.rb +79 -87
  217. data/generated/google/apis/qpx_express_v1/service.rb +1 -2
  218. data/generated/google/apis/replicapool_v1beta2.rb +3 -0
  219. data/generated/google/apis/replicapool_v1beta2/service.rb +12 -24
  220. data/generated/google/apis/replicapoolupdater_v1beta1.rb +4 -1
  221. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +46 -2
  222. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +16 -0
  223. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +58 -18
  224. data/generated/google/apis/reseller_v1.rb +1 -1
  225. data/generated/google/apis/reseller_v1/classes.rb +19 -1
  226. data/generated/google/apis/reseller_v1/representations.rb +1 -0
  227. data/generated/google/apis/reseller_v1/service.rb +16 -30
  228. data/generated/google/apis/resourceviews_v1beta2.rb +3 -0
  229. data/generated/google/apis/resourceviews_v1beta2/service.rb +16 -27
  230. data/generated/google/apis/script_v1.rb +61 -0
  231. data/generated/google/apis/script_v1/classes.rb +259 -0
  232. data/generated/google/apis/script_v1/representations.rb +106 -0
  233. data/generated/google/apis/script_v1/service.rb +98 -0
  234. data/generated/google/apis/site_verification_v1.rb +1 -1
  235. data/generated/google/apis/site_verification_v1/service.rb +8 -15
  236. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  237. data/generated/google/apis/sqladmin_v1beta4/classes.rb +186 -2
  238. data/generated/google/apis/sqladmin_v1beta4/representations.rb +70 -0
  239. data/generated/google/apis/sqladmin_v1beta4/service.rb +166 -75
  240. data/generated/google/apis/storage_v1.rb +5 -2
  241. data/generated/google/apis/storage_v1/classes.rb +47 -4
  242. data/generated/google/apis/storage_v1/representations.rb +18 -0
  243. data/generated/google/apis/storage_v1/service.rb +77 -94
  244. data/generated/google/apis/storagetransfer_v1.rb +35 -0
  245. data/generated/google/apis/storagetransfer_v1/classes.rb +1046 -0
  246. data/generated/google/apis/storagetransfer_v1/representations.rb +370 -0
  247. data/generated/google/apis/storagetransfer_v1/service.rb +473 -0
  248. data/generated/google/apis/tagmanager_v1.rb +1 -1
  249. data/generated/google/apis/tagmanager_v1/classes.rb +189 -31
  250. data/generated/google/apis/tagmanager_v1/representations.rb +69 -15
  251. data/generated/google/apis/tagmanager_v1/service.rb +114 -275
  252. data/generated/google/apis/taskqueue_v1beta2/service.rb +8 -16
  253. data/generated/google/apis/tasks_v1/service.rb +14 -28
  254. data/generated/google/apis/translate_v2/service.rb +3 -6
  255. data/generated/google/apis/urlshortener_v1/service.rb +3 -6
  256. data/generated/google/apis/webmasters_v3.rb +3 -3
  257. data/generated/google/apis/webmasters_v3/classes.rb +4 -4
  258. data/generated/google/apis/webmasters_v3/service.rb +16 -30
  259. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  260. data/generated/google/apis/youtube_analytics_v1/classes.rb +6 -0
  261. data/generated/google/apis/youtube_analytics_v1/representations.rb +1 -0
  262. data/generated/google/apis/youtube_analytics_v1/service.rb +16 -21
  263. data/generated/google/apis/youtube_v3.rb +1 -1
  264. data/generated/google/apis/youtube_v3/classes.rb +111 -78
  265. data/generated/google/apis/youtube_v3/representations.rb +2 -0
  266. data/generated/google/apis/youtube_v3/service.rb +78 -246
  267. data/generated/google/apis/youtubereporting_v1.rb +38 -0
  268. data/generated/google/apis/youtubereporting_v1/classes.rb +258 -0
  269. data/generated/google/apis/youtubereporting_v1/representations.rb +128 -0
  270. data/generated/google/apis/youtubereporting_v1/service.rb +364 -0
  271. data/google-api-client.gemspec +3 -3
  272. data/lib/google/api_client/auth/installed_app.rb +2 -2
  273. data/lib/google/api_client/auth/key_utils.rb +1 -0
  274. data/lib/google/api_client/auth/storage.rb +1 -0
  275. data/lib/google/api_client/auth/storages/file_store.rb +1 -0
  276. data/lib/google/api_client/auth/storages/redis_store.rb +1 -0
  277. data/lib/google/api_client/client_secrets.rb +4 -5
  278. data/lib/google/apis/core/api_command.rb +2 -2
  279. data/lib/google/apis/core/base_service.rb +1 -0
  280. data/lib/google/apis/core/batch.rb +25 -8
  281. data/lib/google/apis/core/download.rb +1 -1
  282. data/lib/google/apis/core/http_command.rb +24 -12
  283. data/lib/google/apis/core/multipart.rb +20 -6
  284. data/lib/google/apis/core/upload.rb +11 -4
  285. data/lib/google/apis/generator/annotator.rb +29 -10
  286. data/lib/google/apis/generator/helpers.rb +1 -1
  287. data/lib/google/apis/generator/templates/_method.tmpl +5 -6
  288. data/lib/google/apis/options.rb +7 -3
  289. data/lib/google/apis/version.rb +1 -1
  290. data/samples/calendar/calendar.rb +1 -1
  291. data/samples/drive/drive.rb +9 -2
  292. data/samples/pubsub/pubsub.rb +5 -6
  293. data/samples/translate/translate.rb +1 -5
  294. data/script/generate +20 -5
  295. data/spec/fixtures/files/child/.gitignore +0 -0
  296. data/spec/fixtures/files/invalid.json +1 -0
  297. data/spec/google/api_client/client_secrets_spec.rb +38 -1
  298. data/spec/google/apis/core/batch_spec.rb +22 -8
  299. data/spec/google/apis/core/download_spec.rb +13 -0
  300. data/spec/google/apis/core/http_command_spec.rb +26 -9
  301. data/spec/google/apis/core/upload_spec.rb +65 -17
  302. data/spec/google/apis/options_spec.rb +8 -0
  303. data/spec/integration_tests/adsense_spec.rb +28 -0
  304. data/spec/integration_tests/pubsub_spec.rb +3 -3
  305. data/spec/spec_helper.rb +5 -1
  306. data/third_party/hurley_patches.rb +103 -0
  307. metadata +87 -7
@@ -0,0 +1,217 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module ClassroomV1
24
+
25
+ class Course
26
+ class Representation < Google::Apis::Core::JsonRepresentation; end
27
+ end
28
+
29
+ class Empty
30
+ class Representation < Google::Apis::Core::JsonRepresentation; end
31
+ end
32
+
33
+ class ListCoursesResponse
34
+ class Representation < Google::Apis::Core::JsonRepresentation; end
35
+ end
36
+
37
+ class CourseAlias
38
+ class Representation < Google::Apis::Core::JsonRepresentation; end
39
+ end
40
+
41
+ class ListCourseAliasesResponse
42
+ class Representation < Google::Apis::Core::JsonRepresentation; end
43
+ end
44
+
45
+ class Invitation
46
+ class Representation < Google::Apis::Core::JsonRepresentation; end
47
+ end
48
+
49
+ class ListInvitationsResponse
50
+ class Representation < Google::Apis::Core::JsonRepresentation; end
51
+ end
52
+
53
+ class UserProfile
54
+ class Representation < Google::Apis::Core::JsonRepresentation; end
55
+ end
56
+
57
+ class Name
58
+ class Representation < Google::Apis::Core::JsonRepresentation; end
59
+ end
60
+
61
+ class GlobalPermission
62
+ class Representation < Google::Apis::Core::JsonRepresentation; end
63
+ end
64
+
65
+ class Teacher
66
+ class Representation < Google::Apis::Core::JsonRepresentation; end
67
+ end
68
+
69
+ class ListTeachersResponse
70
+ class Representation < Google::Apis::Core::JsonRepresentation; end
71
+ end
72
+
73
+ class Student
74
+ class Representation < Google::Apis::Core::JsonRepresentation; end
75
+ end
76
+
77
+ class ListStudentsResponse
78
+ class Representation < Google::Apis::Core::JsonRepresentation; end
79
+ end
80
+
81
+ class Course
82
+ # @private
83
+ class Representation < Google::Apis::Core::JsonRepresentation
84
+ property :id, as: 'id'
85
+ property :name, as: 'name'
86
+ property :section, as: 'section'
87
+ property :description_heading, as: 'descriptionHeading'
88
+ property :description, as: 'description'
89
+ property :room, as: 'room'
90
+ property :owner_id, as: 'ownerId'
91
+ property :creation_time, as: 'creationTime'
92
+ property :update_time, as: 'updateTime'
93
+ property :enrollment_code, as: 'enrollmentCode'
94
+ property :course_state, as: 'courseState'
95
+ property :alternate_link, as: 'alternateLink'
96
+ end
97
+ end
98
+
99
+ class Empty
100
+ # @private
101
+ class Representation < Google::Apis::Core::JsonRepresentation
102
+ end
103
+ end
104
+
105
+ class ListCoursesResponse
106
+ # @private
107
+ class Representation < Google::Apis::Core::JsonRepresentation
108
+ collection :courses, as: 'courses', class: Google::Apis::ClassroomV1::Course, decorator: Google::Apis::ClassroomV1::Course::Representation
109
+
110
+ property :next_page_token, as: 'nextPageToken'
111
+ end
112
+ end
113
+
114
+ class CourseAlias
115
+ # @private
116
+ class Representation < Google::Apis::Core::JsonRepresentation
117
+ property :alias, as: 'alias'
118
+ end
119
+ end
120
+
121
+ class ListCourseAliasesResponse
122
+ # @private
123
+ class Representation < Google::Apis::Core::JsonRepresentation
124
+ collection :aliases, as: 'aliases', class: Google::Apis::ClassroomV1::CourseAlias, decorator: Google::Apis::ClassroomV1::CourseAlias::Representation
125
+
126
+ property :next_page_token, as: 'nextPageToken'
127
+ end
128
+ end
129
+
130
+ class Invitation
131
+ # @private
132
+ class Representation < Google::Apis::Core::JsonRepresentation
133
+ property :id, as: 'id'
134
+ property :user_id, as: 'userId'
135
+ property :course_id, as: 'courseId'
136
+ property :role, as: 'role'
137
+ end
138
+ end
139
+
140
+ class ListInvitationsResponse
141
+ # @private
142
+ class Representation < Google::Apis::Core::JsonRepresentation
143
+ collection :invitations, as: 'invitations', class: Google::Apis::ClassroomV1::Invitation, decorator: Google::Apis::ClassroomV1::Invitation::Representation
144
+
145
+ property :next_page_token, as: 'nextPageToken'
146
+ end
147
+ end
148
+
149
+ class UserProfile
150
+ # @private
151
+ class Representation < Google::Apis::Core::JsonRepresentation
152
+ property :id, as: 'id'
153
+ property :name, as: 'name', class: Google::Apis::ClassroomV1::Name, decorator: Google::Apis::ClassroomV1::Name::Representation
154
+
155
+ property :email_address, as: 'emailAddress'
156
+ property :photo_url, as: 'photoUrl'
157
+ collection :permissions, as: 'permissions', class: Google::Apis::ClassroomV1::GlobalPermission, decorator: Google::Apis::ClassroomV1::GlobalPermission::Representation
158
+
159
+ end
160
+ end
161
+
162
+ class Name
163
+ # @private
164
+ class Representation < Google::Apis::Core::JsonRepresentation
165
+ property :given_name, as: 'givenName'
166
+ property :family_name, as: 'familyName'
167
+ property :full_name, as: 'fullName'
168
+ end
169
+ end
170
+
171
+ class GlobalPermission
172
+ # @private
173
+ class Representation < Google::Apis::Core::JsonRepresentation
174
+ property :permission, as: 'permission'
175
+ end
176
+ end
177
+
178
+ class Teacher
179
+ # @private
180
+ class Representation < Google::Apis::Core::JsonRepresentation
181
+ property :course_id, as: 'courseId'
182
+ property :user_id, as: 'userId'
183
+ property :profile, as: 'profile', class: Google::Apis::ClassroomV1::UserProfile, decorator: Google::Apis::ClassroomV1::UserProfile::Representation
184
+
185
+ end
186
+ end
187
+
188
+ class ListTeachersResponse
189
+ # @private
190
+ class Representation < Google::Apis::Core::JsonRepresentation
191
+ collection :teachers, as: 'teachers', class: Google::Apis::ClassroomV1::Teacher, decorator: Google::Apis::ClassroomV1::Teacher::Representation
192
+
193
+ property :next_page_token, as: 'nextPageToken'
194
+ end
195
+ end
196
+
197
+ class Student
198
+ # @private
199
+ class Representation < Google::Apis::Core::JsonRepresentation
200
+ property :course_id, as: 'courseId'
201
+ property :user_id, as: 'userId'
202
+ property :profile, as: 'profile', class: Google::Apis::ClassroomV1::UserProfile, decorator: Google::Apis::ClassroomV1::UserProfile::Representation
203
+
204
+ end
205
+ end
206
+
207
+ class ListStudentsResponse
208
+ # @private
209
+ class Representation < Google::Apis::Core::JsonRepresentation
210
+ collection :students, as: 'students', class: Google::Apis::ClassroomV1::Student, decorator: Google::Apis::ClassroomV1::Student::Representation
211
+
212
+ property :next_page_token, as: 'nextPageToken'
213
+ end
214
+ end
215
+ end
216
+ end
217
+ end
@@ -0,0 +1,970 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/core/base_service'
16
+ require 'google/apis/core/json_representation'
17
+ require 'google/apis/core/hashable'
18
+ require 'google/apis/errors'
19
+
20
+ module Google
21
+ module Apis
22
+ module ClassroomV1
23
+ # Google Classroom API
24
+ #
25
+ # Google Classroom API
26
+ #
27
+ # @example
28
+ # require 'google/apis/classroom_v1'
29
+ #
30
+ # Classroom = Google::Apis::ClassroomV1 # Alias the module
31
+ # service = Classroom::ClassroomService.new
32
+ #
33
+ # @see https://developers.google.com/classroom/
34
+ class ClassroomService < Google::Apis::Core::BaseService
35
+ # @return [String]
36
+ # API key. Your API key identifies your project and provides you with API access,
37
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
38
+ attr_accessor :key
39
+
40
+ # @return [String]
41
+ # Available to use for quota purposes for server-side applications. Can be any
42
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
43
+ attr_accessor :quota_user
44
+
45
+ def initialize
46
+ super('https://classroom.googleapis.com/', '')
47
+ end
48
+
49
+ # Creates a course. The user specified in `ownerId` is the owner of the created
50
+ # course and added as a teacher. This method returns the following error codes: *
51
+ # `PERMISSION_DENIED` if the requesting user is not permitted to create courses
52
+ # or for access errors. * `NOT_FOUND` if the primary teacher is not a valid user.
53
+ # * `FAILED_PRECONDITION` if the course owner's account is disabled or for the
54
+ # following request errors: * UserGroupsMembershipLimitReached * `ALREADY_EXISTS`
55
+ # if an alias was specified in the `id` and already exists.
56
+ # @param [Google::Apis::ClassroomV1::Course] course_object
57
+ # @param [String] fields
58
+ # Selector specifying which fields to include in a partial response.
59
+ # @param [String] quota_user
60
+ # Available to use for quota purposes for server-side applications. Can be any
61
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
62
+ # @param [Google::Apis::RequestOptions] options
63
+ # Request-specific options
64
+ #
65
+ # @yield [result, err] Result & error if block supplied
66
+ # @yieldparam result [Google::Apis::ClassroomV1::Course] parsed result object
67
+ # @yieldparam err [StandardError] error object if request failed
68
+ #
69
+ # @return [Google::Apis::ClassroomV1::Course]
70
+ #
71
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
72
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
73
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
74
+ def create_course(course_object = nil, fields: nil, quota_user: nil, options: nil, &block)
75
+ command = make_simple_command(:post, 'v1/courses', options)
76
+ command.request_representation = Google::Apis::ClassroomV1::Course::Representation
77
+ command.request_object = course_object
78
+ command.response_representation = Google::Apis::ClassroomV1::Course::Representation
79
+ command.response_class = Google::Apis::ClassroomV1::Course
80
+ command.query['fields'] = fields unless fields.nil?
81
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
82
+ execute_or_queue_command(command, &block)
83
+ end
84
+
85
+ # Returns a course. This method returns the following error codes: * `
86
+ # PERMISSION_DENIED` if the requesting user is not permitted to access the
87
+ # requested course or for access errors. * `NOT_FOUND` if no course exists with
88
+ # the requested ID.
89
+ # @param [String] id
90
+ # Identifier of the course to return. This identifier can be either the
91
+ # Classroom-assigned identifier or an alias.
92
+ # @param [String] fields
93
+ # Selector specifying which fields to include in a partial response.
94
+ # @param [String] quota_user
95
+ # Available to use for quota purposes for server-side applications. Can be any
96
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
97
+ # @param [Google::Apis::RequestOptions] options
98
+ # Request-specific options
99
+ #
100
+ # @yield [result, err] Result & error if block supplied
101
+ # @yieldparam result [Google::Apis::ClassroomV1::Course] parsed result object
102
+ # @yieldparam err [StandardError] error object if request failed
103
+ #
104
+ # @return [Google::Apis::ClassroomV1::Course]
105
+ #
106
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
107
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
108
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
109
+ def get_course(id, fields: nil, quota_user: nil, options: nil, &block)
110
+ command = make_simple_command(:get, 'v1/courses/{id}', options)
111
+ command.response_representation = Google::Apis::ClassroomV1::Course::Representation
112
+ command.response_class = Google::Apis::ClassroomV1::Course
113
+ command.params['id'] = id unless id.nil?
114
+ command.query['fields'] = fields unless fields.nil?
115
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
116
+ execute_or_queue_command(command, &block)
117
+ end
118
+
119
+ # Updates a course. This method returns the following error codes: * `
120
+ # PERMISSION_DENIED` if the requesting user is not permitted to modify the
121
+ # requested course or for access errors. * `NOT_FOUND` if no course exists with
122
+ # the requested ID. * `FAILED_PRECONDITION` for the following request errors: *
123
+ # CourseNotModifiable
124
+ # @param [String] id
125
+ # Identifier of the course to update. This identifier can be either the
126
+ # Classroom-assigned identifier or an alias.
127
+ # @param [Google::Apis::ClassroomV1::Course] course_object
128
+ # @param [String] fields
129
+ # Selector specifying which fields to include in a partial response.
130
+ # @param [String] quota_user
131
+ # Available to use for quota purposes for server-side applications. Can be any
132
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
133
+ # @param [Google::Apis::RequestOptions] options
134
+ # Request-specific options
135
+ #
136
+ # @yield [result, err] Result & error if block supplied
137
+ # @yieldparam result [Google::Apis::ClassroomV1::Course] parsed result object
138
+ # @yieldparam err [StandardError] error object if request failed
139
+ #
140
+ # @return [Google::Apis::ClassroomV1::Course]
141
+ #
142
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
143
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
144
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
145
+ def update_course(id, course_object = nil, fields: nil, quota_user: nil, options: nil, &block)
146
+ command = make_simple_command(:put, 'v1/courses/{id}', options)
147
+ command.request_representation = Google::Apis::ClassroomV1::Course::Representation
148
+ command.request_object = course_object
149
+ command.response_representation = Google::Apis::ClassroomV1::Course::Representation
150
+ command.response_class = Google::Apis::ClassroomV1::Course
151
+ command.params['id'] = id unless id.nil?
152
+ command.query['fields'] = fields unless fields.nil?
153
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
154
+ execute_or_queue_command(command, &block)
155
+ end
156
+
157
+ # Updates one or more fields in a course. This method returns the following
158
+ # error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to
159
+ # modify the requested course or for access errors. * `NOT_FOUND` if no course
160
+ # exists with the requested ID. * `INVALID_ARGUMENT` if invalid fields are
161
+ # specified in the update mask or if no update mask is supplied. * `
162
+ # FAILED_PRECONDITION` for the following request errors: * CourseNotModifiable
163
+ # @param [String] id
164
+ # Identifier of the course to update. This identifier can be either the
165
+ # Classroom-assigned identifier or an alias.
166
+ # @param [Google::Apis::ClassroomV1::Course] course_object
167
+ # @param [String] update_mask
168
+ # Mask that identifies which fields on the course to update. This field is
169
+ # required to do an update. The update will fail if invalid fields are specified.
170
+ # The following fields are valid: * `name` * `section` * `descriptionHeading` *
171
+ # `description` * `room` * `courseState` When set in a query parameter, this
172
+ # field should be specified as `updateMask=,,...`
173
+ # @param [String] fields
174
+ # Selector specifying which fields to include in a partial response.
175
+ # @param [String] quota_user
176
+ # Available to use for quota purposes for server-side applications. Can be any
177
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
178
+ # @param [Google::Apis::RequestOptions] options
179
+ # Request-specific options
180
+ #
181
+ # @yield [result, err] Result & error if block supplied
182
+ # @yieldparam result [Google::Apis::ClassroomV1::Course] parsed result object
183
+ # @yieldparam err [StandardError] error object if request failed
184
+ #
185
+ # @return [Google::Apis::ClassroomV1::Course]
186
+ #
187
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
188
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
189
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
190
+ def patch_course(id, course_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
191
+ command = make_simple_command(:patch, 'v1/courses/{id}', options)
192
+ command.request_representation = Google::Apis::ClassroomV1::Course::Representation
193
+ command.request_object = course_object
194
+ command.response_representation = Google::Apis::ClassroomV1::Course::Representation
195
+ command.response_class = Google::Apis::ClassroomV1::Course
196
+ command.params['id'] = id unless id.nil?
197
+ command.query['updateMask'] = update_mask unless update_mask.nil?
198
+ command.query['fields'] = fields unless fields.nil?
199
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
200
+ execute_or_queue_command(command, &block)
201
+ end
202
+
203
+ # Deletes a course. This method returns the following error codes: * `
204
+ # PERMISSION_DENIED` if the requesting user is not permitted to delete the
205
+ # requested course or for access errors. * `NOT_FOUND` if no course exists with
206
+ # the requested ID.
207
+ # @param [String] id
208
+ # Identifier of the course to delete. This identifier can be either the
209
+ # Classroom-assigned identifier or an alias.
210
+ # @param [String] fields
211
+ # Selector specifying which fields to include in a partial response.
212
+ # @param [String] quota_user
213
+ # Available to use for quota purposes for server-side applications. Can be any
214
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
215
+ # @param [Google::Apis::RequestOptions] options
216
+ # Request-specific options
217
+ #
218
+ # @yield [result, err] Result & error if block supplied
219
+ # @yieldparam result [Google::Apis::ClassroomV1::Empty] parsed result object
220
+ # @yieldparam err [StandardError] error object if request failed
221
+ #
222
+ # @return [Google::Apis::ClassroomV1::Empty]
223
+ #
224
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
225
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
226
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
227
+ def delete_course(id, fields: nil, quota_user: nil, options: nil, &block)
228
+ command = make_simple_command(:delete, 'v1/courses/{id}', options)
229
+ command.response_representation = Google::Apis::ClassroomV1::Empty::Representation
230
+ command.response_class = Google::Apis::ClassroomV1::Empty
231
+ command.params['id'] = id unless id.nil?
232
+ command.query['fields'] = fields unless fields.nil?
233
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
234
+ execute_or_queue_command(command, &block)
235
+ end
236
+
237
+ # Returns a list of courses that the requesting user is permitted to view,
238
+ # restricted to those that match the request. This method returns the following
239
+ # error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if
240
+ # the query argument is malformed. * `NOT_FOUND` if any users specified in the
241
+ # query arguments do not exist.
242
+ # @param [String] student_id
243
+ # Restricts returned courses to those having a student with the specified
244
+ # identifier. The identifier can be one of the following: * the numeric
245
+ # identifier for the user * the email address of the user * the string literal `"
246
+ # me"`, indicating the requesting user
247
+ # @param [String] teacher_id
248
+ # Restricts returned courses to those having a teacher with the specified
249
+ # identifier. The identifier can be one of the following: * the numeric
250
+ # identifier for the user * the email address of the user * the string literal `"
251
+ # me"`, indicating the requesting user
252
+ # @param [Fixnum] page_size
253
+ # Maximum number of items to return. Zero or unspecified indicates that the
254
+ # server may assign a maximum. The server may return fewer than the specified
255
+ # number of results.
256
+ # @param [String] page_token
257
+ # nextPageToken value returned from a previous list call, indicating that the
258
+ # subsequent page of results should be returned. The list request must be
259
+ # otherwise identical to the one that resulted in this token.
260
+ # @param [String] fields
261
+ # Selector specifying which fields to include in a partial response.
262
+ # @param [String] quota_user
263
+ # Available to use for quota purposes for server-side applications. Can be any
264
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
265
+ # @param [Google::Apis::RequestOptions] options
266
+ # Request-specific options
267
+ #
268
+ # @yield [result, err] Result & error if block supplied
269
+ # @yieldparam result [Google::Apis::ClassroomV1::ListCoursesResponse] parsed result object
270
+ # @yieldparam err [StandardError] error object if request failed
271
+ #
272
+ # @return [Google::Apis::ClassroomV1::ListCoursesResponse]
273
+ #
274
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
275
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
276
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
277
+ def list_courses(student_id: nil, teacher_id: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
278
+ command = make_simple_command(:get, 'v1/courses', options)
279
+ command.response_representation = Google::Apis::ClassroomV1::ListCoursesResponse::Representation
280
+ command.response_class = Google::Apis::ClassroomV1::ListCoursesResponse
281
+ command.query['studentId'] = student_id unless student_id.nil?
282
+ command.query['teacherId'] = teacher_id unless teacher_id.nil?
283
+ command.query['pageSize'] = page_size unless page_size.nil?
284
+ command.query['pageToken'] = page_token unless page_token.nil?
285
+ command.query['fields'] = fields unless fields.nil?
286
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
287
+ execute_or_queue_command(command, &block)
288
+ end
289
+
290
+ # Creates an alias for a course. This method returns the following error codes: *
291
+ # `PERMISSION_DENIED` if the requesting user is not permitted to create the
292
+ # alias or for access errors. * `NOT_FOUND` if the course does not exist. * `
293
+ # ALREADY_EXISTS` if the alias already exists.
294
+ # @param [String] course_id
295
+ # Identifier of the course to alias. This identifier can be either the Classroom-
296
+ # assigned identifier or an alias.
297
+ # @param [Google::Apis::ClassroomV1::CourseAlias] course_alias_object
298
+ # @param [String] fields
299
+ # Selector specifying which fields to include in a partial response.
300
+ # @param [String] quota_user
301
+ # Available to use for quota purposes for server-side applications. Can be any
302
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
303
+ # @param [Google::Apis::RequestOptions] options
304
+ # Request-specific options
305
+ #
306
+ # @yield [result, err] Result & error if block supplied
307
+ # @yieldparam result [Google::Apis::ClassroomV1::CourseAlias] parsed result object
308
+ # @yieldparam err [StandardError] error object if request failed
309
+ #
310
+ # @return [Google::Apis::ClassroomV1::CourseAlias]
311
+ #
312
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
313
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
314
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
315
+ def create_course_alias(course_id, course_alias_object = nil, fields: nil, quota_user: nil, options: nil, &block)
316
+ command = make_simple_command(:post, 'v1/courses/{courseId}/aliases', options)
317
+ command.request_representation = Google::Apis::ClassroomV1::CourseAlias::Representation
318
+ command.request_object = course_alias_object
319
+ command.response_representation = Google::Apis::ClassroomV1::CourseAlias::Representation
320
+ command.response_class = Google::Apis::ClassroomV1::CourseAlias
321
+ command.params['courseId'] = course_id unless course_id.nil?
322
+ command.query['fields'] = fields unless fields.nil?
323
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
324
+ execute_or_queue_command(command, &block)
325
+ end
326
+
327
+ # Deletes an alias of a course. This method returns the following error codes: *
328
+ # `PERMISSION_DENIED` if the requesting user is not permitted to remove the
329
+ # alias or for access errors. * `NOT_FOUND` if the alias does not exist.
330
+ # @param [String] course_id
331
+ # Identifier of the course whose alias should be deleted. This identifier can be
332
+ # either the Classroom-assigned identifier or an alias.
333
+ # @param [String] alias_
334
+ # Alias to delete. This may not be the Classroom-assigned identifier.
335
+ # @param [String] fields
336
+ # Selector specifying which fields to include in a partial response.
337
+ # @param [String] quota_user
338
+ # Available to use for quota purposes for server-side applications. Can be any
339
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
340
+ # @param [Google::Apis::RequestOptions] options
341
+ # Request-specific options
342
+ #
343
+ # @yield [result, err] Result & error if block supplied
344
+ # @yieldparam result [Google::Apis::ClassroomV1::Empty] parsed result object
345
+ # @yieldparam err [StandardError] error object if request failed
346
+ #
347
+ # @return [Google::Apis::ClassroomV1::Empty]
348
+ #
349
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
350
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
351
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
352
+ def delete_course_alias(course_id, alias_, fields: nil, quota_user: nil, options: nil, &block)
353
+ command = make_simple_command(:delete, 'v1/courses/{courseId}/aliases/{alias}', options)
354
+ command.response_representation = Google::Apis::ClassroomV1::Empty::Representation
355
+ command.response_class = Google::Apis::ClassroomV1::Empty
356
+ command.params['courseId'] = course_id unless course_id.nil?
357
+ command.params['alias'] = alias_ unless alias_.nil?
358
+ command.query['fields'] = fields unless fields.nil?
359
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
360
+ execute_or_queue_command(command, &block)
361
+ end
362
+
363
+ # Returns a list of aliases for a course. This method returns the following
364
+ # error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to
365
+ # access the course or for access errors. * `NOT_FOUND` if the course does not
366
+ # exist.
367
+ # @param [String] course_id
368
+ # The identifier of the course. This identifier can be either the Classroom-
369
+ # assigned identifier or an alias.
370
+ # @param [Fixnum] page_size
371
+ # Maximum number of items to return. Zero or unspecified indicates that the
372
+ # server may assign a maximum. The server may return fewer than the specified
373
+ # number of results.
374
+ # @param [String] page_token
375
+ # nextPageToken value returned from a previous list call, indicating that the
376
+ # subsequent page of results should be returned. The list request must be
377
+ # otherwise identical to the one that resulted in this token.
378
+ # @param [String] fields
379
+ # Selector specifying which fields to include in a partial response.
380
+ # @param [String] quota_user
381
+ # Available to use for quota purposes for server-side applications. Can be any
382
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
383
+ # @param [Google::Apis::RequestOptions] options
384
+ # Request-specific options
385
+ #
386
+ # @yield [result, err] Result & error if block supplied
387
+ # @yieldparam result [Google::Apis::ClassroomV1::ListCourseAliasesResponse] parsed result object
388
+ # @yieldparam err [StandardError] error object if request failed
389
+ #
390
+ # @return [Google::Apis::ClassroomV1::ListCourseAliasesResponse]
391
+ #
392
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
393
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
394
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
395
+ def list_course_aliases(course_id, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
396
+ command = make_simple_command(:get, 'v1/courses/{courseId}/aliases', options)
397
+ command.response_representation = Google::Apis::ClassroomV1::ListCourseAliasesResponse::Representation
398
+ command.response_class = Google::Apis::ClassroomV1::ListCourseAliasesResponse
399
+ command.params['courseId'] = course_id unless course_id.nil?
400
+ command.query['pageSize'] = page_size unless page_size.nil?
401
+ command.query['pageToken'] = page_token unless page_token.nil?
402
+ command.query['fields'] = fields unless fields.nil?
403
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
404
+ execute_or_queue_command(command, &block)
405
+ end
406
+
407
+ # Creates a teacher of a course. This method returns the following error codes: *
408
+ # `PERMISSION_DENIED` if the requesting user is not permitted to create
409
+ # teachers in this course or for access errors. * `NOT_FOUND` if the requested
410
+ # course ID does not exist. * `FAILED_PRECONDITION` if the requested user's
411
+ # account is disabled, for the following request errors: *
412
+ # CourseMemberLimitReached * CourseNotModifiable * CourseTeacherLimitReached *
413
+ # UserGroupsMembershipLimitReached * `ALREADY_EXISTS` if the user is already a
414
+ # teacher or student in the course.
415
+ # @param [String] course_id
416
+ # Identifier of the course. This identifier can be either the Classroom-assigned
417
+ # identifier or an alias.
418
+ # @param [Google::Apis::ClassroomV1::Teacher] teacher_object
419
+ # @param [String] fields
420
+ # Selector specifying which fields to include in a partial response.
421
+ # @param [String] quota_user
422
+ # Available to use for quota purposes for server-side applications. Can be any
423
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
424
+ # @param [Google::Apis::RequestOptions] options
425
+ # Request-specific options
426
+ #
427
+ # @yield [result, err] Result & error if block supplied
428
+ # @yieldparam result [Google::Apis::ClassroomV1::Teacher] parsed result object
429
+ # @yieldparam err [StandardError] error object if request failed
430
+ #
431
+ # @return [Google::Apis::ClassroomV1::Teacher]
432
+ #
433
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
434
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
435
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
436
+ def create_course_teacher(course_id, teacher_object = nil, fields: nil, quota_user: nil, options: nil, &block)
437
+ command = make_simple_command(:post, 'v1/courses/{courseId}/teachers', options)
438
+ command.request_representation = Google::Apis::ClassroomV1::Teacher::Representation
439
+ command.request_object = teacher_object
440
+ command.response_representation = Google::Apis::ClassroomV1::Teacher::Representation
441
+ command.response_class = Google::Apis::ClassroomV1::Teacher
442
+ command.params['courseId'] = course_id unless course_id.nil?
443
+ command.query['fields'] = fields unless fields.nil?
444
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
445
+ execute_or_queue_command(command, &block)
446
+ end
447
+
448
+ # Returns a teacher of a course. This method returns the following error codes: *
449
+ # `PERMISSION_DENIED` if the requesting user is not permitted to view teachers
450
+ # of this course or for access errors. * `NOT_FOUND` if no teacher of this
451
+ # course has the requested ID or if the course does not exist.
452
+ # @param [String] course_id
453
+ # Identifier of the course. This identifier can be either the Classroom-assigned
454
+ # identifier or an alias.
455
+ # @param [String] user_id
456
+ # Identifier of the teacher to return. The identifier can be one of the
457
+ # following: * the numeric identifier for the user * the email address of the
458
+ # user * the string literal `"me"`, indicating the requesting user
459
+ # @param [String] fields
460
+ # Selector specifying which fields to include in a partial response.
461
+ # @param [String] quota_user
462
+ # Available to use for quota purposes for server-side applications. Can be any
463
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
464
+ # @param [Google::Apis::RequestOptions] options
465
+ # Request-specific options
466
+ #
467
+ # @yield [result, err] Result & error if block supplied
468
+ # @yieldparam result [Google::Apis::ClassroomV1::Teacher] parsed result object
469
+ # @yieldparam err [StandardError] error object if request failed
470
+ #
471
+ # @return [Google::Apis::ClassroomV1::Teacher]
472
+ #
473
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
474
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
475
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
476
+ def get_course_teacher(course_id, user_id, fields: nil, quota_user: nil, options: nil, &block)
477
+ command = make_simple_command(:get, 'v1/courses/{courseId}/teachers/{userId}', options)
478
+ command.response_representation = Google::Apis::ClassroomV1::Teacher::Representation
479
+ command.response_class = Google::Apis::ClassroomV1::Teacher
480
+ command.params['courseId'] = course_id unless course_id.nil?
481
+ command.params['userId'] = user_id unless user_id.nil?
482
+ command.query['fields'] = fields unless fields.nil?
483
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
484
+ execute_or_queue_command(command, &block)
485
+ end
486
+
487
+ # Deletes a teacher of a course. This method returns the following error codes: *
488
+ # `PERMISSION_DENIED` if the requesting user is not permitted to delete
489
+ # teachers of this course or for access errors. * `NOT_FOUND` if no teacher of
490
+ # this course has the requested ID or if the course does not exist. * `
491
+ # FAILED_PRECONDITION` if the requested ID belongs to the primary teacher of
492
+ # this course.
493
+ # @param [String] course_id
494
+ # Identifier of the course. This identifier can be either the Classroom-assigned
495
+ # identifier or an alias.
496
+ # @param [String] user_id
497
+ # Identifier of the teacher to delete. The identifier can be one of the
498
+ # following: * the numeric identifier for the user * the email address of the
499
+ # user * the string literal `"me"`, indicating the requesting user
500
+ # @param [String] fields
501
+ # Selector specifying which fields to include in a partial response.
502
+ # @param [String] quota_user
503
+ # Available to use for quota purposes for server-side applications. Can be any
504
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
505
+ # @param [Google::Apis::RequestOptions] options
506
+ # Request-specific options
507
+ #
508
+ # @yield [result, err] Result & error if block supplied
509
+ # @yieldparam result [Google::Apis::ClassroomV1::Empty] parsed result object
510
+ # @yieldparam err [StandardError] error object if request failed
511
+ #
512
+ # @return [Google::Apis::ClassroomV1::Empty]
513
+ #
514
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
515
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
516
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
517
+ def delete_course_teacher(course_id, user_id, fields: nil, quota_user: nil, options: nil, &block)
518
+ command = make_simple_command(:delete, 'v1/courses/{courseId}/teachers/{userId}', options)
519
+ command.response_representation = Google::Apis::ClassroomV1::Empty::Representation
520
+ command.response_class = Google::Apis::ClassroomV1::Empty
521
+ command.params['courseId'] = course_id unless course_id.nil?
522
+ command.params['userId'] = user_id unless user_id.nil?
523
+ command.query['fields'] = fields unless fields.nil?
524
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
525
+ execute_or_queue_command(command, &block)
526
+ end
527
+
528
+ # Returns a list of teachers of this course that the requester is permitted to
529
+ # view. This method returns the following error codes: * `NOT_FOUND` if the
530
+ # course does not exist. * `PERMISSION_DENIED` for access errors.
531
+ # @param [String] course_id
532
+ # Identifier of the course. This identifier can be either the Classroom-assigned
533
+ # identifier or an alias.
534
+ # @param [Fixnum] page_size
535
+ # Maximum number of items to return. Zero means no maximum. The server may
536
+ # return fewer than the specified number of results.
537
+ # @param [String] page_token
538
+ # nextPageToken value returned from a previous list call, indicating that the
539
+ # subsequent page of results should be returned. The list request must be
540
+ # otherwise identical to the one that resulted in this token.
541
+ # @param [String] fields
542
+ # Selector specifying which fields to include in a partial response.
543
+ # @param [String] quota_user
544
+ # Available to use for quota purposes for server-side applications. Can be any
545
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
546
+ # @param [Google::Apis::RequestOptions] options
547
+ # Request-specific options
548
+ #
549
+ # @yield [result, err] Result & error if block supplied
550
+ # @yieldparam result [Google::Apis::ClassroomV1::ListTeachersResponse] parsed result object
551
+ # @yieldparam err [StandardError] error object if request failed
552
+ #
553
+ # @return [Google::Apis::ClassroomV1::ListTeachersResponse]
554
+ #
555
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
556
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
557
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
558
+ def list_course_teachers(course_id, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
559
+ command = make_simple_command(:get, 'v1/courses/{courseId}/teachers', options)
560
+ command.response_representation = Google::Apis::ClassroomV1::ListTeachersResponse::Representation
561
+ command.response_class = Google::Apis::ClassroomV1::ListTeachersResponse
562
+ command.params['courseId'] = course_id unless course_id.nil?
563
+ command.query['pageSize'] = page_size unless page_size.nil?
564
+ command.query['pageToken'] = page_token unless page_token.nil?
565
+ command.query['fields'] = fields unless fields.nil?
566
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
567
+ execute_or_queue_command(command, &block)
568
+ end
569
+
570
+ # Adds a user as a student of a course. This method returns the following error
571
+ # codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create
572
+ # students in this course or for access errors. * `NOT_FOUND` if the requested
573
+ # course ID does not exist. * `FAILED_PRECONDITION` if the requested user's
574
+ # account is disabled, for the following request errors: *
575
+ # CourseMemberLimitReached * CourseNotModifiable *
576
+ # UserGroupsMembershipLimitReached * `ALREADY_EXISTS` if the user is already a
577
+ # student or teacher in the course.
578
+ # @param [String] course_id
579
+ # Identifier of the course to create the student in. This identifier can be
580
+ # either the Classroom-assigned identifier or an alias.
581
+ # @param [Google::Apis::ClassroomV1::Student] student_object
582
+ # @param [String] enrollment_code
583
+ # Enrollment code of the course to create the student in. This code is required
584
+ # if userId corresponds to the requesting user; it may be omitted if the
585
+ # requesting user has administrative permissions to create students for any user.
586
+ # @param [String] fields
587
+ # Selector specifying which fields to include in a partial response.
588
+ # @param [String] quota_user
589
+ # Available to use for quota purposes for server-side applications. Can be any
590
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
591
+ # @param [Google::Apis::RequestOptions] options
592
+ # Request-specific options
593
+ #
594
+ # @yield [result, err] Result & error if block supplied
595
+ # @yieldparam result [Google::Apis::ClassroomV1::Student] parsed result object
596
+ # @yieldparam err [StandardError] error object if request failed
597
+ #
598
+ # @return [Google::Apis::ClassroomV1::Student]
599
+ #
600
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
601
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
602
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
603
+ def create_course_student(course_id, student_object = nil, enrollment_code: nil, fields: nil, quota_user: nil, options: nil, &block)
604
+ command = make_simple_command(:post, 'v1/courses/{courseId}/students', options)
605
+ command.request_representation = Google::Apis::ClassroomV1::Student::Representation
606
+ command.request_object = student_object
607
+ command.response_representation = Google::Apis::ClassroomV1::Student::Representation
608
+ command.response_class = Google::Apis::ClassroomV1::Student
609
+ command.params['courseId'] = course_id unless course_id.nil?
610
+ command.query['enrollmentCode'] = enrollment_code unless enrollment_code.nil?
611
+ command.query['fields'] = fields unless fields.nil?
612
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
613
+ execute_or_queue_command(command, &block)
614
+ end
615
+
616
+ # Returns a student of a course. This method returns the following error codes: *
617
+ # `PERMISSION_DENIED` if the requesting user is not permitted to view students
618
+ # of this course or for access errors. * `NOT_FOUND` if no student of this
619
+ # course has the requested ID or if the course does not exist.
620
+ # @param [String] course_id
621
+ # Identifier of the course. This identifier can be either the Classroom-assigned
622
+ # identifier or an alias.
623
+ # @param [String] user_id
624
+ # Identifier of the student to return. The identifier can be one of the
625
+ # following: * the numeric identifier for the user * the email address of the
626
+ # user * the string literal `"me"`, indicating the requesting user
627
+ # @param [String] fields
628
+ # Selector specifying which fields to include in a partial response.
629
+ # @param [String] quota_user
630
+ # Available to use for quota purposes for server-side applications. Can be any
631
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
632
+ # @param [Google::Apis::RequestOptions] options
633
+ # Request-specific options
634
+ #
635
+ # @yield [result, err] Result & error if block supplied
636
+ # @yieldparam result [Google::Apis::ClassroomV1::Student] parsed result object
637
+ # @yieldparam err [StandardError] error object if request failed
638
+ #
639
+ # @return [Google::Apis::ClassroomV1::Student]
640
+ #
641
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
642
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
643
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
644
+ def get_course_student(course_id, user_id, fields: nil, quota_user: nil, options: nil, &block)
645
+ command = make_simple_command(:get, 'v1/courses/{courseId}/students/{userId}', options)
646
+ command.response_representation = Google::Apis::ClassroomV1::Student::Representation
647
+ command.response_class = Google::Apis::ClassroomV1::Student
648
+ command.params['courseId'] = course_id unless course_id.nil?
649
+ command.params['userId'] = user_id unless user_id.nil?
650
+ command.query['fields'] = fields unless fields.nil?
651
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
652
+ execute_or_queue_command(command, &block)
653
+ end
654
+
655
+ # Deletes a student of a course. This method returns the following error codes: *
656
+ # `PERMISSION_DENIED` if the requesting user is not permitted to delete
657
+ # students of this course or for access errors. * `NOT_FOUND` if no student of
658
+ # this course has the requested ID or if the course does not exist.
659
+ # @param [String] course_id
660
+ # Identifier of the course. This identifier can be either the Classroom-assigned
661
+ # identifier or an alias.
662
+ # @param [String] user_id
663
+ # Identifier of the student to delete. The identifier can be one of the
664
+ # following: * the numeric identifier for the user * the email address of the
665
+ # user * the string literal `"me"`, indicating the requesting user
666
+ # @param [String] fields
667
+ # Selector specifying which fields to include in a partial response.
668
+ # @param [String] quota_user
669
+ # Available to use for quota purposes for server-side applications. Can be any
670
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
671
+ # @param [Google::Apis::RequestOptions] options
672
+ # Request-specific options
673
+ #
674
+ # @yield [result, err] Result & error if block supplied
675
+ # @yieldparam result [Google::Apis::ClassroomV1::Empty] parsed result object
676
+ # @yieldparam err [StandardError] error object if request failed
677
+ #
678
+ # @return [Google::Apis::ClassroomV1::Empty]
679
+ #
680
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
681
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
682
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
683
+ def delete_course_student(course_id, user_id, fields: nil, quota_user: nil, options: nil, &block)
684
+ command = make_simple_command(:delete, 'v1/courses/{courseId}/students/{userId}', options)
685
+ command.response_representation = Google::Apis::ClassroomV1::Empty::Representation
686
+ command.response_class = Google::Apis::ClassroomV1::Empty
687
+ command.params['courseId'] = course_id unless course_id.nil?
688
+ command.params['userId'] = user_id unless user_id.nil?
689
+ command.query['fields'] = fields unless fields.nil?
690
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
691
+ execute_or_queue_command(command, &block)
692
+ end
693
+
694
+ # Returns a list of students of this course that the requester is permitted to
695
+ # view. This method returns the following error codes: * `NOT_FOUND` if the
696
+ # course does not exist. * `PERMISSION_DENIED` for access errors.
697
+ # @param [String] course_id
698
+ # Identifier of the course. This identifier can be either the Classroom-assigned
699
+ # identifier or an alias.
700
+ # @param [Fixnum] page_size
701
+ # Maximum number of items to return. Zero means no maximum. The server may
702
+ # return fewer than the specified number of results.
703
+ # @param [String] page_token
704
+ # nextPageToken value returned from a previous list call, indicating that the
705
+ # subsequent page of results should be returned. The list request must be
706
+ # otherwise identical to the one that resulted in this token.
707
+ # @param [String] fields
708
+ # Selector specifying which fields to include in a partial response.
709
+ # @param [String] quota_user
710
+ # Available to use for quota purposes for server-side applications. Can be any
711
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
712
+ # @param [Google::Apis::RequestOptions] options
713
+ # Request-specific options
714
+ #
715
+ # @yield [result, err] Result & error if block supplied
716
+ # @yieldparam result [Google::Apis::ClassroomV1::ListStudentsResponse] parsed result object
717
+ # @yieldparam err [StandardError] error object if request failed
718
+ #
719
+ # @return [Google::Apis::ClassroomV1::ListStudentsResponse]
720
+ #
721
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
722
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
723
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
724
+ def list_course_students(course_id, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
725
+ command = make_simple_command(:get, 'v1/courses/{courseId}/students', options)
726
+ command.response_representation = Google::Apis::ClassroomV1::ListStudentsResponse::Representation
727
+ command.response_class = Google::Apis::ClassroomV1::ListStudentsResponse
728
+ command.params['courseId'] = course_id unless course_id.nil?
729
+ command.query['pageSize'] = page_size unless page_size.nil?
730
+ command.query['pageToken'] = page_token unless page_token.nil?
731
+ command.query['fields'] = fields unless fields.nil?
732
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
733
+ execute_or_queue_command(command, &block)
734
+ end
735
+
736
+ # Creates an invitation. Only one invitation for a user and course may exist at
737
+ # a time. Delete and re-create an invitation to make changes. This method
738
+ # returns the following error codes: * `PERMISSION_DENIED` if the requesting
739
+ # user is not permitted to create invitations for this course or for access
740
+ # errors. * `NOT_FOUND` if the course or the user does not exist. * `
741
+ # FAILED_PRECONDITION` if the requested user's account is disabled or if the
742
+ # user already has this role or a role with greater permissions. * `
743
+ # ALREADY_EXISTS` if an invitation for the specified user and course already
744
+ # exists.
745
+ # @param [Google::Apis::ClassroomV1::Invitation] invitation_object
746
+ # @param [String] fields
747
+ # Selector specifying which fields to include in a partial response.
748
+ # @param [String] quota_user
749
+ # Available to use for quota purposes for server-side applications. Can be any
750
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
751
+ # @param [Google::Apis::RequestOptions] options
752
+ # Request-specific options
753
+ #
754
+ # @yield [result, err] Result & error if block supplied
755
+ # @yieldparam result [Google::Apis::ClassroomV1::Invitation] parsed result object
756
+ # @yieldparam err [StandardError] error object if request failed
757
+ #
758
+ # @return [Google::Apis::ClassroomV1::Invitation]
759
+ #
760
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
761
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
762
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
763
+ def create_invitation(invitation_object = nil, fields: nil, quota_user: nil, options: nil, &block)
764
+ command = make_simple_command(:post, 'v1/invitations', options)
765
+ command.request_representation = Google::Apis::ClassroomV1::Invitation::Representation
766
+ command.request_object = invitation_object
767
+ command.response_representation = Google::Apis::ClassroomV1::Invitation::Representation
768
+ command.response_class = Google::Apis::ClassroomV1::Invitation
769
+ command.query['fields'] = fields unless fields.nil?
770
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
771
+ execute_or_queue_command(command, &block)
772
+ end
773
+
774
+ # Returns an invitation. This method returns the following error codes: * `
775
+ # PERMISSION_DENIED` if the requesting user is not permitted to view the
776
+ # requested invitation or for access errors. * `NOT_FOUND` if no invitation
777
+ # exists with the requested ID.
778
+ # @param [String] id
779
+ # Identifier of the invitation to return.
780
+ # @param [String] fields
781
+ # Selector specifying which fields to include in a partial response.
782
+ # @param [String] quota_user
783
+ # Available to use for quota purposes for server-side applications. Can be any
784
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
785
+ # @param [Google::Apis::RequestOptions] options
786
+ # Request-specific options
787
+ #
788
+ # @yield [result, err] Result & error if block supplied
789
+ # @yieldparam result [Google::Apis::ClassroomV1::Invitation] parsed result object
790
+ # @yieldparam err [StandardError] error object if request failed
791
+ #
792
+ # @return [Google::Apis::ClassroomV1::Invitation]
793
+ #
794
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
795
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
796
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
797
+ def get_invitation(id, fields: nil, quota_user: nil, options: nil, &block)
798
+ command = make_simple_command(:get, 'v1/invitations/{id}', options)
799
+ command.response_representation = Google::Apis::ClassroomV1::Invitation::Representation
800
+ command.response_class = Google::Apis::ClassroomV1::Invitation
801
+ command.params['id'] = id unless id.nil?
802
+ command.query['fields'] = fields unless fields.nil?
803
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
804
+ execute_or_queue_command(command, &block)
805
+ end
806
+
807
+ # Deletes an invitation. This method returns the following error codes: * `
808
+ # PERMISSION_DENIED` if the requesting user is not permitted to delete the
809
+ # requested invitation or for access errors. * `NOT_FOUND` if no invitation
810
+ # exists with the requested ID.
811
+ # @param [String] id
812
+ # Identifier of the invitation to delete.
813
+ # @param [String] fields
814
+ # Selector specifying which fields to include in a partial response.
815
+ # @param [String] quota_user
816
+ # Available to use for quota purposes for server-side applications. Can be any
817
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
818
+ # @param [Google::Apis::RequestOptions] options
819
+ # Request-specific options
820
+ #
821
+ # @yield [result, err] Result & error if block supplied
822
+ # @yieldparam result [Google::Apis::ClassroomV1::Empty] parsed result object
823
+ # @yieldparam err [StandardError] error object if request failed
824
+ #
825
+ # @return [Google::Apis::ClassroomV1::Empty]
826
+ #
827
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
828
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
829
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
830
+ def delete_invitation(id, fields: nil, quota_user: nil, options: nil, &block)
831
+ command = make_simple_command(:delete, 'v1/invitations/{id}', options)
832
+ command.response_representation = Google::Apis::ClassroomV1::Empty::Representation
833
+ command.response_class = Google::Apis::ClassroomV1::Empty
834
+ command.params['id'] = id unless id.nil?
835
+ command.query['fields'] = fields unless fields.nil?
836
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
837
+ execute_or_queue_command(command, &block)
838
+ end
839
+
840
+ # Returns a list of invitations that the requesting user is permitted to view,
841
+ # restricted to those that match the list request. *Note:* At least one of `
842
+ # user_id` or `course_id` must be supplied. Both fields can be supplied. This
843
+ # method returns the following error codes: * `PERMISSION_DENIED` for access
844
+ # errors.
845
+ # @param [String] user_id
846
+ # Restricts returned invitations to those for a specific user. The identifier
847
+ # can be one of the following: * the numeric identifier for the user * the email
848
+ # address of the user * the string literal `"me"`, indicating the requesting
849
+ # user
850
+ # @param [String] course_id
851
+ # Restricts returned invitations to those for a course with the specified
852
+ # identifier.
853
+ # @param [Fixnum] page_size
854
+ # Maximum number of items to return. Zero means no maximum. The server may
855
+ # return fewer than the specified number of results.
856
+ # @param [String] page_token
857
+ # nextPageToken value returned from a previous list call, indicating that the
858
+ # subsequent page of results should be returned. The list request must be
859
+ # otherwise identical to the one that resulted in this token.
860
+ # @param [String] fields
861
+ # Selector specifying which fields to include in a partial response.
862
+ # @param [String] quota_user
863
+ # Available to use for quota purposes for server-side applications. Can be any
864
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
865
+ # @param [Google::Apis::RequestOptions] options
866
+ # Request-specific options
867
+ #
868
+ # @yield [result, err] Result & error if block supplied
869
+ # @yieldparam result [Google::Apis::ClassroomV1::ListInvitationsResponse] parsed result object
870
+ # @yieldparam err [StandardError] error object if request failed
871
+ #
872
+ # @return [Google::Apis::ClassroomV1::ListInvitationsResponse]
873
+ #
874
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
875
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
876
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
877
+ def list_invitations(user_id: nil, course_id: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
878
+ command = make_simple_command(:get, 'v1/invitations', options)
879
+ command.response_representation = Google::Apis::ClassroomV1::ListInvitationsResponse::Representation
880
+ command.response_class = Google::Apis::ClassroomV1::ListInvitationsResponse
881
+ command.query['userId'] = user_id unless user_id.nil?
882
+ command.query['courseId'] = course_id unless course_id.nil?
883
+ command.query['pageSize'] = page_size unless page_size.nil?
884
+ command.query['pageToken'] = page_token unless page_token.nil?
885
+ command.query['fields'] = fields unless fields.nil?
886
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
887
+ execute_or_queue_command(command, &block)
888
+ end
889
+
890
+ # Accepts an invitation, removing it and adding the invited user to the teachers
891
+ # or students (as appropriate) of the specified course. Only the invited user
892
+ # may accept an invitation. This method returns the following error codes: * `
893
+ # PERMISSION_DENIED` if the requesting user is not permitted to accept the
894
+ # requested invitation or for access errors. * `FAILED_PRECONDITION` for the
895
+ # following request errors: * CourseMemberLimitReached * CourseNotModifiable *
896
+ # CourseTeacherLimitReached * UserGroupsMembershipLimitReached * `NOT_FOUND` if
897
+ # no invitation exists with the requested ID.
898
+ # @param [String] id
899
+ # Identifier of the invitation to accept.
900
+ # @param [String] fields
901
+ # Selector specifying which fields to include in a partial response.
902
+ # @param [String] quota_user
903
+ # Available to use for quota purposes for server-side applications. Can be any
904
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
905
+ # @param [Google::Apis::RequestOptions] options
906
+ # Request-specific options
907
+ #
908
+ # @yield [result, err] Result & error if block supplied
909
+ # @yieldparam result [Google::Apis::ClassroomV1::Empty] parsed result object
910
+ # @yieldparam err [StandardError] error object if request failed
911
+ #
912
+ # @return [Google::Apis::ClassroomV1::Empty]
913
+ #
914
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
915
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
916
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
917
+ def accept_invitation(id, fields: nil, quota_user: nil, options: nil, &block)
918
+ command = make_simple_command(:post, 'v1/invitations/{id}:accept', options)
919
+ command.response_representation = Google::Apis::ClassroomV1::Empty::Representation
920
+ command.response_class = Google::Apis::ClassroomV1::Empty
921
+ command.params['id'] = id unless id.nil?
922
+ command.query['fields'] = fields unless fields.nil?
923
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
924
+ execute_or_queue_command(command, &block)
925
+ end
926
+
927
+ # Returns a user profile. This method returns the following error codes: * `
928
+ # PERMISSION_DENIED` if the requesting user is not permitted to access this user
929
+ # profile or if no profile exists with the requested ID or for access errors.
930
+ # @param [String] user_id
931
+ # Identifier of the profile to return. The identifier can be one of the
932
+ # following: * the numeric identifier for the user * the email address of the
933
+ # user * the string literal `"me"`, indicating the requesting user
934
+ # @param [String] fields
935
+ # Selector specifying which fields to include in a partial response.
936
+ # @param [String] quota_user
937
+ # Available to use for quota purposes for server-side applications. Can be any
938
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
939
+ # @param [Google::Apis::RequestOptions] options
940
+ # Request-specific options
941
+ #
942
+ # @yield [result, err] Result & error if block supplied
943
+ # @yieldparam result [Google::Apis::ClassroomV1::UserProfile] parsed result object
944
+ # @yieldparam err [StandardError] error object if request failed
945
+ #
946
+ # @return [Google::Apis::ClassroomV1::UserProfile]
947
+ #
948
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
949
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
950
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
951
+ def get_user_profile(user_id, fields: nil, quota_user: nil, options: nil, &block)
952
+ command = make_simple_command(:get, 'v1/userProfiles/{userId}', options)
953
+ command.response_representation = Google::Apis::ClassroomV1::UserProfile::Representation
954
+ command.response_class = Google::Apis::ClassroomV1::UserProfile
955
+ command.params['userId'] = user_id unless user_id.nil?
956
+ command.query['fields'] = fields unless fields.nil?
957
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
958
+ execute_or_queue_command(command, &block)
959
+ end
960
+
961
+ protected
962
+
963
+ def apply_command_defaults(command)
964
+ command.query['key'] = key unless key.nil?
965
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
966
+ end
967
+ end
968
+ end
969
+ end
970
+ end