google-api-client 0.9.6 → 0.9.8

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 (149) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/api_names.yaml +15 -0
  4. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  5. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +75 -12
  6. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +25 -5
  7. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +6 -2
  8. data/generated/google/apis/adexchangeseller_v2_0.rb +1 -1
  9. data/generated/google/apis/admin_directory_v1/classes.rb +1 -1
  10. data/generated/google/apis/admin_directory_v1/representations.rb +1 -2
  11. data/generated/google/apis/adsense_v1_4.rb +1 -1
  12. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  13. data/generated/google/apis/analytics_v3.rb +1 -1
  14. data/generated/google/apis/analyticsreporting_v4.rb +37 -0
  15. data/generated/google/apis/analyticsreporting_v4/classes.rb +1385 -0
  16. data/generated/google/apis/analyticsreporting_v4/representations.rb +597 -0
  17. data/generated/google/apis/analyticsreporting_v4/service.rb +88 -0
  18. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  19. data/generated/google/apis/androidenterprise_v1/classes.rb +98 -2
  20. data/generated/google/apis/androidenterprise_v1/representations.rb +48 -0
  21. data/generated/google/apis/androidenterprise_v1/service.rb +63 -1
  22. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  23. data/generated/google/apis/androidpublisher_v2/classes.rb +268 -0
  24. data/generated/google/apis/androidpublisher_v2/representations.rb +142 -0
  25. data/generated/google/apis/androidpublisher_v2/service.rb +121 -0
  26. data/generated/google/apis/appstate_v1.rb +1 -1
  27. data/generated/google/apis/autoscaler_v1beta2.rb +1 -1
  28. data/generated/google/apis/autoscaler_v1beta2/classes.rb +10 -47
  29. data/generated/google/apis/autoscaler_v1beta2/representations.rb +1 -18
  30. data/generated/google/apis/autoscaler_v1beta2/service.rb +4 -4
  31. data/generated/google/apis/bigquery_v2.rb +1 -1
  32. data/generated/google/apis/bigquery_v2/classes.rb +97 -61
  33. data/generated/google/apis/bigquery_v2/representations.rb +23 -18
  34. data/generated/google/apis/calendar_v3.rb +1 -1
  35. data/generated/google/apis/classroom_v1.rb +23 -2
  36. data/generated/google/apis/classroom_v1/classes.rb +920 -6
  37. data/generated/google/apis/classroom_v1/representations.rb +419 -0
  38. data/generated/google/apis/classroom_v1/service.rb +507 -1
  39. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  40. data/generated/google/apis/cloudbuild_v1/classes.rb +30 -23
  41. data/generated/google/apis/cloudbuild_v1/representations.rb +4 -3
  42. data/generated/google/apis/cloudbuild_v1/service.rb +25 -25
  43. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  44. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  45. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  46. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +55 -0
  47. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +40 -0
  48. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +35 -0
  49. data/generated/google/apis/cloudtrace_v1.rb +11 -3
  50. data/generated/google/apis/cloudtrace_v1/classes.rb +5 -5
  51. data/generated/google/apis/cloudtrace_v1/service.rb +8 -6
  52. data/generated/google/apis/compute_beta.rb +2 -2
  53. data/generated/google/apis/compute_beta/classes.rb +162 -32
  54. data/generated/google/apis/compute_beta/representations.rb +58 -0
  55. data/generated/google/apis/compute_beta/service.rb +392 -267
  56. data/generated/google/apis/compute_v1.rb +2 -2
  57. data/generated/google/apis/compute_v1/classes.rb +21 -9
  58. data/generated/google/apis/compute_v1/representations.rb +1 -0
  59. data/generated/google/apis/compute_v1/service.rb +291 -253
  60. data/generated/google/apis/container_v1.rb +1 -1
  61. data/generated/google/apis/container_v1/classes.rb +148 -0
  62. data/generated/google/apis/container_v1/representations.rb +55 -0
  63. data/generated/google/apis/container_v1/service.rb +161 -0
  64. data/generated/google/apis/content_v2.rb +1 -1
  65. data/generated/google/apis/content_v2/classes.rb +18 -6
  66. data/generated/google/apis/content_v2/representations.rb +1 -0
  67. data/generated/google/apis/customsearch_v1.rb +1 -1
  68. data/generated/google/apis/dataproc_v1.rb +2 -11
  69. data/generated/google/apis/dataproc_v1/classes.rb +0 -19
  70. data/generated/google/apis/dataproc_v1/representations.rb +0 -13
  71. data/generated/google/apis/dataproc_v1/service.rb +8 -87
  72. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  73. data/generated/google/apis/dfareporting_v2_3.rb +1 -1
  74. data/generated/google/apis/dfareporting_v2_3/classes.rb +41 -32
  75. data/generated/google/apis/discovery_v1.rb +2 -2
  76. data/generated/google/apis/discovery_v1/service.rb +2 -2
  77. data/generated/google/apis/dns_v1.rb +2 -3
  78. data/generated/google/apis/dns_v1/service.rb +1 -2
  79. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  80. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  81. data/generated/google/apis/drive_v2.rb +3 -2
  82. data/generated/google/apis/drive_v2/service.rb +2 -1
  83. data/generated/google/apis/drive_v3.rb +3 -2
  84. data/generated/google/apis/drive_v3/service.rb +2 -1
  85. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  86. data/generated/google/apis/games_management_v1management.rb +1 -1
  87. data/generated/google/apis/games_management_v1management/classes.rb +34 -0
  88. data/generated/google/apis/games_management_v1management/representations.rb +16 -0
  89. data/generated/google/apis/games_v1.rb +1 -1
  90. data/generated/google/apis/games_v1/classes.rb +34 -0
  91. data/generated/google/apis/games_v1/representations.rb +16 -0
  92. data/generated/google/apis/games_v1/service.rb +212 -53
  93. data/generated/google/apis/genomics_v1.rb +1 -1
  94. data/generated/google/apis/genomics_v1/classes.rb +18 -0
  95. data/generated/google/apis/genomics_v1/representations.rb +3 -0
  96. data/generated/google/apis/genomics_v1/service.rb +2 -2
  97. data/generated/google/apis/gmail_v1.rb +1 -1
  98. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  99. data/generated/google/apis/identitytoolkit_v3/classes.rb +19 -7
  100. data/generated/google/apis/identitytoolkit_v3/representations.rb +3 -1
  101. data/generated/google/apis/mybusiness_v3.rb +32 -0
  102. data/generated/google/apis/mybusiness_v3/classes.rb +1864 -0
  103. data/generated/google/apis/mybusiness_v3/representations.rb +741 -0
  104. data/generated/google/apis/mybusiness_v3/service.rb +960 -0
  105. data/generated/google/apis/pagespeedonline_v2.rb +1 -1
  106. data/generated/google/apis/plus_domains_v1.rb +2 -2
  107. data/generated/google/apis/plus_domains_v1/service.rb +1 -1
  108. data/generated/google/apis/plus_v1.rb +2 -2
  109. data/generated/google/apis/plus_v1/service.rb +1 -1
  110. data/generated/google/apis/prediction_v1_6.rb +4 -1
  111. data/generated/google/apis/proximitybeacon_v1beta1.rb +5 -2
  112. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +169 -22
  113. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +36 -1
  114. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +254 -39
  115. data/generated/google/apis/replicapool_v1beta2.rb +3 -3
  116. data/generated/google/apis/replicapool_v1beta2/service.rb +2 -2
  117. data/generated/google/apis/resourceviews_v1beta2.rb +1 -1
  118. data/generated/google/apis/script_v1.rb +6 -3
  119. data/generated/google/apis/script_v1/service.rb +2 -2
  120. data/generated/google/apis/sheets_v4.rb +43 -0
  121. data/generated/google/apis/sheets_v4/classes.rb +5425 -0
  122. data/generated/google/apis/sheets_v4/representations.rb +2070 -0
  123. data/generated/google/apis/sheets_v4/service.rb +402 -0
  124. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  125. data/generated/google/apis/sqladmin_v1beta4/classes.rb +19 -4
  126. data/generated/google/apis/sqladmin_v1beta4/representations.rb +3 -0
  127. data/generated/google/apis/storage_v1.rb +1 -1
  128. data/generated/google/apis/storage_v1/classes.rb +2 -1
  129. data/generated/google/apis/taskqueue_v1beta2.rb +2 -2
  130. data/generated/google/apis/taskqueue_v1beta2/service.rb +1 -1
  131. data/generated/google/apis/vision_v1.rb +4 -5
  132. data/generated/google/apis/vision_v1/classes.rb +69 -68
  133. data/generated/google/apis/vision_v1/representations.rb +13 -13
  134. data/generated/google/apis/vision_v1/service.rb +3 -4
  135. data/generated/google/apis/youtube_analytics_v1.rb +2 -2
  136. data/generated/google/apis/youtube_analytics_v1/service.rb +1 -1
  137. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  138. data/generated/google/apis/youtube_partner_v1/classes.rb +121 -0
  139. data/generated/google/apis/youtube_partner_v1/representations.rb +50 -0
  140. data/generated/google/apis/youtube_partner_v1/service.rb +40 -0
  141. data/generated/google/apis/youtube_v3.rb +1 -1
  142. data/generated/google/apis/youtube_v3/classes.rb +24 -0
  143. data/generated/google/apis/youtube_v3/representations.rb +4 -0
  144. data/generated/google/apis/youtubereporting_v1.rb +3 -3
  145. data/generated/google/apis/youtubereporting_v1/classes.rb +19 -0
  146. data/generated/google/apis/youtubereporting_v1/representations.rb +3 -0
  147. data/generated/google/apis/youtubereporting_v1/service.rb +3 -4
  148. data/lib/google/apis/version.rb +1 -1
  149. metadata +14 -2
@@ -28,6 +28,48 @@ module Google
28
28
  include Google::Apis::Core::JsonObjectSupport
29
29
  end
30
30
 
31
+ class DriveFolder
32
+ class Representation < Google::Apis::Core::JsonRepresentation; end
33
+
34
+ include Google::Apis::Core::JsonObjectSupport
35
+ end
36
+
37
+ class CourseMaterialSet
38
+ class Representation < Google::Apis::Core::JsonRepresentation; end
39
+
40
+ include Google::Apis::Core::JsonObjectSupport
41
+ end
42
+
43
+ class CourseMaterial
44
+ class Representation < Google::Apis::Core::JsonRepresentation; end
45
+
46
+ include Google::Apis::Core::JsonObjectSupport
47
+ end
48
+
49
+ class DriveFile
50
+ class Representation < Google::Apis::Core::JsonRepresentation; end
51
+
52
+ include Google::Apis::Core::JsonObjectSupport
53
+ end
54
+
55
+ class YouTubeVideo
56
+ class Representation < Google::Apis::Core::JsonRepresentation; end
57
+
58
+ include Google::Apis::Core::JsonObjectSupport
59
+ end
60
+
61
+ class Link
62
+ class Representation < Google::Apis::Core::JsonRepresentation; end
63
+
64
+ include Google::Apis::Core::JsonObjectSupport
65
+ end
66
+
67
+ class Form
68
+ class Representation < Google::Apis::Core::JsonRepresentation; end
69
+
70
+ include Google::Apis::Core::JsonObjectSupport
71
+ end
72
+
31
73
  class Empty
32
74
  class Representation < Google::Apis::Core::JsonRepresentation; end
33
75
 
@@ -106,6 +148,114 @@ module Google
106
148
  include Google::Apis::Core::JsonObjectSupport
107
149
  end
108
150
 
151
+ class CourseWork
152
+ class Representation < Google::Apis::Core::JsonRepresentation; end
153
+
154
+ include Google::Apis::Core::JsonObjectSupport
155
+ end
156
+
157
+ class Material
158
+ class Representation < Google::Apis::Core::JsonRepresentation; end
159
+
160
+ include Google::Apis::Core::JsonObjectSupport
161
+ end
162
+
163
+ class SharedDriveFile
164
+ class Representation < Google::Apis::Core::JsonRepresentation; end
165
+
166
+ include Google::Apis::Core::JsonObjectSupport
167
+ end
168
+
169
+ class Date
170
+ class Representation < Google::Apis::Core::JsonRepresentation; end
171
+
172
+ include Google::Apis::Core::JsonObjectSupport
173
+ end
174
+
175
+ class TimeOfDay
176
+ class Representation < Google::Apis::Core::JsonRepresentation; end
177
+
178
+ include Google::Apis::Core::JsonObjectSupport
179
+ end
180
+
181
+ class Assignment
182
+ class Representation < Google::Apis::Core::JsonRepresentation; end
183
+
184
+ include Google::Apis::Core::JsonObjectSupport
185
+ end
186
+
187
+ class MultipleChoiceQuestion
188
+ class Representation < Google::Apis::Core::JsonRepresentation; end
189
+
190
+ include Google::Apis::Core::JsonObjectSupport
191
+ end
192
+
193
+ class ListCourseWorkResponse
194
+ class Representation < Google::Apis::Core::JsonRepresentation; end
195
+
196
+ include Google::Apis::Core::JsonObjectSupport
197
+ end
198
+
199
+ class StudentSubmission
200
+ class Representation < Google::Apis::Core::JsonRepresentation; end
201
+
202
+ include Google::Apis::Core::JsonObjectSupport
203
+ end
204
+
205
+ class AssignmentSubmission
206
+ class Representation < Google::Apis::Core::JsonRepresentation; end
207
+
208
+ include Google::Apis::Core::JsonObjectSupport
209
+ end
210
+
211
+ class Attachment
212
+ class Representation < Google::Apis::Core::JsonRepresentation; end
213
+
214
+ include Google::Apis::Core::JsonObjectSupport
215
+ end
216
+
217
+ class ShortAnswerSubmission
218
+ class Representation < Google::Apis::Core::JsonRepresentation; end
219
+
220
+ include Google::Apis::Core::JsonObjectSupport
221
+ end
222
+
223
+ class MultipleChoiceSubmission
224
+ class Representation < Google::Apis::Core::JsonRepresentation; end
225
+
226
+ include Google::Apis::Core::JsonObjectSupport
227
+ end
228
+
229
+ class ListStudentSubmissionsResponse
230
+ class Representation < Google::Apis::Core::JsonRepresentation; end
231
+
232
+ include Google::Apis::Core::JsonObjectSupport
233
+ end
234
+
235
+ class TurnInStudentSubmissionRequest
236
+ class Representation < Google::Apis::Core::JsonRepresentation; end
237
+
238
+ include Google::Apis::Core::JsonObjectSupport
239
+ end
240
+
241
+ class ReclaimStudentSubmissionRequest
242
+ class Representation < Google::Apis::Core::JsonRepresentation; end
243
+
244
+ include Google::Apis::Core::JsonObjectSupport
245
+ end
246
+
247
+ class ReturnStudentSubmissionRequest
248
+ class Representation < Google::Apis::Core::JsonRepresentation; end
249
+
250
+ include Google::Apis::Core::JsonObjectSupport
251
+ end
252
+
253
+ class ModifyAttachmentsRequest
254
+ class Representation < Google::Apis::Core::JsonRepresentation; end
255
+
256
+ include Google::Apis::Core::JsonObjectSupport
257
+ end
258
+
109
259
  class Course
110
260
  # @private
111
261
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -121,6 +271,83 @@ module Google
121
271
  property :enrollment_code, as: 'enrollmentCode'
122
272
  property :course_state, as: 'courseState'
123
273
  property :alternate_link, as: 'alternateLink'
274
+ property :teacher_group_email, as: 'teacherGroupEmail'
275
+ property :course_group_email, as: 'courseGroupEmail'
276
+ property :teacher_folder, as: 'teacherFolder', class: Google::Apis::ClassroomV1::DriveFolder, decorator: Google::Apis::ClassroomV1::DriveFolder::Representation
277
+
278
+ collection :course_material_sets, as: 'courseMaterialSets', class: Google::Apis::ClassroomV1::CourseMaterialSet, decorator: Google::Apis::ClassroomV1::CourseMaterialSet::Representation
279
+
280
+ end
281
+ end
282
+
283
+ class DriveFolder
284
+ # @private
285
+ class Representation < Google::Apis::Core::JsonRepresentation
286
+ property :id, as: 'id'
287
+ property :title, as: 'title'
288
+ property :alternate_link, as: 'alternateLink'
289
+ end
290
+ end
291
+
292
+ class CourseMaterialSet
293
+ # @private
294
+ class Representation < Google::Apis::Core::JsonRepresentation
295
+ property :title, as: 'title'
296
+ collection :materials, as: 'materials', class: Google::Apis::ClassroomV1::CourseMaterial, decorator: Google::Apis::ClassroomV1::CourseMaterial::Representation
297
+
298
+ end
299
+ end
300
+
301
+ class CourseMaterial
302
+ # @private
303
+ class Representation < Google::Apis::Core::JsonRepresentation
304
+ property :drive_file, as: 'driveFile', class: Google::Apis::ClassroomV1::DriveFile, decorator: Google::Apis::ClassroomV1::DriveFile::Representation
305
+
306
+ property :you_tube_video, as: 'youTubeVideo', class: Google::Apis::ClassroomV1::YouTubeVideo, decorator: Google::Apis::ClassroomV1::YouTubeVideo::Representation
307
+
308
+ property :link, as: 'link', class: Google::Apis::ClassroomV1::Link, decorator: Google::Apis::ClassroomV1::Link::Representation
309
+
310
+ property :form, as: 'form', class: Google::Apis::ClassroomV1::Form, decorator: Google::Apis::ClassroomV1::Form::Representation
311
+
312
+ end
313
+ end
314
+
315
+ class DriveFile
316
+ # @private
317
+ class Representation < Google::Apis::Core::JsonRepresentation
318
+ property :id, as: 'id'
319
+ property :title, as: 'title'
320
+ property :alternate_link, as: 'alternateLink'
321
+ property :thumbnail_url, as: 'thumbnailUrl'
322
+ end
323
+ end
324
+
325
+ class YouTubeVideo
326
+ # @private
327
+ class Representation < Google::Apis::Core::JsonRepresentation
328
+ property :id, as: 'id'
329
+ property :title, as: 'title'
330
+ property :alternate_link, as: 'alternateLink'
331
+ property :thumbnail_url, as: 'thumbnailUrl'
332
+ end
333
+ end
334
+
335
+ class Link
336
+ # @private
337
+ class Representation < Google::Apis::Core::JsonRepresentation
338
+ property :url, as: 'url'
339
+ property :title, as: 'title'
340
+ property :thumbnail_url, as: 'thumbnailUrl'
341
+ end
342
+ end
343
+
344
+ class Form
345
+ # @private
346
+ class Representation < Google::Apis::Core::JsonRepresentation
347
+ property :form_url, as: 'formUrl'
348
+ property :response_url, as: 'responseUrl'
349
+ property :title, as: 'title'
350
+ property :thumbnail_url, as: 'thumbnailUrl'
124
351
  end
125
352
  end
126
353
 
@@ -229,6 +456,8 @@ module Google
229
456
  property :user_id, as: 'userId'
230
457
  property :profile, as: 'profile', class: Google::Apis::ClassroomV1::UserProfile, decorator: Google::Apis::ClassroomV1::UserProfile::Representation
231
458
 
459
+ property :student_work_folder, as: 'studentWorkFolder', class: Google::Apis::ClassroomV1::DriveFolder, decorator: Google::Apis::ClassroomV1::DriveFolder::Representation
460
+
232
461
  end
233
462
  end
234
463
 
@@ -240,6 +469,196 @@ module Google
240
469
  property :next_page_token, as: 'nextPageToken'
241
470
  end
242
471
  end
472
+
473
+ class CourseWork
474
+ # @private
475
+ class Representation < Google::Apis::Core::JsonRepresentation
476
+ property :course_id, as: 'courseId'
477
+ property :id, as: 'id'
478
+ property :title, as: 'title'
479
+ property :description, as: 'description'
480
+ collection :materials, as: 'materials', class: Google::Apis::ClassroomV1::Material, decorator: Google::Apis::ClassroomV1::Material::Representation
481
+
482
+ property :state, as: 'state'
483
+ property :alternate_link, as: 'alternateLink'
484
+ property :creation_time, as: 'creationTime'
485
+ property :update_time, as: 'updateTime'
486
+ property :due_date, as: 'dueDate', class: Google::Apis::ClassroomV1::Date, decorator: Google::Apis::ClassroomV1::Date::Representation
487
+
488
+ property :due_time, as: 'dueTime', class: Google::Apis::ClassroomV1::TimeOfDay, decorator: Google::Apis::ClassroomV1::TimeOfDay::Representation
489
+
490
+ property :max_points, as: 'maxPoints'
491
+ property :work_type, as: 'workType'
492
+ property :associated_with_developer, as: 'associatedWithDeveloper'
493
+ property :submission_modification_mode, as: 'submissionModificationMode'
494
+ property :assignment, as: 'assignment', class: Google::Apis::ClassroomV1::Assignment, decorator: Google::Apis::ClassroomV1::Assignment::Representation
495
+
496
+ property :multiple_choice_question, as: 'multipleChoiceQuestion', class: Google::Apis::ClassroomV1::MultipleChoiceQuestion, decorator: Google::Apis::ClassroomV1::MultipleChoiceQuestion::Representation
497
+
498
+ end
499
+ end
500
+
501
+ class Material
502
+ # @private
503
+ class Representation < Google::Apis::Core::JsonRepresentation
504
+ property :drive_file, as: 'driveFile', class: Google::Apis::ClassroomV1::SharedDriveFile, decorator: Google::Apis::ClassroomV1::SharedDriveFile::Representation
505
+
506
+ property :youtube_video, as: 'youtubeVideo', class: Google::Apis::ClassroomV1::YouTubeVideo, decorator: Google::Apis::ClassroomV1::YouTubeVideo::Representation
507
+
508
+ property :link, as: 'link', class: Google::Apis::ClassroomV1::Link, decorator: Google::Apis::ClassroomV1::Link::Representation
509
+
510
+ property :form, as: 'form', class: Google::Apis::ClassroomV1::Form, decorator: Google::Apis::ClassroomV1::Form::Representation
511
+
512
+ end
513
+ end
514
+
515
+ class SharedDriveFile
516
+ # @private
517
+ class Representation < Google::Apis::Core::JsonRepresentation
518
+ property :drive_file, as: 'driveFile', class: Google::Apis::ClassroomV1::DriveFile, decorator: Google::Apis::ClassroomV1::DriveFile::Representation
519
+
520
+ property :share_mode, as: 'shareMode'
521
+ end
522
+ end
523
+
524
+ class Date
525
+ # @private
526
+ class Representation < Google::Apis::Core::JsonRepresentation
527
+ property :year, as: 'year'
528
+ property :month, as: 'month'
529
+ property :day, as: 'day'
530
+ end
531
+ end
532
+
533
+ class TimeOfDay
534
+ # @private
535
+ class Representation < Google::Apis::Core::JsonRepresentation
536
+ property :hours, as: 'hours'
537
+ property :minutes, as: 'minutes'
538
+ property :seconds, as: 'seconds'
539
+ property :nanos, as: 'nanos'
540
+ end
541
+ end
542
+
543
+ class Assignment
544
+ # @private
545
+ class Representation < Google::Apis::Core::JsonRepresentation
546
+ property :student_work_folder, as: 'studentWorkFolder', class: Google::Apis::ClassroomV1::DriveFolder, decorator: Google::Apis::ClassroomV1::DriveFolder::Representation
547
+
548
+ end
549
+ end
550
+
551
+ class MultipleChoiceQuestion
552
+ # @private
553
+ class Representation < Google::Apis::Core::JsonRepresentation
554
+ collection :choices, as: 'choices'
555
+ end
556
+ end
557
+
558
+ class ListCourseWorkResponse
559
+ # @private
560
+ class Representation < Google::Apis::Core::JsonRepresentation
561
+ collection :course_work, as: 'courseWork', class: Google::Apis::ClassroomV1::CourseWork, decorator: Google::Apis::ClassroomV1::CourseWork::Representation
562
+
563
+ property :next_page_token, as: 'nextPageToken'
564
+ end
565
+ end
566
+
567
+ class StudentSubmission
568
+ # @private
569
+ class Representation < Google::Apis::Core::JsonRepresentation
570
+ property :course_id, as: 'courseId'
571
+ property :course_work_id, as: 'courseWorkId'
572
+ property :id, as: 'id'
573
+ property :user_id, as: 'userId'
574
+ property :creation_time, as: 'creationTime'
575
+ property :update_time, as: 'updateTime'
576
+ property :state, as: 'state'
577
+ property :late, as: 'late'
578
+ property :draft_grade, as: 'draftGrade'
579
+ property :assigned_grade, as: 'assignedGrade'
580
+ property :alternate_link, as: 'alternateLink'
581
+ property :course_work_type, as: 'courseWorkType'
582
+ property :associated_with_developer, as: 'associatedWithDeveloper'
583
+ property :assignment_submission, as: 'assignmentSubmission', class: Google::Apis::ClassroomV1::AssignmentSubmission, decorator: Google::Apis::ClassroomV1::AssignmentSubmission::Representation
584
+
585
+ property :short_answer_submission, as: 'shortAnswerSubmission', class: Google::Apis::ClassroomV1::ShortAnswerSubmission, decorator: Google::Apis::ClassroomV1::ShortAnswerSubmission::Representation
586
+
587
+ property :multiple_choice_submission, as: 'multipleChoiceSubmission', class: Google::Apis::ClassroomV1::MultipleChoiceSubmission, decorator: Google::Apis::ClassroomV1::MultipleChoiceSubmission::Representation
588
+
589
+ end
590
+ end
591
+
592
+ class AssignmentSubmission
593
+ # @private
594
+ class Representation < Google::Apis::Core::JsonRepresentation
595
+ collection :attachments, as: 'attachments', class: Google::Apis::ClassroomV1::Attachment, decorator: Google::Apis::ClassroomV1::Attachment::Representation
596
+
597
+ end
598
+ end
599
+
600
+ class Attachment
601
+ # @private
602
+ class Representation < Google::Apis::Core::JsonRepresentation
603
+ property :drive_file, as: 'driveFile', class: Google::Apis::ClassroomV1::DriveFile, decorator: Google::Apis::ClassroomV1::DriveFile::Representation
604
+
605
+ property :you_tube_video, as: 'youTubeVideo', class: Google::Apis::ClassroomV1::YouTubeVideo, decorator: Google::Apis::ClassroomV1::YouTubeVideo::Representation
606
+
607
+ property :link, as: 'link', class: Google::Apis::ClassroomV1::Link, decorator: Google::Apis::ClassroomV1::Link::Representation
608
+
609
+ property :form, as: 'form', class: Google::Apis::ClassroomV1::Form, decorator: Google::Apis::ClassroomV1::Form::Representation
610
+
611
+ end
612
+ end
613
+
614
+ class ShortAnswerSubmission
615
+ # @private
616
+ class Representation < Google::Apis::Core::JsonRepresentation
617
+ property :answer, as: 'answer'
618
+ end
619
+ end
620
+
621
+ class MultipleChoiceSubmission
622
+ # @private
623
+ class Representation < Google::Apis::Core::JsonRepresentation
624
+ property :answer, as: 'answer'
625
+ end
626
+ end
627
+
628
+ class ListStudentSubmissionsResponse
629
+ # @private
630
+ class Representation < Google::Apis::Core::JsonRepresentation
631
+ collection :student_submissions, as: 'studentSubmissions', class: Google::Apis::ClassroomV1::StudentSubmission, decorator: Google::Apis::ClassroomV1::StudentSubmission::Representation
632
+
633
+ property :next_page_token, as: 'nextPageToken'
634
+ end
635
+ end
636
+
637
+ class TurnInStudentSubmissionRequest
638
+ # @private
639
+ class Representation < Google::Apis::Core::JsonRepresentation
640
+ end
641
+ end
642
+
643
+ class ReclaimStudentSubmissionRequest
644
+ # @private
645
+ class Representation < Google::Apis::Core::JsonRepresentation
646
+ end
647
+ end
648
+
649
+ class ReturnStudentSubmissionRequest
650
+ # @private
651
+ class Representation < Google::Apis::Core::JsonRepresentation
652
+ end
653
+ end
654
+
655
+ class ModifyAttachmentsRequest
656
+ # @private
657
+ class Representation < Google::Apis::Core::JsonRepresentation
658
+ collection :add_attachments, as: 'addAttachments', class: Google::Apis::ClassroomV1::Attachment, decorator: Google::Apis::ClassroomV1::Attachment::Representation
659
+
660
+ end
661
+ end
243
662
  end
244
663
  end
245
664
  end
@@ -22,7 +22,7 @@ module Google
22
22
  module ClassroomV1
23
23
  # Google Classroom API
24
24
  #
25
- # Google Classroom API
25
+ # Manages classes, rosters, and invitations in Google Classroom.
26
26
  #
27
27
  # @example
28
28
  # require 'google/apis/classroom_v1'
@@ -733,6 +733,512 @@ module Google
733
733
  execute_or_queue_command(command, &block)
734
734
  end
735
735
 
736
+ # Creates course work. The resulting course work (and corresponding student
737
+ # submissions) are associated with the Developer Console project of the [OAuth
738
+ # client ID](https://support.google.com/cloud/answer/6158849) used to make the
739
+ # request. Classroom API requests to modify course work and student submissions
740
+ # must be made with an OAuth client ID from the associated Developer Console
741
+ # project. This method returns the following error codes: * `PERMISSION_DENIED`
742
+ # if the requesting user is not permitted to access the requested course, create
743
+ # course work in the requested course, or for access errors. * `INVALID_ARGUMENT`
744
+ # if the request is malformed. * `NOT_FOUND` if the requested course does not
745
+ # exist.
746
+ # @param [String] course_id
747
+ # Identifier of the course. This identifier can be either the Classroom-assigned
748
+ # identifier or an alias.
749
+ # @param [Google::Apis::ClassroomV1::CourseWork] course_work_object
750
+ # @param [String] fields
751
+ # Selector specifying which fields to include in a partial response.
752
+ # @param [String] quota_user
753
+ # Available to use for quota purposes for server-side applications. Can be any
754
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
755
+ # @param [Google::Apis::RequestOptions] options
756
+ # Request-specific options
757
+ #
758
+ # @yield [result, err] Result & error if block supplied
759
+ # @yieldparam result [Google::Apis::ClassroomV1::CourseWork] parsed result object
760
+ # @yieldparam err [StandardError] error object if request failed
761
+ #
762
+ # @return [Google::Apis::ClassroomV1::CourseWork]
763
+ #
764
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
765
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
766
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
767
+ def create_course_work(course_id, course_work_object = nil, fields: nil, quota_user: nil, options: nil, &block)
768
+ command = make_simple_command(:post, 'v1/courses/{courseId}/courseWork', options)
769
+ command.request_representation = Google::Apis::ClassroomV1::CourseWork::Representation
770
+ command.request_object = course_work_object
771
+ command.response_representation = Google::Apis::ClassroomV1::CourseWork::Representation
772
+ command.response_class = Google::Apis::ClassroomV1::CourseWork
773
+ command.params['courseId'] = course_id unless course_id.nil?
774
+ command.query['fields'] = fields unless fields.nil?
775
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
776
+ execute_or_queue_command(command, &block)
777
+ end
778
+
779
+ # Returns course work. This method returns the following error codes: * `
780
+ # PERMISSION_DENIED` if the requesting user is not permitted to access the
781
+ # requested course or course work, or for access errors. * `INVALID_ARGUMENT` if
782
+ # the request is malformed. * `NOT_FOUND` if the requested course or course work
783
+ # does not exist.
784
+ # @param [String] course_id
785
+ # Identifier of the course. This identifier can be either the Classroom-assigned
786
+ # identifier or an alias.
787
+ # @param [String] id
788
+ # Identifier of the course work.
789
+ # @param [String] fields
790
+ # Selector specifying which fields to include in a partial response.
791
+ # @param [String] quota_user
792
+ # Available to use for quota purposes for server-side applications. Can be any
793
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
794
+ # @param [Google::Apis::RequestOptions] options
795
+ # Request-specific options
796
+ #
797
+ # @yield [result, err] Result & error if block supplied
798
+ # @yieldparam result [Google::Apis::ClassroomV1::CourseWork] parsed result object
799
+ # @yieldparam err [StandardError] error object if request failed
800
+ #
801
+ # @return [Google::Apis::ClassroomV1::CourseWork]
802
+ #
803
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
804
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
805
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
806
+ def get_course_work(course_id, id, fields: nil, quota_user: nil, options: nil, &block)
807
+ command = make_simple_command(:get, 'v1/courses/{courseId}/courseWork/{id}', options)
808
+ command.response_representation = Google::Apis::ClassroomV1::CourseWork::Representation
809
+ command.response_class = Google::Apis::ClassroomV1::CourseWork
810
+ command.params['courseId'] = course_id unless course_id.nil?
811
+ command.params['id'] = id unless id.nil?
812
+ command.query['fields'] = fields unless fields.nil?
813
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
814
+ execute_or_queue_command(command, &block)
815
+ end
816
+
817
+ # Returns a list of course work that the requester is permitted to view. Course
818
+ # students may only view `PUBLISHED` course work. Course teachers and domain
819
+ # administrators may view all course work. This method returns the following
820
+ # error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to
821
+ # access the requested course or for access errors. * `INVALID_ARGUMENT` if the
822
+ # request is malformed. * `NOT_FOUND` if the requested course does not exist.
823
+ # @param [String] course_id
824
+ # Identifier of the course. This identifier can be either the Classroom-assigned
825
+ # identifier or an alias.
826
+ # @param [Array<String>, String] course_work_states
827
+ # Restriction on the work status to return. Only courseWork that matches is
828
+ # returned. If unspecified, items with a work status of `PUBLISHED` is returned.
829
+ # @param [String] order_by
830
+ # Optional sort ordering for results. A comma-separated list of fields with an
831
+ # optional sort direction keyword. Supported fields are `updateTime` and `
832
+ # dueDate`. Supported direction keywords are `asc` and `desc`. If not specified,
833
+ # `updateTime desc` is the default behavior. Examples: `dueDate asc,updateTime
834
+ # desc`, `updateTime,dueDate desc`
835
+ # @param [Fixnum] page_size
836
+ # Maximum number of items to return. Zero or unspecified indicates that the
837
+ # server may assign a maximum. The server may return fewer than the specified
838
+ # number of results.
839
+ # @param [String] page_token
840
+ # nextPageToken value returned from a previous list call, indicating that the
841
+ # subsequent page of results should be returned. The list request must be
842
+ # otherwise identical to the one that resulted in this token.
843
+ # @param [String] fields
844
+ # Selector specifying which fields to include in a partial response.
845
+ # @param [String] quota_user
846
+ # Available to use for quota purposes for server-side applications. Can be any
847
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
848
+ # @param [Google::Apis::RequestOptions] options
849
+ # Request-specific options
850
+ #
851
+ # @yield [result, err] Result & error if block supplied
852
+ # @yieldparam result [Google::Apis::ClassroomV1::ListCourseWorkResponse] parsed result object
853
+ # @yieldparam err [StandardError] error object if request failed
854
+ #
855
+ # @return [Google::Apis::ClassroomV1::ListCourseWorkResponse]
856
+ #
857
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
858
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
859
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
860
+ def list_course_works(course_id, course_work_states: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
861
+ command = make_simple_command(:get, 'v1/courses/{courseId}/courseWork', options)
862
+ command.response_representation = Google::Apis::ClassroomV1::ListCourseWorkResponse::Representation
863
+ command.response_class = Google::Apis::ClassroomV1::ListCourseWorkResponse
864
+ command.params['courseId'] = course_id unless course_id.nil?
865
+ command.query['courseWorkStates'] = course_work_states unless course_work_states.nil?
866
+ command.query['orderBy'] = order_by unless order_by.nil?
867
+ command.query['pageSize'] = page_size unless page_size.nil?
868
+ command.query['pageToken'] = page_token unless page_token.nil?
869
+ command.query['fields'] = fields unless fields.nil?
870
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
871
+ execute_or_queue_command(command, &block)
872
+ end
873
+
874
+ # Returns a student submission. * `PERMISSION_DENIED` if the requesting user is
875
+ # not permitted to access the requested course, course work, or student
876
+ # submission or for access errors. * `INVALID_ARGUMENT` if the request is
877
+ # malformed. * `NOT_FOUND` if the requested course, course work, or student
878
+ # submission does not exist.
879
+ # @param [String] course_id
880
+ # Identifier of the course. This identifier can be either the Classroom-assigned
881
+ # identifier or an alias.
882
+ # @param [String] course_work_id
883
+ # Identifier of the course work.
884
+ # @param [String] id
885
+ # Identifier of the student submission.
886
+ # @param [String] fields
887
+ # Selector specifying which fields to include in a partial response.
888
+ # @param [String] quota_user
889
+ # Available to use for quota purposes for server-side applications. Can be any
890
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
891
+ # @param [Google::Apis::RequestOptions] options
892
+ # Request-specific options
893
+ #
894
+ # @yield [result, err] Result & error if block supplied
895
+ # @yieldparam result [Google::Apis::ClassroomV1::StudentSubmission] parsed result object
896
+ # @yieldparam err [StandardError] error object if request failed
897
+ #
898
+ # @return [Google::Apis::ClassroomV1::StudentSubmission]
899
+ #
900
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
901
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
902
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
903
+ def get_student_submission(course_id, course_work_id, id, fields: nil, quota_user: nil, options: nil, &block)
904
+ command = make_simple_command(:get, 'v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}', options)
905
+ command.response_representation = Google::Apis::ClassroomV1::StudentSubmission::Representation
906
+ command.response_class = Google::Apis::ClassroomV1::StudentSubmission
907
+ command.params['courseId'] = course_id unless course_id.nil?
908
+ command.params['courseWorkId'] = course_work_id unless course_work_id.nil?
909
+ command.params['id'] = id unless id.nil?
910
+ command.query['fields'] = fields unless fields.nil?
911
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
912
+ execute_or_queue_command(command, &block)
913
+ end
914
+
915
+ # Updates one or more fields of a student submission. See google.classroom.v1.
916
+ # StudentSubmission for details of which fields may be updated and who may
917
+ # change them. This request must be made by the Developer Console project of the
918
+ # [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to
919
+ # create the corresponding course work item. This method returns the following
920
+ # error codes: * `PERMISSION_DENIED` if the requesting developer project did not
921
+ # create the corresponding course work, if the user is not permitted to make the
922
+ # requested modification to the student submission, or for access errors. * `
923
+ # INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested
924
+ # course, course work, or student submission does not exist.
925
+ # @param [String] course_id
926
+ # Identifier of the course. This identifier can be either the Classroom-assigned
927
+ # identifier or an alias.
928
+ # @param [String] course_work_id
929
+ # Identifier of the course work.
930
+ # @param [String] id
931
+ # Identifier of the student submission.
932
+ # @param [Google::Apis::ClassroomV1::StudentSubmission] student_submission_object
933
+ # @param [String] update_mask
934
+ # Mask that identifies which fields on the student submission to update. This
935
+ # field is required to do an update. The update fails if invalid fields are
936
+ # specified. The following fields may be specified by teachers: * `draft_grade` *
937
+ # `assigned_grade`
938
+ # @param [String] fields
939
+ # Selector specifying which fields to include in a partial response.
940
+ # @param [String] quota_user
941
+ # Available to use for quota purposes for server-side applications. Can be any
942
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
943
+ # @param [Google::Apis::RequestOptions] options
944
+ # Request-specific options
945
+ #
946
+ # @yield [result, err] Result & error if block supplied
947
+ # @yieldparam result [Google::Apis::ClassroomV1::StudentSubmission] parsed result object
948
+ # @yieldparam err [StandardError] error object if request failed
949
+ #
950
+ # @return [Google::Apis::ClassroomV1::StudentSubmission]
951
+ #
952
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
953
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
954
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
955
+ def patch_student_submission(course_id, course_work_id, id, student_submission_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
956
+ command = make_simple_command(:patch, 'v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}', options)
957
+ command.request_representation = Google::Apis::ClassroomV1::StudentSubmission::Representation
958
+ command.request_object = student_submission_object
959
+ command.response_representation = Google::Apis::ClassroomV1::StudentSubmission::Representation
960
+ command.response_class = Google::Apis::ClassroomV1::StudentSubmission
961
+ command.params['courseId'] = course_id unless course_id.nil?
962
+ command.params['courseWorkId'] = course_work_id unless course_work_id.nil?
963
+ command.params['id'] = id unless id.nil?
964
+ command.query['updateMask'] = update_mask unless update_mask.nil?
965
+ command.query['fields'] = fields unless fields.nil?
966
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
967
+ execute_or_queue_command(command, &block)
968
+ end
969
+
970
+ # Returns a list of student submissions that the requester is permitted to view,
971
+ # factoring in the OAuth scopes of the request. `-` may be specified as the `
972
+ # course_work_id` to include student submissions for multiple course work items.
973
+ # Course students may only view their own work. Course teachers and domain
974
+ # administrators may view all student submissions. This method returns the
975
+ # following error codes: * `PERMISSION_DENIED` if the requesting user is not
976
+ # permitted to access the requested course or course work, or for access errors.
977
+ # * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the
978
+ # requested course does not exist.
979
+ # @param [String] course_id
980
+ # Identifier of the course. This identifier can be either the Classroom-assigned
981
+ # identifier or an alias.
982
+ # @param [String] course_work_id
983
+ # Identifer of the student work to request. If `user_id` is specified, this may
984
+ # be set to the string literal `"-"` to request student work for all course work
985
+ # in the specified course.
986
+ # @param [String] user_id
987
+ # Optional argument to restrict returned student work to those owned by the
988
+ # student with the specified identifier. The identifier can be one of the
989
+ # following: * the numeric identifier for the user * the email address of the
990
+ # user * the string literal `"me"`, indicating the requesting user
991
+ # @param [Array<String>, String] states
992
+ # Requested submission states. If specified, returned student submissions match
993
+ # one of the specified submission states.
994
+ # @param [String] late
995
+ # Requested lateness value. If specified, returned student submissions are
996
+ # restricted by the requested value. If unspecified, submissions are returned
997
+ # regardless of `late` value.
998
+ # @param [Fixnum] page_size
999
+ # Maximum number of items to return. Zero or unspecified indicates that the
1000
+ # server may assign a maximum. The server may return fewer than the specified
1001
+ # number of results.
1002
+ # @param [String] page_token
1003
+ # nextPageToken value returned from a previous list call, indicating that the
1004
+ # subsequent page of results should be returned. The list request must be
1005
+ # otherwise identical to the one that resulted in this token.
1006
+ # @param [String] fields
1007
+ # Selector specifying which fields to include in a partial response.
1008
+ # @param [String] quota_user
1009
+ # Available to use for quota purposes for server-side applications. Can be any
1010
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1011
+ # @param [Google::Apis::RequestOptions] options
1012
+ # Request-specific options
1013
+ #
1014
+ # @yield [result, err] Result & error if block supplied
1015
+ # @yieldparam result [Google::Apis::ClassroomV1::ListStudentSubmissionsResponse] parsed result object
1016
+ # @yieldparam err [StandardError] error object if request failed
1017
+ #
1018
+ # @return [Google::Apis::ClassroomV1::ListStudentSubmissionsResponse]
1019
+ #
1020
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1021
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1022
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1023
+ def list_student_submissions(course_id, course_work_id, user_id: nil, states: nil, late: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
1024
+ command = make_simple_command(:get, 'v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions', options)
1025
+ command.response_representation = Google::Apis::ClassroomV1::ListStudentSubmissionsResponse::Representation
1026
+ command.response_class = Google::Apis::ClassroomV1::ListStudentSubmissionsResponse
1027
+ command.params['courseId'] = course_id unless course_id.nil?
1028
+ command.params['courseWorkId'] = course_work_id unless course_work_id.nil?
1029
+ command.query['userId'] = user_id unless user_id.nil?
1030
+ command.query['states'] = states unless states.nil?
1031
+ command.query['late'] = late unless late.nil?
1032
+ command.query['pageSize'] = page_size unless page_size.nil?
1033
+ command.query['pageToken'] = page_token unless page_token.nil?
1034
+ command.query['fields'] = fields unless fields.nil?
1035
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1036
+ execute_or_queue_command(command, &block)
1037
+ end
1038
+
1039
+ # Turns in a student submission. Turning in a student submission transfers
1040
+ # ownership of attached Drive files to the teacher and may also update the
1041
+ # submission state. This may only be called by the student that owns the
1042
+ # specified student submission. This request must be made by the Developer
1043
+ # Console project of the [OAuth client ID](https://support.google.com/cloud/
1044
+ # answer/6158849) used to create the corresponding course work item. This method
1045
+ # returns the following error codes: * `PERMISSION_DENIED` if the requesting
1046
+ # user is not permitted to access the requested course or course work, turn in
1047
+ # the requested student submission, or for access errors. * `INVALID_ARGUMENT`
1048
+ # if the request is malformed. * `NOT_FOUND` if the requested course, course
1049
+ # work, or student submission does not exist.
1050
+ # @param [String] course_id
1051
+ # Identifier of the course. This identifier can be either the Classroom-assigned
1052
+ # identifier or an alias.
1053
+ # @param [String] course_work_id
1054
+ # Identifier of the course work.
1055
+ # @param [String] id
1056
+ # Identifier of the student submission.
1057
+ # @param [Google::Apis::ClassroomV1::TurnInStudentSubmissionRequest] turn_in_student_submission_request_object
1058
+ # @param [String] fields
1059
+ # Selector specifying which fields to include in a partial response.
1060
+ # @param [String] quota_user
1061
+ # Available to use for quota purposes for server-side applications. Can be any
1062
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1063
+ # @param [Google::Apis::RequestOptions] options
1064
+ # Request-specific options
1065
+ #
1066
+ # @yield [result, err] Result & error if block supplied
1067
+ # @yieldparam result [Google::Apis::ClassroomV1::Empty] parsed result object
1068
+ # @yieldparam err [StandardError] error object if request failed
1069
+ #
1070
+ # @return [Google::Apis::ClassroomV1::Empty]
1071
+ #
1072
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1073
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1074
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1075
+ def turn_in_student_submission(course_id, course_work_id, id, turn_in_student_submission_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
1076
+ command = make_simple_command(:post, 'v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:turnIn', options)
1077
+ command.request_representation = Google::Apis::ClassroomV1::TurnInStudentSubmissionRequest::Representation
1078
+ command.request_object = turn_in_student_submission_request_object
1079
+ command.response_representation = Google::Apis::ClassroomV1::Empty::Representation
1080
+ command.response_class = Google::Apis::ClassroomV1::Empty
1081
+ command.params['courseId'] = course_id unless course_id.nil?
1082
+ command.params['courseWorkId'] = course_work_id unless course_work_id.nil?
1083
+ command.params['id'] = id unless id.nil?
1084
+ command.query['fields'] = fields unless fields.nil?
1085
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1086
+ execute_or_queue_command(command, &block)
1087
+ end
1088
+
1089
+ # Reclaims a student submission on behalf of the student that owns it.
1090
+ # Reclaiming a student submission transfers ownership of attached Drive files to
1091
+ # the student and update the submission state. Only the student that ownes the
1092
+ # requested student submission may call this method, and only for a student
1093
+ # submission that has been turned in. This request must be made by the Developer
1094
+ # Console project of the [OAuth client ID](https://support.google.com/cloud/
1095
+ # answer/6158849) used to create the corresponding course work item. This method
1096
+ # returns the following error codes: * `PERMISSION_DENIED` if the requesting
1097
+ # user is not permitted to access the requested course or course work, unsubmit
1098
+ # the requested student submission, or for access errors. * `FAILED_PRECONDITION`
1099
+ # if the student submission has not been turned in. * `INVALID_ARGUMENT` if the
1100
+ # request is malformed. * `NOT_FOUND` if the requested course, course work, or
1101
+ # student submission does not exist.
1102
+ # @param [String] course_id
1103
+ # Identifier of the course. This identifier can be either the Classroom-assigned
1104
+ # identifier or an alias.
1105
+ # @param [String] course_work_id
1106
+ # Identifier of the course work.
1107
+ # @param [String] id
1108
+ # Identifier of the student submission.
1109
+ # @param [Google::Apis::ClassroomV1::ReclaimStudentSubmissionRequest] reclaim_student_submission_request_object
1110
+ # @param [String] fields
1111
+ # Selector specifying which fields to include in a partial response.
1112
+ # @param [String] quota_user
1113
+ # Available to use for quota purposes for server-side applications. Can be any
1114
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1115
+ # @param [Google::Apis::RequestOptions] options
1116
+ # Request-specific options
1117
+ #
1118
+ # @yield [result, err] Result & error if block supplied
1119
+ # @yieldparam result [Google::Apis::ClassroomV1::Empty] parsed result object
1120
+ # @yieldparam err [StandardError] error object if request failed
1121
+ #
1122
+ # @return [Google::Apis::ClassroomV1::Empty]
1123
+ #
1124
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1125
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1126
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1127
+ def reclaim_student_submission(course_id, course_work_id, id, reclaim_student_submission_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
1128
+ command = make_simple_command(:post, 'v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:reclaim', options)
1129
+ command.request_representation = Google::Apis::ClassroomV1::ReclaimStudentSubmissionRequest::Representation
1130
+ command.request_object = reclaim_student_submission_request_object
1131
+ command.response_representation = Google::Apis::ClassroomV1::Empty::Representation
1132
+ command.response_class = Google::Apis::ClassroomV1::Empty
1133
+ command.params['courseId'] = course_id unless course_id.nil?
1134
+ command.params['courseWorkId'] = course_work_id unless course_work_id.nil?
1135
+ command.params['id'] = id unless id.nil?
1136
+ command.query['fields'] = fields unless fields.nil?
1137
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1138
+ execute_or_queue_command(command, &block)
1139
+ end
1140
+
1141
+ # Returns a student submission. Returning a student submission transfers
1142
+ # ownership of attached Drive files to the student and may also update the
1143
+ # submission state. Unlike the Classroom application, returning a student
1144
+ # submission does not set assignedGrade to the draftGrade value. Only a teacher
1145
+ # of the course that contains the requested student submission may call this
1146
+ # method. This request must be made by the Developer Console project of the [
1147
+ # OAuth client ID](https://support.google.com/cloud/answer/6158849) used to
1148
+ # create the corresponding course work item. This method returns the following
1149
+ # error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to
1150
+ # access the requested course or course work, return the requested student
1151
+ # submission, or for access errors. * `INVALID_ARGUMENT` if the request is
1152
+ # malformed. * `NOT_FOUND` if the requested course, course work, or student
1153
+ # submission does not exist.
1154
+ # @param [String] course_id
1155
+ # Identifier of the course. This identifier can be either the Classroom-assigned
1156
+ # identifier or an alias.
1157
+ # @param [String] course_work_id
1158
+ # Identifier of the course work.
1159
+ # @param [String] id
1160
+ # Identifier of the student submission.
1161
+ # @param [Google::Apis::ClassroomV1::ReturnStudentSubmissionRequest] return_student_submission_request_object
1162
+ # @param [String] fields
1163
+ # Selector specifying which fields to include in a partial response.
1164
+ # @param [String] quota_user
1165
+ # Available to use for quota purposes for server-side applications. Can be any
1166
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1167
+ # @param [Google::Apis::RequestOptions] options
1168
+ # Request-specific options
1169
+ #
1170
+ # @yield [result, err] Result & error if block supplied
1171
+ # @yieldparam result [Google::Apis::ClassroomV1::Empty] parsed result object
1172
+ # @yieldparam err [StandardError] error object if request failed
1173
+ #
1174
+ # @return [Google::Apis::ClassroomV1::Empty]
1175
+ #
1176
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1177
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1178
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1179
+ def return_student_submission(course_id, course_work_id, id, return_student_submission_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
1180
+ command = make_simple_command(:post, 'v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:return', options)
1181
+ command.request_representation = Google::Apis::ClassroomV1::ReturnStudentSubmissionRequest::Representation
1182
+ command.request_object = return_student_submission_request_object
1183
+ command.response_representation = Google::Apis::ClassroomV1::Empty::Representation
1184
+ command.response_class = Google::Apis::ClassroomV1::Empty
1185
+ command.params['courseId'] = course_id unless course_id.nil?
1186
+ command.params['courseWorkId'] = course_work_id unless course_work_id.nil?
1187
+ command.params['id'] = id unless id.nil?
1188
+ command.query['fields'] = fields unless fields.nil?
1189
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1190
+ execute_or_queue_command(command, &block)
1191
+ end
1192
+
1193
+ # Modifies attachments of student submission. Attachments may only be added to
1194
+ # student submissions whose type is `ASSIGNMENT`. This request must be made by
1195
+ # the Developer Console project of the [OAuth client ID](https://support.google.
1196
+ # com/cloud/answer/6158849) used to create the corresponding course work item.
1197
+ # This method returns the following error codes: * `PERMISSION_DENIED` if the
1198
+ # requesting user is not permitted to access the requested course or course work,
1199
+ # if the user is not permitted to modify attachments on the requested student
1200
+ # submission, or for access errors. * `INVALID_ARGUMENT` if the request is
1201
+ # malformed. * `NOT_FOUND` if the requested course, course work, or student
1202
+ # submission does not exist.
1203
+ # @param [String] course_id
1204
+ # Identifier of the course. This identifier can be either the Classroom-assigned
1205
+ # identifier or an alias.
1206
+ # @param [String] course_work_id
1207
+ # Identifier of the course work.
1208
+ # @param [String] id
1209
+ # Identifier of the student submission.
1210
+ # @param [Google::Apis::ClassroomV1::ModifyAttachmentsRequest] modify_attachments_request_object
1211
+ # @param [String] fields
1212
+ # Selector specifying which fields to include in a partial response.
1213
+ # @param [String] quota_user
1214
+ # Available to use for quota purposes for server-side applications. Can be any
1215
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1216
+ # @param [Google::Apis::RequestOptions] options
1217
+ # Request-specific options
1218
+ #
1219
+ # @yield [result, err] Result & error if block supplied
1220
+ # @yieldparam result [Google::Apis::ClassroomV1::StudentSubmission] parsed result object
1221
+ # @yieldparam err [StandardError] error object if request failed
1222
+ #
1223
+ # @return [Google::Apis::ClassroomV1::StudentSubmission]
1224
+ #
1225
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1226
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1227
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1228
+ def modify_student_submission_attachments(course_id, course_work_id, id, modify_attachments_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
1229
+ command = make_simple_command(:post, 'v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:modifyAttachments', options)
1230
+ command.request_representation = Google::Apis::ClassroomV1::ModifyAttachmentsRequest::Representation
1231
+ command.request_object = modify_attachments_request_object
1232
+ command.response_representation = Google::Apis::ClassroomV1::StudentSubmission::Representation
1233
+ command.response_class = Google::Apis::ClassroomV1::StudentSubmission
1234
+ command.params['courseId'] = course_id unless course_id.nil?
1235
+ command.params['courseWorkId'] = course_work_id unless course_work_id.nil?
1236
+ command.params['id'] = id unless id.nil?
1237
+ command.query['fields'] = fields unless fields.nil?
1238
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1239
+ execute_or_queue_command(command, &block)
1240
+ end
1241
+
736
1242
  # Creates an invitation. Only one invitation for a user and course may exist at
737
1243
  # a time. Delete and re-create an invitation to make changes. This method
738
1244
  # returns the following error codes: * `PERMISSION_DENIED` if the requesting