google-apis-classroom_v1 0.30.0 → 0.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -544,6 +544,63 @@ module Google
544
544
  execute_or_queue_command(command, &block)
545
545
  end
546
546
 
547
+ # Gets metadata for Classroom add-ons in the context of a specific post. To
548
+ # maintain the integrity of its own data and permissions model, an add-on should
549
+ # call this to validate query parameters and the requesting user's role whenever
550
+ # the add-on is opened in an [iframe](https://developers.google.com/classroom/
551
+ # add-ons/get-started/iframes/iframes-overview). This method returns the
552
+ # following error codes: * `PERMISSION_DENIED` for access errors. * `
553
+ # INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the
554
+ # identified resources does not exist.
555
+ # @param [String] course_id
556
+ # Required. Identifier of the course.
557
+ # @param [String] item_id
558
+ # Identifier of the announcement, courseWork, or courseWorkMaterial under which
559
+ # the attachment is attached. This field is required, but is not marked as such
560
+ # while we are migrating from post_id.
561
+ # @param [String] add_on_token
562
+ # Optional. Token that authorizes the request. The token is passed as a query
563
+ # parameter when the user is redirected from Classroom to the add-on's URL. The
564
+ # authorization token is required when neither of the following is true: * The
565
+ # add-on has attachments on the post. * The developer project issuing the
566
+ # request is the same project that created the post.
567
+ # @param [String] attachment_id
568
+ # Optional. The identifier of the attachment. This field is required for student
569
+ # users and optional for teacher users. If not provided in the student case, an
570
+ # error is returned.
571
+ # @param [String] post_id
572
+ # Optional. Deprecated, use item_id instead.
573
+ # @param [String] fields
574
+ # Selector specifying which fields to include in a partial response.
575
+ # @param [String] quota_user
576
+ # Available to use for quota purposes for server-side applications. Can be any
577
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
578
+ # @param [Google::Apis::RequestOptions] options
579
+ # Request-specific options
580
+ #
581
+ # @yield [result, err] Result & error if block supplied
582
+ # @yieldparam result [Google::Apis::ClassroomV1::AddOnContext] parsed result object
583
+ # @yieldparam err [StandardError] error object if request failed
584
+ #
585
+ # @return [Google::Apis::ClassroomV1::AddOnContext]
586
+ #
587
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
588
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
589
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
590
+ def get_course_announcement_add_on_context(course_id, item_id, add_on_token: nil, attachment_id: nil, post_id: nil, fields: nil, quota_user: nil, options: nil, &block)
591
+ command = make_simple_command(:get, 'v1/courses/{courseId}/announcements/{itemId}/addOnContext', options)
592
+ command.response_representation = Google::Apis::ClassroomV1::AddOnContext::Representation
593
+ command.response_class = Google::Apis::ClassroomV1::AddOnContext
594
+ command.params['courseId'] = course_id unless course_id.nil?
595
+ command.params['itemId'] = item_id unless item_id.nil?
596
+ command.query['addOnToken'] = add_on_token unless add_on_token.nil?
597
+ command.query['attachmentId'] = attachment_id unless attachment_id.nil?
598
+ command.query['postId'] = post_id unless post_id.nil?
599
+ command.query['fields'] = fields unless fields.nil?
600
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
601
+ execute_or_queue_command(command, &block)
602
+ end
603
+
547
604
  # Returns a list of announcements that the requester is permitted to view.
548
605
  # Course students may only view `PUBLISHED` announcements. Course teachers and
549
606
  # domain administrators may view all announcements. This method returns the
@@ -694,6 +751,257 @@ module Google
694
751
  execute_or_queue_command(command, &block)
695
752
  end
696
753
 
754
+ # Creates an add-on attachment under a post. Requires the add-on to have
755
+ # permission to create new attachments on the post. This method returns the
756
+ # following error codes: * `PERMISSION_DENIED` for access errors. * `
757
+ # INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the
758
+ # identified resources does not exist.
759
+ # @param [String] course_id
760
+ # Required. Identifier of the course.
761
+ # @param [String] item_id
762
+ # Identifier of the announcement, courseWork, or courseWorkMaterial under which
763
+ # to create the attachment. This field is required, but is not marked as such
764
+ # while we are migrating from post_id.
765
+ # @param [Google::Apis::ClassroomV1::AddOnAttachment] add_on_attachment_object
766
+ # @param [String] add_on_token
767
+ # Optional. Token that authorizes the request. The token is passed as a query
768
+ # parameter when the user is redirected from Classroom to the add-on's URL. This
769
+ # authorization token is required for in-Classroom attachment creation but
770
+ # optional for partner-first attachment creation. Returns an error if not
771
+ # provided for partner-first attachment creation and the developer projects that
772
+ # created the attachment and its parent stream item do not match.
773
+ # @param [String] post_id
774
+ # Optional. Deprecated, use item_id instead.
775
+ # @param [String] fields
776
+ # Selector specifying which fields to include in a partial response.
777
+ # @param [String] quota_user
778
+ # Available to use for quota purposes for server-side applications. Can be any
779
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
780
+ # @param [Google::Apis::RequestOptions] options
781
+ # Request-specific options
782
+ #
783
+ # @yield [result, err] Result & error if block supplied
784
+ # @yieldparam result [Google::Apis::ClassroomV1::AddOnAttachment] parsed result object
785
+ # @yieldparam err [StandardError] error object if request failed
786
+ #
787
+ # @return [Google::Apis::ClassroomV1::AddOnAttachment]
788
+ #
789
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
790
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
791
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
792
+ def create_course_announcement_add_on_attachment(course_id, item_id, add_on_attachment_object = nil, add_on_token: nil, post_id: nil, fields: nil, quota_user: nil, options: nil, &block)
793
+ command = make_simple_command(:post, 'v1/courses/{courseId}/announcements/{itemId}/addOnAttachments', options)
794
+ command.request_representation = Google::Apis::ClassroomV1::AddOnAttachment::Representation
795
+ command.request_object = add_on_attachment_object
796
+ command.response_representation = Google::Apis::ClassroomV1::AddOnAttachment::Representation
797
+ command.response_class = Google::Apis::ClassroomV1::AddOnAttachment
798
+ command.params['courseId'] = course_id unless course_id.nil?
799
+ command.params['itemId'] = item_id unless item_id.nil?
800
+ command.query['addOnToken'] = add_on_token unless add_on_token.nil?
801
+ command.query['postId'] = post_id unless post_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 add-on attachment. Requires the add-on to have been the original
808
+ # creator of the attachment. This method returns the following error codes: * `
809
+ # PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is
810
+ # malformed. * `NOT_FOUND` if one of the identified resources does not exist.
811
+ # @param [String] course_id
812
+ # Required. Identifier of the course.
813
+ # @param [String] item_id
814
+ # Identifier of the announcement, courseWork, or courseWorkMaterial under which
815
+ # the attachment is attached. This field is required, but is not marked as such
816
+ # while we are migrating from post_id.
817
+ # @param [String] attachment_id
818
+ # Required. Identifier of the attachment.
819
+ # @param [String] post_id
820
+ # Optional. Deprecated, use item_id instead.
821
+ # @param [String] fields
822
+ # Selector specifying which fields to include in a partial response.
823
+ # @param [String] quota_user
824
+ # Available to use for quota purposes for server-side applications. Can be any
825
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
826
+ # @param [Google::Apis::RequestOptions] options
827
+ # Request-specific options
828
+ #
829
+ # @yield [result, err] Result & error if block supplied
830
+ # @yieldparam result [Google::Apis::ClassroomV1::Empty] parsed result object
831
+ # @yieldparam err [StandardError] error object if request failed
832
+ #
833
+ # @return [Google::Apis::ClassroomV1::Empty]
834
+ #
835
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
836
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
837
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
838
+ def delete_course_announcement_add_on_attachment(course_id, item_id, attachment_id, post_id: nil, fields: nil, quota_user: nil, options: nil, &block)
839
+ command = make_simple_command(:delete, 'v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}', options)
840
+ command.response_representation = Google::Apis::ClassroomV1::Empty::Representation
841
+ command.response_class = Google::Apis::ClassroomV1::Empty
842
+ command.params['courseId'] = course_id unless course_id.nil?
843
+ command.params['itemId'] = item_id unless item_id.nil?
844
+ command.params['attachmentId'] = attachment_id unless attachment_id.nil?
845
+ command.query['postId'] = post_id unless post_id.nil?
846
+ command.query['fields'] = fields unless fields.nil?
847
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
848
+ execute_or_queue_command(command, &block)
849
+ end
850
+
851
+ # Returns an add-on attachment. Requires the add-on requesting the attachment to
852
+ # be the original creator of the attachment. This method returns the following
853
+ # error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if
854
+ # the request is malformed. * `NOT_FOUND` if one of the identified resources
855
+ # does not exist.
856
+ # @param [String] course_id
857
+ # Required. Identifier of the course.
858
+ # @param [String] item_id
859
+ # Identifier of the announcement, courseWork, or courseWorkMaterial under which
860
+ # the attachment is attached. This field is required, but is not marked as such
861
+ # while we are migrating from post_id.
862
+ # @param [String] attachment_id
863
+ # Required. Identifier of the attachment.
864
+ # @param [String] post_id
865
+ # Optional. Deprecated, use item_id instead.
866
+ # @param [String] fields
867
+ # Selector specifying which fields to include in a partial response.
868
+ # @param [String] quota_user
869
+ # Available to use for quota purposes for server-side applications. Can be any
870
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
871
+ # @param [Google::Apis::RequestOptions] options
872
+ # Request-specific options
873
+ #
874
+ # @yield [result, err] Result & error if block supplied
875
+ # @yieldparam result [Google::Apis::ClassroomV1::AddOnAttachment] parsed result object
876
+ # @yieldparam err [StandardError] error object if request failed
877
+ #
878
+ # @return [Google::Apis::ClassroomV1::AddOnAttachment]
879
+ #
880
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
881
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
882
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
883
+ def get_course_announcement_add_on_attachment(course_id, item_id, attachment_id, post_id: nil, fields: nil, quota_user: nil, options: nil, &block)
884
+ command = make_simple_command(:get, 'v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}', options)
885
+ command.response_representation = Google::Apis::ClassroomV1::AddOnAttachment::Representation
886
+ command.response_class = Google::Apis::ClassroomV1::AddOnAttachment
887
+ command.params['courseId'] = course_id unless course_id.nil?
888
+ command.params['itemId'] = item_id unless item_id.nil?
889
+ command.params['attachmentId'] = attachment_id unless attachment_id.nil?
890
+ command.query['postId'] = post_id unless post_id.nil?
891
+ command.query['fields'] = fields unless fields.nil?
892
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
893
+ execute_or_queue_command(command, &block)
894
+ end
895
+
896
+ # Returns all attachments created by an add-on under the post. Requires the add-
897
+ # on to have active attachments on the post or have permission to create new
898
+ # attachments on the post. This method returns the following error codes: * `
899
+ # PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is
900
+ # malformed. * `NOT_FOUND` if one of the identified resources does not exist.
901
+ # @param [String] course_id
902
+ # Required. Identifier of the course.
903
+ # @param [String] item_id
904
+ # Identifier of the announcement, courseWork, or courseWorkMaterial whose
905
+ # attachments should be enumerated. This field is required, but is not marked as
906
+ # such while we are migrating from post_id.
907
+ # @param [Fixnum] page_size
908
+ # The maximum number of attachments to return. The service may return fewer than
909
+ # this value. If unspecified, at most 20 attachments will be returned. The
910
+ # maximum value is 20; values above 20 will be coerced to 20.
911
+ # @param [String] page_token
912
+ # A page token, received from a previous `ListAddOnAttachments` call. Provide
913
+ # this to retrieve the subsequent page. When paginating, all other parameters
914
+ # provided to `ListAddOnAttachments` must match the call that provided the page
915
+ # token.
916
+ # @param [String] post_id
917
+ # Optional. Identifier of the post under the course whose attachments to
918
+ # enumerate. Deprecated, use item_id instead.
919
+ # @param [String] fields
920
+ # Selector specifying which fields to include in a partial response.
921
+ # @param [String] quota_user
922
+ # Available to use for quota purposes for server-side applications. Can be any
923
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
924
+ # @param [Google::Apis::RequestOptions] options
925
+ # Request-specific options
926
+ #
927
+ # @yield [result, err] Result & error if block supplied
928
+ # @yieldparam result [Google::Apis::ClassroomV1::ListAddOnAttachmentsResponse] parsed result object
929
+ # @yieldparam err [StandardError] error object if request failed
930
+ #
931
+ # @return [Google::Apis::ClassroomV1::ListAddOnAttachmentsResponse]
932
+ #
933
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
934
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
935
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
936
+ def list_course_announcement_add_on_attachments(course_id, item_id, page_size: nil, page_token: nil, post_id: nil, fields: nil, quota_user: nil, options: nil, &block)
937
+ command = make_simple_command(:get, 'v1/courses/{courseId}/announcements/{itemId}/addOnAttachments', options)
938
+ command.response_representation = Google::Apis::ClassroomV1::ListAddOnAttachmentsResponse::Representation
939
+ command.response_class = Google::Apis::ClassroomV1::ListAddOnAttachmentsResponse
940
+ command.params['courseId'] = course_id unless course_id.nil?
941
+ command.params['itemId'] = item_id unless item_id.nil?
942
+ command.query['pageSize'] = page_size unless page_size.nil?
943
+ command.query['pageToken'] = page_token unless page_token.nil?
944
+ command.query['postId'] = post_id unless post_id.nil?
945
+ command.query['fields'] = fields unless fields.nil?
946
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
947
+ execute_or_queue_command(command, &block)
948
+ end
949
+
950
+ # Updates an add-on attachment. Requires the add-on to have been the original
951
+ # creator of the attachment. This method returns the following error codes: * `
952
+ # PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is
953
+ # malformed. * `NOT_FOUND` if one of the identified resources does not exist.
954
+ # @param [String] course_id
955
+ # Required. Identifier of the course.
956
+ # @param [String] item_id
957
+ # Identifier of the post under which the attachment is attached.
958
+ # @param [String] attachment_id
959
+ # Required. Identifier of the attachment.
960
+ # @param [Google::Apis::ClassroomV1::AddOnAttachment] add_on_attachment_object
961
+ # @param [String] post_id
962
+ # Required. Identifier of the post under which the attachment is attached.
963
+ # @param [String] update_mask
964
+ # Required. Mask that identifies which fields on the attachment to update. The
965
+ # update fails if invalid fields are specified. If a field supports empty values,
966
+ # it can be cleared by specifying it in the update mask and not in the `
967
+ # AddOnAttachment` object. If a field that does not support empty values is
968
+ # included in the update mask and not set in the `AddOnAttachment` object, an `
969
+ # INVALID_ARGUMENT` error is returned. The following fields may be specified by
970
+ # teachers: * `title` * `teacher_view_uri` * `student_view_uri` * `
971
+ # student_work_review_uri` * `due_date` * `due_time` * `max_points`
972
+ # @param [String] fields
973
+ # Selector specifying which fields to include in a partial response.
974
+ # @param [String] quota_user
975
+ # Available to use for quota purposes for server-side applications. Can be any
976
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
977
+ # @param [Google::Apis::RequestOptions] options
978
+ # Request-specific options
979
+ #
980
+ # @yield [result, err] Result & error if block supplied
981
+ # @yieldparam result [Google::Apis::ClassroomV1::AddOnAttachment] parsed result object
982
+ # @yieldparam err [StandardError] error object if request failed
983
+ #
984
+ # @return [Google::Apis::ClassroomV1::AddOnAttachment]
985
+ #
986
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
987
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
988
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
989
+ def patch_course_announcement_add_on_attachment(course_id, item_id, attachment_id, add_on_attachment_object = nil, post_id: nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
990
+ command = make_simple_command(:patch, 'v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}', options)
991
+ command.request_representation = Google::Apis::ClassroomV1::AddOnAttachment::Representation
992
+ command.request_object = add_on_attachment_object
993
+ command.response_representation = Google::Apis::ClassroomV1::AddOnAttachment::Representation
994
+ command.response_class = Google::Apis::ClassroomV1::AddOnAttachment
995
+ command.params['courseId'] = course_id unless course_id.nil?
996
+ command.params['itemId'] = item_id unless item_id.nil?
997
+ command.params['attachmentId'] = attachment_id unless attachment_id.nil?
998
+ command.query['postId'] = post_id unless post_id.nil?
999
+ command.query['updateMask'] = update_mask unless update_mask.nil?
1000
+ command.query['fields'] = fields unless fields.nil?
1001
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1002
+ execute_or_queue_command(command, &block)
1003
+ end
1004
+
697
1005
  # Creates course work. The resulting course work (and corresponding student
698
1006
  # submissions) are associated with the Developer Console project of the [OAuth
699
1007
  # client ID](https://support.google.com/cloud/answer/6158849) used to make the
@@ -818,6 +1126,63 @@ module Google
818
1126
  execute_or_queue_command(command, &block)
819
1127
  end
820
1128
 
1129
+ # Gets metadata for Classroom add-ons in the context of a specific post. To
1130
+ # maintain the integrity of its own data and permissions model, an add-on should
1131
+ # call this to validate query parameters and the requesting user's role whenever
1132
+ # the add-on is opened in an [iframe](https://developers.google.com/classroom/
1133
+ # add-ons/get-started/iframes/iframes-overview). This method returns the
1134
+ # following error codes: * `PERMISSION_DENIED` for access errors. * `
1135
+ # INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the
1136
+ # identified resources does not exist.
1137
+ # @param [String] course_id
1138
+ # Required. Identifier of the course.
1139
+ # @param [String] item_id
1140
+ # Identifier of the announcement, courseWork, or courseWorkMaterial under which
1141
+ # the attachment is attached. This field is required, but is not marked as such
1142
+ # while we are migrating from post_id.
1143
+ # @param [String] add_on_token
1144
+ # Optional. Token that authorizes the request. The token is passed as a query
1145
+ # parameter when the user is redirected from Classroom to the add-on's URL. The
1146
+ # authorization token is required when neither of the following is true: * The
1147
+ # add-on has attachments on the post. * The developer project issuing the
1148
+ # request is the same project that created the post.
1149
+ # @param [String] attachment_id
1150
+ # Optional. The identifier of the attachment. This field is required for student
1151
+ # users and optional for teacher users. If not provided in the student case, an
1152
+ # error is returned.
1153
+ # @param [String] post_id
1154
+ # Optional. Deprecated, use item_id instead.
1155
+ # @param [String] fields
1156
+ # Selector specifying which fields to include in a partial response.
1157
+ # @param [String] quota_user
1158
+ # Available to use for quota purposes for server-side applications. Can be any
1159
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1160
+ # @param [Google::Apis::RequestOptions] options
1161
+ # Request-specific options
1162
+ #
1163
+ # @yield [result, err] Result & error if block supplied
1164
+ # @yieldparam result [Google::Apis::ClassroomV1::AddOnContext] parsed result object
1165
+ # @yieldparam err [StandardError] error object if request failed
1166
+ #
1167
+ # @return [Google::Apis::ClassroomV1::AddOnContext]
1168
+ #
1169
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1170
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1171
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1172
+ def get_course_course_work_add_on_context(course_id, item_id, add_on_token: nil, attachment_id: nil, post_id: nil, fields: nil, quota_user: nil, options: nil, &block)
1173
+ command = make_simple_command(:get, 'v1/courses/{courseId}/courseWork/{itemId}/addOnContext', options)
1174
+ command.response_representation = Google::Apis::ClassroomV1::AddOnContext::Representation
1175
+ command.response_class = Google::Apis::ClassroomV1::AddOnContext
1176
+ command.params['courseId'] = course_id unless course_id.nil?
1177
+ command.params['itemId'] = item_id unless item_id.nil?
1178
+ command.query['addOnToken'] = add_on_token unless add_on_token.nil?
1179
+ command.query['attachmentId'] = attachment_id unless attachment_id.nil?
1180
+ command.query['postId'] = post_id unless post_id.nil?
1181
+ command.query['fields'] = fields unless fields.nil?
1182
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1183
+ execute_or_queue_command(command, &block)
1184
+ end
1185
+
821
1186
  # Returns a list of course work that the requester is permitted to view. Course
822
1187
  # students may only view `PUBLISHED` course work. Course teachers and domain
823
1188
  # administrators may view all course work. This method returns the following
@@ -975,18 +1340,27 @@ module Google
975
1340
  execute_or_queue_command(command, &block)
976
1341
  end
977
1342
 
978
- # Returns a student submission. * `PERMISSION_DENIED` if the requesting user is
979
- # not permitted to access the requested course, course work, or student
980
- # submission or for access errors. * `INVALID_ARGUMENT` if the request is
981
- # malformed. * `NOT_FOUND` if the requested course, course work, or student
982
- # submission does not exist.
1343
+ # Creates an add-on attachment under a post. Requires the add-on to have
1344
+ # permission to create new attachments on the post. This method returns the
1345
+ # following error codes: * `PERMISSION_DENIED` for access errors. * `
1346
+ # INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the
1347
+ # identified resources does not exist.
983
1348
  # @param [String] course_id
984
- # Identifier of the course. This identifier can be either the Classroom-assigned
985
- # identifier or an alias.
986
- # @param [String] course_work_id
987
- # Identifier of the course work.
988
- # @param [String] id
989
- # Identifier of the student submission.
1349
+ # Required. Identifier of the course.
1350
+ # @param [String] item_id
1351
+ # Identifier of the announcement, courseWork, or courseWorkMaterial under which
1352
+ # to create the attachment. This field is required, but is not marked as such
1353
+ # while we are migrating from post_id.
1354
+ # @param [Google::Apis::ClassroomV1::AddOnAttachment] add_on_attachment_object
1355
+ # @param [String] add_on_token
1356
+ # Optional. Token that authorizes the request. The token is passed as a query
1357
+ # parameter when the user is redirected from Classroom to the add-on's URL. This
1358
+ # authorization token is required for in-Classroom attachment creation but
1359
+ # optional for partner-first attachment creation. Returns an error if not
1360
+ # provided for partner-first attachment creation and the developer projects that
1361
+ # created the attachment and its parent stream item do not match.
1362
+ # @param [String] post_id
1363
+ # Optional. Deprecated, use item_id instead.
990
1364
  # @param [String] fields
991
1365
  # Selector specifying which fields to include in a partial response.
992
1366
  # @param [String] quota_user
@@ -996,62 +1370,43 @@ module Google
996
1370
  # Request-specific options
997
1371
  #
998
1372
  # @yield [result, err] Result & error if block supplied
999
- # @yieldparam result [Google::Apis::ClassroomV1::StudentSubmission] parsed result object
1373
+ # @yieldparam result [Google::Apis::ClassroomV1::AddOnAttachment] parsed result object
1000
1374
  # @yieldparam err [StandardError] error object if request failed
1001
1375
  #
1002
- # @return [Google::Apis::ClassroomV1::StudentSubmission]
1376
+ # @return [Google::Apis::ClassroomV1::AddOnAttachment]
1003
1377
  #
1004
1378
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1005
1379
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1006
1380
  # @raise [Google::Apis::AuthorizationError] Authorization is required
1007
- def get_student_submission(course_id, course_work_id, id, fields: nil, quota_user: nil, options: nil, &block)
1008
- command = make_simple_command(:get, 'v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}', options)
1009
- command.response_representation = Google::Apis::ClassroomV1::StudentSubmission::Representation
1010
- command.response_class = Google::Apis::ClassroomV1::StudentSubmission
1381
+ def create_course_course_work_add_on_attachment(course_id, item_id, add_on_attachment_object = nil, add_on_token: nil, post_id: nil, fields: nil, quota_user: nil, options: nil, &block)
1382
+ command = make_simple_command(:post, 'v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments', options)
1383
+ command.request_representation = Google::Apis::ClassroomV1::AddOnAttachment::Representation
1384
+ command.request_object = add_on_attachment_object
1385
+ command.response_representation = Google::Apis::ClassroomV1::AddOnAttachment::Representation
1386
+ command.response_class = Google::Apis::ClassroomV1::AddOnAttachment
1011
1387
  command.params['courseId'] = course_id unless course_id.nil?
1012
- command.params['courseWorkId'] = course_work_id unless course_work_id.nil?
1013
- command.params['id'] = id unless id.nil?
1388
+ command.params['itemId'] = item_id unless item_id.nil?
1389
+ command.query['addOnToken'] = add_on_token unless add_on_token.nil?
1390
+ command.query['postId'] = post_id unless post_id.nil?
1014
1391
  command.query['fields'] = fields unless fields.nil?
1015
1392
  command.query['quotaUser'] = quota_user unless quota_user.nil?
1016
1393
  execute_or_queue_command(command, &block)
1017
1394
  end
1018
1395
 
1019
- # Returns a list of student submissions that the requester is permitted to view,
1020
- # factoring in the OAuth scopes of the request. `-` may be specified as the `
1021
- # course_work_id` to include student submissions for multiple course work items.
1022
- # Course students may only view their own work. Course teachers and domain
1023
- # administrators may view all student submissions. This method returns the
1024
- # following error codes: * `PERMISSION_DENIED` if the requesting user is not
1025
- # permitted to access the requested course or course work, or for access errors.
1026
- # * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the
1027
- # requested course does not exist.
1396
+ # Deletes an add-on attachment. Requires the add-on to have been the original
1397
+ # creator of the attachment. This method returns the following error codes: * `
1398
+ # PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is
1399
+ # malformed. * `NOT_FOUND` if one of the identified resources does not exist.
1028
1400
  # @param [String] course_id
1029
- # Identifier of the course. This identifier can be either the Classroom-assigned
1030
- # identifier or an alias.
1031
- # @param [String] course_work_id
1032
- # Identifier of the student work to request. This may be set to the string
1033
- # literal `"-"` to request student work for all course work in the specified
1034
- # course.
1035
- # @param [String] late
1036
- # Requested lateness value. If specified, returned student submissions are
1037
- # restricted by the requested value. If unspecified, submissions are returned
1038
- # regardless of `late` value.
1039
- # @param [Fixnum] page_size
1040
- # Maximum number of items to return. Zero or unspecified indicates that the
1041
- # server may assign a maximum. The server may return fewer than the specified
1042
- # number of results.
1043
- # @param [String] page_token
1044
- # nextPageToken value returned from a previous list call, indicating that the
1045
- # subsequent page of results should be returned. The list request must be
1046
- # otherwise identical to the one that resulted in this token.
1047
- # @param [Array<String>, String] states
1048
- # Requested submission states. If specified, returned student submissions match
1049
- # one of the specified submission states.
1050
- # @param [String] user_id
1051
- # Optional argument to restrict returned student work to those owned by the
1052
- # student with the specified identifier. The identifier can be one of the
1053
- # following: * the numeric identifier for the user * the email address of the
1054
- # user * the string literal `"me"`, indicating the requesting user
1401
+ # Required. Identifier of the course.
1402
+ # @param [String] item_id
1403
+ # Identifier of the announcement, courseWork, or courseWorkMaterial under which
1404
+ # the attachment is attached. This field is required, but is not marked as such
1405
+ # while we are migrating from post_id.
1406
+ # @param [String] attachment_id
1407
+ # Required. Identifier of the attachment.
1408
+ # @param [String] post_id
1409
+ # Optional. Deprecated, use item_id instead.
1055
1410
  # @param [String] fields
1056
1411
  # Selector specifying which fields to include in a partial response.
1057
1412
  # @param [String] quota_user
@@ -1061,48 +1416,42 @@ module Google
1061
1416
  # Request-specific options
1062
1417
  #
1063
1418
  # @yield [result, err] Result & error if block supplied
1064
- # @yieldparam result [Google::Apis::ClassroomV1::ListStudentSubmissionsResponse] parsed result object
1419
+ # @yieldparam result [Google::Apis::ClassroomV1::Empty] parsed result object
1065
1420
  # @yieldparam err [StandardError] error object if request failed
1066
1421
  #
1067
- # @return [Google::Apis::ClassroomV1::ListStudentSubmissionsResponse]
1422
+ # @return [Google::Apis::ClassroomV1::Empty]
1068
1423
  #
1069
1424
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1070
1425
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1071
1426
  # @raise [Google::Apis::AuthorizationError] Authorization is required
1072
- def list_student_submissions(course_id, course_work_id, late: nil, page_size: nil, page_token: nil, states: nil, user_id: nil, fields: nil, quota_user: nil, options: nil, &block)
1073
- command = make_simple_command(:get, 'v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions', options)
1074
- command.response_representation = Google::Apis::ClassroomV1::ListStudentSubmissionsResponse::Representation
1075
- command.response_class = Google::Apis::ClassroomV1::ListStudentSubmissionsResponse
1427
+ def delete_course_course_work_add_on_attachment(course_id, item_id, attachment_id, post_id: nil, fields: nil, quota_user: nil, options: nil, &block)
1428
+ command = make_simple_command(:delete, 'v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}', options)
1429
+ command.response_representation = Google::Apis::ClassroomV1::Empty::Representation
1430
+ command.response_class = Google::Apis::ClassroomV1::Empty
1076
1431
  command.params['courseId'] = course_id unless course_id.nil?
1077
- command.params['courseWorkId'] = course_work_id unless course_work_id.nil?
1078
- command.query['late'] = late unless late.nil?
1079
- command.query['pageSize'] = page_size unless page_size.nil?
1080
- command.query['pageToken'] = page_token unless page_token.nil?
1081
- command.query['states'] = states unless states.nil?
1082
- command.query['userId'] = user_id unless user_id.nil?
1432
+ command.params['itemId'] = item_id unless item_id.nil?
1433
+ command.params['attachmentId'] = attachment_id unless attachment_id.nil?
1434
+ command.query['postId'] = post_id unless post_id.nil?
1083
1435
  command.query['fields'] = fields unless fields.nil?
1084
1436
  command.query['quotaUser'] = quota_user unless quota_user.nil?
1085
1437
  execute_or_queue_command(command, &block)
1086
1438
  end
1087
1439
 
1088
- # Modifies attachments of student submission. Attachments may only be added to
1089
- # student submissions belonging to course work objects with a `workType` of `
1090
- # ASSIGNMENT`. This request must be made by the Developer Console project of the
1091
- # [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to
1092
- # create the corresponding course work item. This method returns the following
1093
- # error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to
1094
- # access the requested course or course work, if the user is not permitted to
1095
- # modify attachments on the requested student submission, or for access errors. *
1096
- # `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the
1097
- # requested course, course work, or student submission does not exist.
1440
+ # Returns an add-on attachment. Requires the add-on requesting the attachment to
1441
+ # be the original creator of the attachment. This method returns the following
1442
+ # error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if
1443
+ # the request is malformed. * `NOT_FOUND` if one of the identified resources
1444
+ # does not exist.
1098
1445
  # @param [String] course_id
1099
- # Identifier of the course. This identifier can be either the Classroom-assigned
1100
- # identifier or an alias.
1101
- # @param [String] course_work_id
1102
- # Identifier of the course work.
1103
- # @param [String] id
1104
- # Identifier of the student submission.
1105
- # @param [Google::Apis::ClassroomV1::ModifyAttachmentsRequest] modify_attachments_request_object
1446
+ # Required. Identifier of the course.
1447
+ # @param [String] item_id
1448
+ # Identifier of the announcement, courseWork, or courseWorkMaterial under which
1449
+ # the attachment is attached. This field is required, but is not marked as such
1450
+ # while we are migrating from post_id.
1451
+ # @param [String] attachment_id
1452
+ # Required. Identifier of the attachment.
1453
+ # @param [String] post_id
1454
+ # Optional. Deprecated, use item_id instead.
1106
1455
  # @param [String] fields
1107
1456
  # Selector specifying which fields to include in a partial response.
1108
1457
  # @param [String] quota_user
@@ -1112,15 +1461,388 @@ module Google
1112
1461
  # Request-specific options
1113
1462
  #
1114
1463
  # @yield [result, err] Result & error if block supplied
1115
- # @yieldparam result [Google::Apis::ClassroomV1::StudentSubmission] parsed result object
1464
+ # @yieldparam result [Google::Apis::ClassroomV1::AddOnAttachment] parsed result object
1116
1465
  # @yieldparam err [StandardError] error object if request failed
1117
1466
  #
1118
- # @return [Google::Apis::ClassroomV1::StudentSubmission]
1467
+ # @return [Google::Apis::ClassroomV1::AddOnAttachment]
1119
1468
  #
1120
1469
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1121
1470
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1122
1471
  # @raise [Google::Apis::AuthorizationError] Authorization is required
1123
- def modify_student_submission_attachments(course_id, course_work_id, id, modify_attachments_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
1472
+ def get_course_course_work_add_on_attachment(course_id, item_id, attachment_id, post_id: nil, fields: nil, quota_user: nil, options: nil, &block)
1473
+ command = make_simple_command(:get, 'v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}', options)
1474
+ command.response_representation = Google::Apis::ClassroomV1::AddOnAttachment::Representation
1475
+ command.response_class = Google::Apis::ClassroomV1::AddOnAttachment
1476
+ command.params['courseId'] = course_id unless course_id.nil?
1477
+ command.params['itemId'] = item_id unless item_id.nil?
1478
+ command.params['attachmentId'] = attachment_id unless attachment_id.nil?
1479
+ command.query['postId'] = post_id unless post_id.nil?
1480
+ command.query['fields'] = fields unless fields.nil?
1481
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1482
+ execute_or_queue_command(command, &block)
1483
+ end
1484
+
1485
+ # Returns all attachments created by an add-on under the post. Requires the add-
1486
+ # on to have active attachments on the post or have permission to create new
1487
+ # attachments on the post. This method returns the following error codes: * `
1488
+ # PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is
1489
+ # malformed. * `NOT_FOUND` if one of the identified resources does not exist.
1490
+ # @param [String] course_id
1491
+ # Required. Identifier of the course.
1492
+ # @param [String] item_id
1493
+ # Identifier of the announcement, courseWork, or courseWorkMaterial whose
1494
+ # attachments should be enumerated. This field is required, but is not marked as
1495
+ # such while we are migrating from post_id.
1496
+ # @param [Fixnum] page_size
1497
+ # The maximum number of attachments to return. The service may return fewer than
1498
+ # this value. If unspecified, at most 20 attachments will be returned. The
1499
+ # maximum value is 20; values above 20 will be coerced to 20.
1500
+ # @param [String] page_token
1501
+ # A page token, received from a previous `ListAddOnAttachments` call. Provide
1502
+ # this to retrieve the subsequent page. When paginating, all other parameters
1503
+ # provided to `ListAddOnAttachments` must match the call that provided the page
1504
+ # token.
1505
+ # @param [String] post_id
1506
+ # Optional. Identifier of the post under the course whose attachments to
1507
+ # enumerate. Deprecated, use item_id instead.
1508
+ # @param [String] fields
1509
+ # Selector specifying which fields to include in a partial response.
1510
+ # @param [String] quota_user
1511
+ # Available to use for quota purposes for server-side applications. Can be any
1512
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1513
+ # @param [Google::Apis::RequestOptions] options
1514
+ # Request-specific options
1515
+ #
1516
+ # @yield [result, err] Result & error if block supplied
1517
+ # @yieldparam result [Google::Apis::ClassroomV1::ListAddOnAttachmentsResponse] parsed result object
1518
+ # @yieldparam err [StandardError] error object if request failed
1519
+ #
1520
+ # @return [Google::Apis::ClassroomV1::ListAddOnAttachmentsResponse]
1521
+ #
1522
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1523
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1524
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1525
+ def list_course_course_work_add_on_attachments(course_id, item_id, page_size: nil, page_token: nil, post_id: nil, fields: nil, quota_user: nil, options: nil, &block)
1526
+ command = make_simple_command(:get, 'v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments', options)
1527
+ command.response_representation = Google::Apis::ClassroomV1::ListAddOnAttachmentsResponse::Representation
1528
+ command.response_class = Google::Apis::ClassroomV1::ListAddOnAttachmentsResponse
1529
+ command.params['courseId'] = course_id unless course_id.nil?
1530
+ command.params['itemId'] = item_id unless item_id.nil?
1531
+ command.query['pageSize'] = page_size unless page_size.nil?
1532
+ command.query['pageToken'] = page_token unless page_token.nil?
1533
+ command.query['postId'] = post_id unless post_id.nil?
1534
+ command.query['fields'] = fields unless fields.nil?
1535
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1536
+ execute_or_queue_command(command, &block)
1537
+ end
1538
+
1539
+ # Updates an add-on attachment. Requires the add-on to have been the original
1540
+ # creator of the attachment. This method returns the following error codes: * `
1541
+ # PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is
1542
+ # malformed. * `NOT_FOUND` if one of the identified resources does not exist.
1543
+ # @param [String] course_id
1544
+ # Required. Identifier of the course.
1545
+ # @param [String] item_id
1546
+ # Identifier of the post under which the attachment is attached.
1547
+ # @param [String] attachment_id
1548
+ # Required. Identifier of the attachment.
1549
+ # @param [Google::Apis::ClassroomV1::AddOnAttachment] add_on_attachment_object
1550
+ # @param [String] post_id
1551
+ # Required. Identifier of the post under which the attachment is attached.
1552
+ # @param [String] update_mask
1553
+ # Required. Mask that identifies which fields on the attachment to update. The
1554
+ # update fails if invalid fields are specified. If a field supports empty values,
1555
+ # it can be cleared by specifying it in the update mask and not in the `
1556
+ # AddOnAttachment` object. If a field that does not support empty values is
1557
+ # included in the update mask and not set in the `AddOnAttachment` object, an `
1558
+ # INVALID_ARGUMENT` error is returned. The following fields may be specified by
1559
+ # teachers: * `title` * `teacher_view_uri` * `student_view_uri` * `
1560
+ # student_work_review_uri` * `due_date` * `due_time` * `max_points`
1561
+ # @param [String] fields
1562
+ # Selector specifying which fields to include in a partial response.
1563
+ # @param [String] quota_user
1564
+ # Available to use for quota purposes for server-side applications. Can be any
1565
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1566
+ # @param [Google::Apis::RequestOptions] options
1567
+ # Request-specific options
1568
+ #
1569
+ # @yield [result, err] Result & error if block supplied
1570
+ # @yieldparam result [Google::Apis::ClassroomV1::AddOnAttachment] parsed result object
1571
+ # @yieldparam err [StandardError] error object if request failed
1572
+ #
1573
+ # @return [Google::Apis::ClassroomV1::AddOnAttachment]
1574
+ #
1575
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1576
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1577
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1578
+ def patch_course_course_work_add_on_attachment(course_id, item_id, attachment_id, add_on_attachment_object = nil, post_id: nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
1579
+ command = make_simple_command(:patch, 'v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}', options)
1580
+ command.request_representation = Google::Apis::ClassroomV1::AddOnAttachment::Representation
1581
+ command.request_object = add_on_attachment_object
1582
+ command.response_representation = Google::Apis::ClassroomV1::AddOnAttachment::Representation
1583
+ command.response_class = Google::Apis::ClassroomV1::AddOnAttachment
1584
+ command.params['courseId'] = course_id unless course_id.nil?
1585
+ command.params['itemId'] = item_id unless item_id.nil?
1586
+ command.params['attachmentId'] = attachment_id unless attachment_id.nil?
1587
+ command.query['postId'] = post_id unless post_id.nil?
1588
+ command.query['updateMask'] = update_mask unless update_mask.nil?
1589
+ command.query['fields'] = fields unless fields.nil?
1590
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1591
+ execute_or_queue_command(command, &block)
1592
+ end
1593
+
1594
+ # Returns a student submission for an add-on attachment. This method returns the
1595
+ # following error codes: * `PERMISSION_DENIED` for access errors. * `
1596
+ # INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the
1597
+ # identified resources does not exist.
1598
+ # @param [String] course_id
1599
+ # Required. Identifier of the course.
1600
+ # @param [String] item_id
1601
+ # Identifier of the announcement, courseWork, or courseWorkMaterial under which
1602
+ # the attachment is attached. This field is required, but is not marked as such
1603
+ # while we are migrating from post_id.
1604
+ # @param [String] attachment_id
1605
+ # Required. Identifier of the attachment.
1606
+ # @param [String] submission_id
1607
+ # Required. Identifier of the student’s submission.
1608
+ # @param [String] post_id
1609
+ # Optional. Deprecated, use item_id instead.
1610
+ # @param [String] fields
1611
+ # Selector specifying which fields to include in a partial response.
1612
+ # @param [String] quota_user
1613
+ # Available to use for quota purposes for server-side applications. Can be any
1614
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1615
+ # @param [Google::Apis::RequestOptions] options
1616
+ # Request-specific options
1617
+ #
1618
+ # @yield [result, err] Result & error if block supplied
1619
+ # @yieldparam result [Google::Apis::ClassroomV1::AddOnAttachmentStudentSubmission] parsed result object
1620
+ # @yieldparam err [StandardError] error object if request failed
1621
+ #
1622
+ # @return [Google::Apis::ClassroomV1::AddOnAttachmentStudentSubmission]
1623
+ #
1624
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1625
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1626
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1627
+ def get_course_course_work_add_on_attachment_student_submission(course_id, item_id, attachment_id, submission_id, post_id: nil, fields: nil, quota_user: nil, options: nil, &block)
1628
+ command = make_simple_command(:get, 'v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}', options)
1629
+ command.response_representation = Google::Apis::ClassroomV1::AddOnAttachmentStudentSubmission::Representation
1630
+ command.response_class = Google::Apis::ClassroomV1::AddOnAttachmentStudentSubmission
1631
+ command.params['courseId'] = course_id unless course_id.nil?
1632
+ command.params['itemId'] = item_id unless item_id.nil?
1633
+ command.params['attachmentId'] = attachment_id unless attachment_id.nil?
1634
+ command.params['submissionId'] = submission_id unless submission_id.nil?
1635
+ command.query['postId'] = post_id unless post_id.nil?
1636
+ command.query['fields'] = fields unless fields.nil?
1637
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1638
+ execute_or_queue_command(command, &block)
1639
+ end
1640
+
1641
+ # Updates data associated with an add-on attachment submission. Requires the add-
1642
+ # on to have been the original creator of the attachment and the attachment to
1643
+ # have a positive `max_points` value set. This method returns the following
1644
+ # error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if
1645
+ # the request is malformed. * `NOT_FOUND` if one of the identified resources
1646
+ # does not exist.
1647
+ # @param [String] course_id
1648
+ # Required. Identifier of the course.
1649
+ # @param [String] item_id
1650
+ # Identifier of the announcement, courseWork, or courseWorkMaterial under which
1651
+ # the attachment is attached. This field is required, but is not marked as such
1652
+ # while we are migrating from post_id.
1653
+ # @param [String] attachment_id
1654
+ # Required. Identifier of the attachment.
1655
+ # @param [String] submission_id
1656
+ # Required. Identifier of the student's submission.
1657
+ # @param [Google::Apis::ClassroomV1::AddOnAttachmentStudentSubmission] add_on_attachment_student_submission_object
1658
+ # @param [String] post_id
1659
+ # Optional. Deprecated, use item_id instead.
1660
+ # @param [String] update_mask
1661
+ # Required. Mask that identifies which fields on the attachment to update. The
1662
+ # update fails if invalid fields are specified. If a field supports empty values,
1663
+ # it can be cleared by specifying it in the update mask and not in the `
1664
+ # AddOnAttachmentStudentSubmission` object. The following fields may be
1665
+ # specified by teachers: * `points_earned`
1666
+ # @param [String] fields
1667
+ # Selector specifying which fields to include in a partial response.
1668
+ # @param [String] quota_user
1669
+ # Available to use for quota purposes for server-side applications. Can be any
1670
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1671
+ # @param [Google::Apis::RequestOptions] options
1672
+ # Request-specific options
1673
+ #
1674
+ # @yield [result, err] Result & error if block supplied
1675
+ # @yieldparam result [Google::Apis::ClassroomV1::AddOnAttachmentStudentSubmission] parsed result object
1676
+ # @yieldparam err [StandardError] error object if request failed
1677
+ #
1678
+ # @return [Google::Apis::ClassroomV1::AddOnAttachmentStudentSubmission]
1679
+ #
1680
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1681
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1682
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1683
+ def patch_course_course_work_add_on_attachment_student_submission(course_id, item_id, attachment_id, submission_id, add_on_attachment_student_submission_object = nil, post_id: nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
1684
+ command = make_simple_command(:patch, 'v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}', options)
1685
+ command.request_representation = Google::Apis::ClassroomV1::AddOnAttachmentStudentSubmission::Representation
1686
+ command.request_object = add_on_attachment_student_submission_object
1687
+ command.response_representation = Google::Apis::ClassroomV1::AddOnAttachmentStudentSubmission::Representation
1688
+ command.response_class = Google::Apis::ClassroomV1::AddOnAttachmentStudentSubmission
1689
+ command.params['courseId'] = course_id unless course_id.nil?
1690
+ command.params['itemId'] = item_id unless item_id.nil?
1691
+ command.params['attachmentId'] = attachment_id unless attachment_id.nil?
1692
+ command.params['submissionId'] = submission_id unless submission_id.nil?
1693
+ command.query['postId'] = post_id unless post_id.nil?
1694
+ command.query['updateMask'] = update_mask unless update_mask.nil?
1695
+ command.query['fields'] = fields unless fields.nil?
1696
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1697
+ execute_or_queue_command(command, &block)
1698
+ end
1699
+
1700
+ # Returns a student submission. * `PERMISSION_DENIED` if the requesting user is
1701
+ # not permitted to access the requested course, course work, or student
1702
+ # submission or for access errors. * `INVALID_ARGUMENT` if the request is
1703
+ # malformed. * `NOT_FOUND` if the requested course, course work, or student
1704
+ # submission does not exist.
1705
+ # @param [String] course_id
1706
+ # Identifier of the course. This identifier can be either the Classroom-assigned
1707
+ # identifier or an alias.
1708
+ # @param [String] course_work_id
1709
+ # Identifier of the course work.
1710
+ # @param [String] id
1711
+ # Identifier of the student submission.
1712
+ # @param [String] fields
1713
+ # Selector specifying which fields to include in a partial response.
1714
+ # @param [String] quota_user
1715
+ # Available to use for quota purposes for server-side applications. Can be any
1716
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1717
+ # @param [Google::Apis::RequestOptions] options
1718
+ # Request-specific options
1719
+ #
1720
+ # @yield [result, err] Result & error if block supplied
1721
+ # @yieldparam result [Google::Apis::ClassroomV1::StudentSubmission] parsed result object
1722
+ # @yieldparam err [StandardError] error object if request failed
1723
+ #
1724
+ # @return [Google::Apis::ClassroomV1::StudentSubmission]
1725
+ #
1726
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1727
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1728
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1729
+ def get_student_submission(course_id, course_work_id, id, fields: nil, quota_user: nil, options: nil, &block)
1730
+ command = make_simple_command(:get, 'v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}', options)
1731
+ command.response_representation = Google::Apis::ClassroomV1::StudentSubmission::Representation
1732
+ command.response_class = Google::Apis::ClassroomV1::StudentSubmission
1733
+ command.params['courseId'] = course_id unless course_id.nil?
1734
+ command.params['courseWorkId'] = course_work_id unless course_work_id.nil?
1735
+ command.params['id'] = id unless id.nil?
1736
+ command.query['fields'] = fields unless fields.nil?
1737
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1738
+ execute_or_queue_command(command, &block)
1739
+ end
1740
+
1741
+ # Returns a list of student submissions that the requester is permitted to view,
1742
+ # factoring in the OAuth scopes of the request. `-` may be specified as the `
1743
+ # course_work_id` to include student submissions for multiple course work items.
1744
+ # Course students may only view their own work. Course teachers and domain
1745
+ # administrators may view all student submissions. This method returns the
1746
+ # following error codes: * `PERMISSION_DENIED` if the requesting user is not
1747
+ # permitted to access the requested course or course work, or for access errors.
1748
+ # * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the
1749
+ # requested course does not exist.
1750
+ # @param [String] course_id
1751
+ # Identifier of the course. This identifier can be either the Classroom-assigned
1752
+ # identifier or an alias.
1753
+ # @param [String] course_work_id
1754
+ # Identifier of the student work to request. This may be set to the string
1755
+ # literal `"-"` to request student work for all course work in the specified
1756
+ # course.
1757
+ # @param [String] late
1758
+ # Requested lateness value. If specified, returned student submissions are
1759
+ # restricted by the requested value. If unspecified, submissions are returned
1760
+ # regardless of `late` value.
1761
+ # @param [Fixnum] page_size
1762
+ # Maximum number of items to return. Zero or unspecified indicates that the
1763
+ # server may assign a maximum. The server may return fewer than the specified
1764
+ # number of results.
1765
+ # @param [String] page_token
1766
+ # nextPageToken value returned from a previous list call, indicating that the
1767
+ # subsequent page of results should be returned. The list request must be
1768
+ # otherwise identical to the one that resulted in this token.
1769
+ # @param [Array<String>, String] states
1770
+ # Requested submission states. If specified, returned student submissions match
1771
+ # one of the specified submission states.
1772
+ # @param [String] user_id
1773
+ # Optional argument to restrict returned student work to those owned by the
1774
+ # student with the specified identifier. The identifier can be one of the
1775
+ # following: * the numeric identifier for the user * the email address of the
1776
+ # user * the string literal `"me"`, indicating the requesting user
1777
+ # @param [String] fields
1778
+ # Selector specifying which fields to include in a partial response.
1779
+ # @param [String] quota_user
1780
+ # Available to use for quota purposes for server-side applications. Can be any
1781
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1782
+ # @param [Google::Apis::RequestOptions] options
1783
+ # Request-specific options
1784
+ #
1785
+ # @yield [result, err] Result & error if block supplied
1786
+ # @yieldparam result [Google::Apis::ClassroomV1::ListStudentSubmissionsResponse] parsed result object
1787
+ # @yieldparam err [StandardError] error object if request failed
1788
+ #
1789
+ # @return [Google::Apis::ClassroomV1::ListStudentSubmissionsResponse]
1790
+ #
1791
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1792
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1793
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1794
+ def list_student_submissions(course_id, course_work_id, late: nil, page_size: nil, page_token: nil, states: nil, user_id: nil, fields: nil, quota_user: nil, options: nil, &block)
1795
+ command = make_simple_command(:get, 'v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions', options)
1796
+ command.response_representation = Google::Apis::ClassroomV1::ListStudentSubmissionsResponse::Representation
1797
+ command.response_class = Google::Apis::ClassroomV1::ListStudentSubmissionsResponse
1798
+ command.params['courseId'] = course_id unless course_id.nil?
1799
+ command.params['courseWorkId'] = course_work_id unless course_work_id.nil?
1800
+ command.query['late'] = late unless late.nil?
1801
+ command.query['pageSize'] = page_size unless page_size.nil?
1802
+ command.query['pageToken'] = page_token unless page_token.nil?
1803
+ command.query['states'] = states unless states.nil?
1804
+ command.query['userId'] = user_id unless user_id.nil?
1805
+ command.query['fields'] = fields unless fields.nil?
1806
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1807
+ execute_or_queue_command(command, &block)
1808
+ end
1809
+
1810
+ # Modifies attachments of student submission. Attachments may only be added to
1811
+ # student submissions belonging to course work objects with a `workType` of `
1812
+ # ASSIGNMENT`. This request must be made by the Developer Console project of the
1813
+ # [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to
1814
+ # create the corresponding course work item. This method returns the following
1815
+ # error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to
1816
+ # access the requested course or course work, if the user is not permitted to
1817
+ # modify attachments on the requested student submission, or for access errors. *
1818
+ # `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the
1819
+ # requested course, course work, or student submission does not exist.
1820
+ # @param [String] course_id
1821
+ # Identifier of the course. This identifier can be either the Classroom-assigned
1822
+ # identifier or an alias.
1823
+ # @param [String] course_work_id
1824
+ # Identifier of the course work.
1825
+ # @param [String] id
1826
+ # Identifier of the student submission.
1827
+ # @param [Google::Apis::ClassroomV1::ModifyAttachmentsRequest] modify_attachments_request_object
1828
+ # @param [String] fields
1829
+ # Selector specifying which fields to include in a partial response.
1830
+ # @param [String] quota_user
1831
+ # Available to use for quota purposes for server-side applications. Can be any
1832
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1833
+ # @param [Google::Apis::RequestOptions] options
1834
+ # Request-specific options
1835
+ #
1836
+ # @yield [result, err] Result & error if block supplied
1837
+ # @yieldparam result [Google::Apis::ClassroomV1::StudentSubmission] parsed result object
1838
+ # @yieldparam err [StandardError] error object if request failed
1839
+ #
1840
+ # @return [Google::Apis::ClassroomV1::StudentSubmission]
1841
+ #
1842
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1843
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1844
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1845
+ def modify_student_submission_attachments(course_id, course_work_id, id, modify_attachments_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
1124
1846
  command = make_simple_command(:post, 'v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:modifyAttachments', options)
1125
1847
  command.request_representation = Google::Apis::ClassroomV1::ModifyAttachmentsRequest::Representation
1126
1848
  command.request_object = modify_attachments_request_object
@@ -1464,13 +2186,70 @@ module Google
1464
2186
  execute_or_queue_command(command, &block)
1465
2187
  end
1466
2188
 
1467
- # Returns a list of course work material that the requester is permitted to view.
1468
- # Course students may only view `PUBLISHED` course work material. Course
1469
- # teachers and domain administrators may view all course work material. This
1470
- # method returns the following error codes: * `PERMISSION_DENIED` if the
1471
- # requesting user is not permitted to access the requested course or for access
1472
- # errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the
1473
- # requested course does not exist.
2189
+ # Gets metadata for Classroom add-ons in the context of a specific post. To
2190
+ # maintain the integrity of its own data and permissions model, an add-on should
2191
+ # call this to validate query parameters and the requesting user's role whenever
2192
+ # the add-on is opened in an [iframe](https://developers.google.com/classroom/
2193
+ # add-ons/get-started/iframes/iframes-overview). This method returns the
2194
+ # following error codes: * `PERMISSION_DENIED` for access errors. * `
2195
+ # INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the
2196
+ # identified resources does not exist.
2197
+ # @param [String] course_id
2198
+ # Required. Identifier of the course.
2199
+ # @param [String] item_id
2200
+ # Identifier of the announcement, courseWork, or courseWorkMaterial under which
2201
+ # the attachment is attached. This field is required, but is not marked as such
2202
+ # while we are migrating from post_id.
2203
+ # @param [String] add_on_token
2204
+ # Optional. Token that authorizes the request. The token is passed as a query
2205
+ # parameter when the user is redirected from Classroom to the add-on's URL. The
2206
+ # authorization token is required when neither of the following is true: * The
2207
+ # add-on has attachments on the post. * The developer project issuing the
2208
+ # request is the same project that created the post.
2209
+ # @param [String] attachment_id
2210
+ # Optional. The identifier of the attachment. This field is required for student
2211
+ # users and optional for teacher users. If not provided in the student case, an
2212
+ # error is returned.
2213
+ # @param [String] post_id
2214
+ # Optional. Deprecated, use item_id instead.
2215
+ # @param [String] fields
2216
+ # Selector specifying which fields to include in a partial response.
2217
+ # @param [String] quota_user
2218
+ # Available to use for quota purposes for server-side applications. Can be any
2219
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2220
+ # @param [Google::Apis::RequestOptions] options
2221
+ # Request-specific options
2222
+ #
2223
+ # @yield [result, err] Result & error if block supplied
2224
+ # @yieldparam result [Google::Apis::ClassroomV1::AddOnContext] parsed result object
2225
+ # @yieldparam err [StandardError] error object if request failed
2226
+ #
2227
+ # @return [Google::Apis::ClassroomV1::AddOnContext]
2228
+ #
2229
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2230
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2231
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2232
+ def get_course_course_work_material_add_on_context(course_id, item_id, add_on_token: nil, attachment_id: nil, post_id: nil, fields: nil, quota_user: nil, options: nil, &block)
2233
+ command = make_simple_command(:get, 'v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnContext', options)
2234
+ command.response_representation = Google::Apis::ClassroomV1::AddOnContext::Representation
2235
+ command.response_class = Google::Apis::ClassroomV1::AddOnContext
2236
+ command.params['courseId'] = course_id unless course_id.nil?
2237
+ command.params['itemId'] = item_id unless item_id.nil?
2238
+ command.query['addOnToken'] = add_on_token unless add_on_token.nil?
2239
+ command.query['attachmentId'] = attachment_id unless attachment_id.nil?
2240
+ command.query['postId'] = post_id unless post_id.nil?
2241
+ command.query['fields'] = fields unless fields.nil?
2242
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2243
+ execute_or_queue_command(command, &block)
2244
+ end
2245
+
2246
+ # Returns a list of course work material that the requester is permitted to view.
2247
+ # Course students may only view `PUBLISHED` course work material. Course
2248
+ # teachers and domain administrators may view all course work material. This
2249
+ # method returns the following error codes: * `PERMISSION_DENIED` if the
2250
+ # requesting user is not permitted to access the requested course or for access
2251
+ # errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the
2252
+ # requested course does not exist.
1474
2253
  # @param [String] course_id
1475
2254
  # Identifier of the course. This identifier can be either the Classroom-assigned
1476
2255
  # identifier or an alias.
@@ -1583,6 +2362,671 @@ module Google
1583
2362
  execute_or_queue_command(command, &block)
1584
2363
  end
1585
2364
 
2365
+ # Creates an add-on attachment under a post. Requires the add-on to have
2366
+ # permission to create new attachments on the post. This method returns the
2367
+ # following error codes: * `PERMISSION_DENIED` for access errors. * `
2368
+ # INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the
2369
+ # identified resources does not exist.
2370
+ # @param [String] course_id
2371
+ # Required. Identifier of the course.
2372
+ # @param [String] item_id
2373
+ # Identifier of the announcement, courseWork, or courseWorkMaterial under which
2374
+ # to create the attachment. This field is required, but is not marked as such
2375
+ # while we are migrating from post_id.
2376
+ # @param [Google::Apis::ClassroomV1::AddOnAttachment] add_on_attachment_object
2377
+ # @param [String] add_on_token
2378
+ # Optional. Token that authorizes the request. The token is passed as a query
2379
+ # parameter when the user is redirected from Classroom to the add-on's URL. This
2380
+ # authorization token is required for in-Classroom attachment creation but
2381
+ # optional for partner-first attachment creation. Returns an error if not
2382
+ # provided for partner-first attachment creation and the developer projects that
2383
+ # created the attachment and its parent stream item do not match.
2384
+ # @param [String] post_id
2385
+ # Optional. Deprecated, use item_id instead.
2386
+ # @param [String] fields
2387
+ # Selector specifying which fields to include in a partial response.
2388
+ # @param [String] quota_user
2389
+ # Available to use for quota purposes for server-side applications. Can be any
2390
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2391
+ # @param [Google::Apis::RequestOptions] options
2392
+ # Request-specific options
2393
+ #
2394
+ # @yield [result, err] Result & error if block supplied
2395
+ # @yieldparam result [Google::Apis::ClassroomV1::AddOnAttachment] parsed result object
2396
+ # @yieldparam err [StandardError] error object if request failed
2397
+ #
2398
+ # @return [Google::Apis::ClassroomV1::AddOnAttachment]
2399
+ #
2400
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2401
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2402
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2403
+ def create_course_course_work_material_add_on_attachment(course_id, item_id, add_on_attachment_object = nil, add_on_token: nil, post_id: nil, fields: nil, quota_user: nil, options: nil, &block)
2404
+ command = make_simple_command(:post, 'v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments', options)
2405
+ command.request_representation = Google::Apis::ClassroomV1::AddOnAttachment::Representation
2406
+ command.request_object = add_on_attachment_object
2407
+ command.response_representation = Google::Apis::ClassroomV1::AddOnAttachment::Representation
2408
+ command.response_class = Google::Apis::ClassroomV1::AddOnAttachment
2409
+ command.params['courseId'] = course_id unless course_id.nil?
2410
+ command.params['itemId'] = item_id unless item_id.nil?
2411
+ command.query['addOnToken'] = add_on_token unless add_on_token.nil?
2412
+ command.query['postId'] = post_id unless post_id.nil?
2413
+ command.query['fields'] = fields unless fields.nil?
2414
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2415
+ execute_or_queue_command(command, &block)
2416
+ end
2417
+
2418
+ # Deletes an add-on attachment. Requires the add-on to have been the original
2419
+ # creator of the attachment. This method returns the following error codes: * `
2420
+ # PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is
2421
+ # malformed. * `NOT_FOUND` if one of the identified resources does not exist.
2422
+ # @param [String] course_id
2423
+ # Required. Identifier of the course.
2424
+ # @param [String] item_id
2425
+ # Identifier of the announcement, courseWork, or courseWorkMaterial under which
2426
+ # the attachment is attached. This field is required, but is not marked as such
2427
+ # while we are migrating from post_id.
2428
+ # @param [String] attachment_id
2429
+ # Required. Identifier of the attachment.
2430
+ # @param [String] post_id
2431
+ # Optional. Deprecated, use item_id instead.
2432
+ # @param [String] fields
2433
+ # Selector specifying which fields to include in a partial response.
2434
+ # @param [String] quota_user
2435
+ # Available to use for quota purposes for server-side applications. Can be any
2436
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2437
+ # @param [Google::Apis::RequestOptions] options
2438
+ # Request-specific options
2439
+ #
2440
+ # @yield [result, err] Result & error if block supplied
2441
+ # @yieldparam result [Google::Apis::ClassroomV1::Empty] parsed result object
2442
+ # @yieldparam err [StandardError] error object if request failed
2443
+ #
2444
+ # @return [Google::Apis::ClassroomV1::Empty]
2445
+ #
2446
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2447
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2448
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2449
+ def delete_course_course_work_material_add_on_attachment(course_id, item_id, attachment_id, post_id: nil, fields: nil, quota_user: nil, options: nil, &block)
2450
+ command = make_simple_command(:delete, 'v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}', options)
2451
+ command.response_representation = Google::Apis::ClassroomV1::Empty::Representation
2452
+ command.response_class = Google::Apis::ClassroomV1::Empty
2453
+ command.params['courseId'] = course_id unless course_id.nil?
2454
+ command.params['itemId'] = item_id unless item_id.nil?
2455
+ command.params['attachmentId'] = attachment_id unless attachment_id.nil?
2456
+ command.query['postId'] = post_id unless post_id.nil?
2457
+ command.query['fields'] = fields unless fields.nil?
2458
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2459
+ execute_or_queue_command(command, &block)
2460
+ end
2461
+
2462
+ # Returns an add-on attachment. Requires the add-on requesting the attachment to
2463
+ # be the original creator of the attachment. This method returns the following
2464
+ # error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if
2465
+ # the request is malformed. * `NOT_FOUND` if one of the identified resources
2466
+ # does not exist.
2467
+ # @param [String] course_id
2468
+ # Required. Identifier of the course.
2469
+ # @param [String] item_id
2470
+ # Identifier of the announcement, courseWork, or courseWorkMaterial under which
2471
+ # the attachment is attached. This field is required, but is not marked as such
2472
+ # while we are migrating from post_id.
2473
+ # @param [String] attachment_id
2474
+ # Required. Identifier of the attachment.
2475
+ # @param [String] post_id
2476
+ # Optional. Deprecated, use item_id instead.
2477
+ # @param [String] fields
2478
+ # Selector specifying which fields to include in a partial response.
2479
+ # @param [String] quota_user
2480
+ # Available to use for quota purposes for server-side applications. Can be any
2481
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2482
+ # @param [Google::Apis::RequestOptions] options
2483
+ # Request-specific options
2484
+ #
2485
+ # @yield [result, err] Result & error if block supplied
2486
+ # @yieldparam result [Google::Apis::ClassroomV1::AddOnAttachment] parsed result object
2487
+ # @yieldparam err [StandardError] error object if request failed
2488
+ #
2489
+ # @return [Google::Apis::ClassroomV1::AddOnAttachment]
2490
+ #
2491
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2492
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2493
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2494
+ def get_course_course_work_material_add_on_attachment(course_id, item_id, attachment_id, post_id: nil, fields: nil, quota_user: nil, options: nil, &block)
2495
+ command = make_simple_command(:get, 'v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}', options)
2496
+ command.response_representation = Google::Apis::ClassroomV1::AddOnAttachment::Representation
2497
+ command.response_class = Google::Apis::ClassroomV1::AddOnAttachment
2498
+ command.params['courseId'] = course_id unless course_id.nil?
2499
+ command.params['itemId'] = item_id unless item_id.nil?
2500
+ command.params['attachmentId'] = attachment_id unless attachment_id.nil?
2501
+ command.query['postId'] = post_id unless post_id.nil?
2502
+ command.query['fields'] = fields unless fields.nil?
2503
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2504
+ execute_or_queue_command(command, &block)
2505
+ end
2506
+
2507
+ # Returns all attachments created by an add-on under the post. Requires the add-
2508
+ # on to have active attachments on the post or have permission to create new
2509
+ # attachments on the post. This method returns the following error codes: * `
2510
+ # PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is
2511
+ # malformed. * `NOT_FOUND` if one of the identified resources does not exist.
2512
+ # @param [String] course_id
2513
+ # Required. Identifier of the course.
2514
+ # @param [String] item_id
2515
+ # Identifier of the announcement, courseWork, or courseWorkMaterial whose
2516
+ # attachments should be enumerated. This field is required, but is not marked as
2517
+ # such while we are migrating from post_id.
2518
+ # @param [Fixnum] page_size
2519
+ # The maximum number of attachments to return. The service may return fewer than
2520
+ # this value. If unspecified, at most 20 attachments will be returned. The
2521
+ # maximum value is 20; values above 20 will be coerced to 20.
2522
+ # @param [String] page_token
2523
+ # A page token, received from a previous `ListAddOnAttachments` call. Provide
2524
+ # this to retrieve the subsequent page. When paginating, all other parameters
2525
+ # provided to `ListAddOnAttachments` must match the call that provided the page
2526
+ # token.
2527
+ # @param [String] post_id
2528
+ # Optional. Identifier of the post under the course whose attachments to
2529
+ # enumerate. Deprecated, use item_id instead.
2530
+ # @param [String] fields
2531
+ # Selector specifying which fields to include in a partial response.
2532
+ # @param [String] quota_user
2533
+ # Available to use for quota purposes for server-side applications. Can be any
2534
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2535
+ # @param [Google::Apis::RequestOptions] options
2536
+ # Request-specific options
2537
+ #
2538
+ # @yield [result, err] Result & error if block supplied
2539
+ # @yieldparam result [Google::Apis::ClassroomV1::ListAddOnAttachmentsResponse] parsed result object
2540
+ # @yieldparam err [StandardError] error object if request failed
2541
+ #
2542
+ # @return [Google::Apis::ClassroomV1::ListAddOnAttachmentsResponse]
2543
+ #
2544
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2545
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2546
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2547
+ def list_course_course_work_material_add_on_attachments(course_id, item_id, page_size: nil, page_token: nil, post_id: nil, fields: nil, quota_user: nil, options: nil, &block)
2548
+ command = make_simple_command(:get, 'v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments', options)
2549
+ command.response_representation = Google::Apis::ClassroomV1::ListAddOnAttachmentsResponse::Representation
2550
+ command.response_class = Google::Apis::ClassroomV1::ListAddOnAttachmentsResponse
2551
+ command.params['courseId'] = course_id unless course_id.nil?
2552
+ command.params['itemId'] = item_id unless item_id.nil?
2553
+ command.query['pageSize'] = page_size unless page_size.nil?
2554
+ command.query['pageToken'] = page_token unless page_token.nil?
2555
+ command.query['postId'] = post_id unless post_id.nil?
2556
+ command.query['fields'] = fields unless fields.nil?
2557
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2558
+ execute_or_queue_command(command, &block)
2559
+ end
2560
+
2561
+ # Updates an add-on attachment. Requires the add-on to have been the original
2562
+ # creator of the attachment. This method returns the following error codes: * `
2563
+ # PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is
2564
+ # malformed. * `NOT_FOUND` if one of the identified resources does not exist.
2565
+ # @param [String] course_id
2566
+ # Required. Identifier of the course.
2567
+ # @param [String] item_id
2568
+ # Identifier of the post under which the attachment is attached.
2569
+ # @param [String] attachment_id
2570
+ # Required. Identifier of the attachment.
2571
+ # @param [Google::Apis::ClassroomV1::AddOnAttachment] add_on_attachment_object
2572
+ # @param [String] post_id
2573
+ # Required. Identifier of the post under which the attachment is attached.
2574
+ # @param [String] update_mask
2575
+ # Required. Mask that identifies which fields on the attachment to update. The
2576
+ # update fails if invalid fields are specified. If a field supports empty values,
2577
+ # it can be cleared by specifying it in the update mask and not in the `
2578
+ # AddOnAttachment` object. If a field that does not support empty values is
2579
+ # included in the update mask and not set in the `AddOnAttachment` object, an `
2580
+ # INVALID_ARGUMENT` error is returned. The following fields may be specified by
2581
+ # teachers: * `title` * `teacher_view_uri` * `student_view_uri` * `
2582
+ # student_work_review_uri` * `due_date` * `due_time` * `max_points`
2583
+ # @param [String] fields
2584
+ # Selector specifying which fields to include in a partial response.
2585
+ # @param [String] quota_user
2586
+ # Available to use for quota purposes for server-side applications. Can be any
2587
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2588
+ # @param [Google::Apis::RequestOptions] options
2589
+ # Request-specific options
2590
+ #
2591
+ # @yield [result, err] Result & error if block supplied
2592
+ # @yieldparam result [Google::Apis::ClassroomV1::AddOnAttachment] parsed result object
2593
+ # @yieldparam err [StandardError] error object if request failed
2594
+ #
2595
+ # @return [Google::Apis::ClassroomV1::AddOnAttachment]
2596
+ #
2597
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2598
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2599
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2600
+ def patch_course_course_work_material_add_on_attachment(course_id, item_id, attachment_id, add_on_attachment_object = nil, post_id: nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
2601
+ command = make_simple_command(:patch, 'v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}', options)
2602
+ command.request_representation = Google::Apis::ClassroomV1::AddOnAttachment::Representation
2603
+ command.request_object = add_on_attachment_object
2604
+ command.response_representation = Google::Apis::ClassroomV1::AddOnAttachment::Representation
2605
+ command.response_class = Google::Apis::ClassroomV1::AddOnAttachment
2606
+ command.params['courseId'] = course_id unless course_id.nil?
2607
+ command.params['itemId'] = item_id unless item_id.nil?
2608
+ command.params['attachmentId'] = attachment_id unless attachment_id.nil?
2609
+ command.query['postId'] = post_id unless post_id.nil?
2610
+ command.query['updateMask'] = update_mask unless update_mask.nil?
2611
+ command.query['fields'] = fields unless fields.nil?
2612
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2613
+ execute_or_queue_command(command, &block)
2614
+ end
2615
+
2616
+ # Gets metadata for Classroom add-ons in the context of a specific post. To
2617
+ # maintain the integrity of its own data and permissions model, an add-on should
2618
+ # call this to validate query parameters and the requesting user's role whenever
2619
+ # the add-on is opened in an [iframe](https://developers.google.com/classroom/
2620
+ # add-ons/get-started/iframes/iframes-overview). This method returns the
2621
+ # following error codes: * `PERMISSION_DENIED` for access errors. * `
2622
+ # INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the
2623
+ # identified resources does not exist.
2624
+ # @param [String] course_id
2625
+ # Required. Identifier of the course.
2626
+ # @param [String] post_id
2627
+ # Optional. Deprecated, use item_id instead.
2628
+ # @param [String] add_on_token
2629
+ # Optional. Token that authorizes the request. The token is passed as a query
2630
+ # parameter when the user is redirected from Classroom to the add-on's URL. The
2631
+ # authorization token is required when neither of the following is true: * The
2632
+ # add-on has attachments on the post. * The developer project issuing the
2633
+ # request is the same project that created the post.
2634
+ # @param [String] attachment_id
2635
+ # Optional. The identifier of the attachment. This field is required for student
2636
+ # users and optional for teacher users. If not provided in the student case, an
2637
+ # error is returned.
2638
+ # @param [String] item_id
2639
+ # Identifier of the announcement, courseWork, or courseWorkMaterial under which
2640
+ # the attachment is attached. This field is required, but is not marked as such
2641
+ # while we are migrating from post_id.
2642
+ # @param [String] fields
2643
+ # Selector specifying which fields to include in a partial response.
2644
+ # @param [String] quota_user
2645
+ # Available to use for quota purposes for server-side applications. Can be any
2646
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2647
+ # @param [Google::Apis::RequestOptions] options
2648
+ # Request-specific options
2649
+ #
2650
+ # @yield [result, err] Result & error if block supplied
2651
+ # @yieldparam result [Google::Apis::ClassroomV1::AddOnContext] parsed result object
2652
+ # @yieldparam err [StandardError] error object if request failed
2653
+ #
2654
+ # @return [Google::Apis::ClassroomV1::AddOnContext]
2655
+ #
2656
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2657
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2658
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2659
+ def get_course_post_add_on_context(course_id, post_id, add_on_token: nil, attachment_id: nil, item_id: nil, fields: nil, quota_user: nil, options: nil, &block)
2660
+ command = make_simple_command(:get, 'v1/courses/{courseId}/posts/{postId}/addOnContext', options)
2661
+ command.response_representation = Google::Apis::ClassroomV1::AddOnContext::Representation
2662
+ command.response_class = Google::Apis::ClassroomV1::AddOnContext
2663
+ command.params['courseId'] = course_id unless course_id.nil?
2664
+ command.params['postId'] = post_id unless post_id.nil?
2665
+ command.query['addOnToken'] = add_on_token unless add_on_token.nil?
2666
+ command.query['attachmentId'] = attachment_id unless attachment_id.nil?
2667
+ command.query['itemId'] = item_id unless item_id.nil?
2668
+ command.query['fields'] = fields unless fields.nil?
2669
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2670
+ execute_or_queue_command(command, &block)
2671
+ end
2672
+
2673
+ # Creates an add-on attachment under a post. Requires the add-on to have
2674
+ # permission to create new attachments on the post. This method returns the
2675
+ # following error codes: * `PERMISSION_DENIED` for access errors. * `
2676
+ # INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the
2677
+ # identified resources does not exist.
2678
+ # @param [String] course_id
2679
+ # Required. Identifier of the course.
2680
+ # @param [String] post_id
2681
+ # Optional. Deprecated, use item_id instead.
2682
+ # @param [Google::Apis::ClassroomV1::AddOnAttachment] add_on_attachment_object
2683
+ # @param [String] add_on_token
2684
+ # Optional. Token that authorizes the request. The token is passed as a query
2685
+ # parameter when the user is redirected from Classroom to the add-on's URL. This
2686
+ # authorization token is required for in-Classroom attachment creation but
2687
+ # optional for partner-first attachment creation. Returns an error if not
2688
+ # provided for partner-first attachment creation and the developer projects that
2689
+ # created the attachment and its parent stream item do not match.
2690
+ # @param [String] item_id
2691
+ # Identifier of the announcement, courseWork, or courseWorkMaterial under which
2692
+ # to create the attachment. This field is required, but is not marked as such
2693
+ # while we are migrating from post_id.
2694
+ # @param [String] fields
2695
+ # Selector specifying which fields to include in a partial response.
2696
+ # @param [String] quota_user
2697
+ # Available to use for quota purposes for server-side applications. Can be any
2698
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2699
+ # @param [Google::Apis::RequestOptions] options
2700
+ # Request-specific options
2701
+ #
2702
+ # @yield [result, err] Result & error if block supplied
2703
+ # @yieldparam result [Google::Apis::ClassroomV1::AddOnAttachment] parsed result object
2704
+ # @yieldparam err [StandardError] error object if request failed
2705
+ #
2706
+ # @return [Google::Apis::ClassroomV1::AddOnAttachment]
2707
+ #
2708
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2709
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2710
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2711
+ def create_course_post_add_on_attachment(course_id, post_id, add_on_attachment_object = nil, add_on_token: nil, item_id: nil, fields: nil, quota_user: nil, options: nil, &block)
2712
+ command = make_simple_command(:post, 'v1/courses/{courseId}/posts/{postId}/addOnAttachments', options)
2713
+ command.request_representation = Google::Apis::ClassroomV1::AddOnAttachment::Representation
2714
+ command.request_object = add_on_attachment_object
2715
+ command.response_representation = Google::Apis::ClassroomV1::AddOnAttachment::Representation
2716
+ command.response_class = Google::Apis::ClassroomV1::AddOnAttachment
2717
+ command.params['courseId'] = course_id unless course_id.nil?
2718
+ command.params['postId'] = post_id unless post_id.nil?
2719
+ command.query['addOnToken'] = add_on_token unless add_on_token.nil?
2720
+ command.query['itemId'] = item_id unless item_id.nil?
2721
+ command.query['fields'] = fields unless fields.nil?
2722
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2723
+ execute_or_queue_command(command, &block)
2724
+ end
2725
+
2726
+ # Deletes an add-on attachment. Requires the add-on to have been the original
2727
+ # creator of the attachment. This method returns the following error codes: * `
2728
+ # PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is
2729
+ # malformed. * `NOT_FOUND` if one of the identified resources does not exist.
2730
+ # @param [String] course_id
2731
+ # Required. Identifier of the course.
2732
+ # @param [String] post_id
2733
+ # Optional. Deprecated, use item_id instead.
2734
+ # @param [String] attachment_id
2735
+ # Required. Identifier of the attachment.
2736
+ # @param [String] item_id
2737
+ # Identifier of the announcement, courseWork, or courseWorkMaterial under which
2738
+ # the attachment is attached. This field is required, but is not marked as such
2739
+ # while we are migrating from post_id.
2740
+ # @param [String] fields
2741
+ # Selector specifying which fields to include in a partial response.
2742
+ # @param [String] quota_user
2743
+ # Available to use for quota purposes for server-side applications. Can be any
2744
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2745
+ # @param [Google::Apis::RequestOptions] options
2746
+ # Request-specific options
2747
+ #
2748
+ # @yield [result, err] Result & error if block supplied
2749
+ # @yieldparam result [Google::Apis::ClassroomV1::Empty] parsed result object
2750
+ # @yieldparam err [StandardError] error object if request failed
2751
+ #
2752
+ # @return [Google::Apis::ClassroomV1::Empty]
2753
+ #
2754
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2755
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2756
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2757
+ def delete_course_post_add_on_attachment(course_id, post_id, attachment_id, item_id: nil, fields: nil, quota_user: nil, options: nil, &block)
2758
+ command = make_simple_command(:delete, 'v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}', options)
2759
+ command.response_representation = Google::Apis::ClassroomV1::Empty::Representation
2760
+ command.response_class = Google::Apis::ClassroomV1::Empty
2761
+ command.params['courseId'] = course_id unless course_id.nil?
2762
+ command.params['postId'] = post_id unless post_id.nil?
2763
+ command.params['attachmentId'] = attachment_id unless attachment_id.nil?
2764
+ command.query['itemId'] = item_id unless item_id.nil?
2765
+ command.query['fields'] = fields unless fields.nil?
2766
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2767
+ execute_or_queue_command(command, &block)
2768
+ end
2769
+
2770
+ # Returns an add-on attachment. Requires the add-on requesting the attachment to
2771
+ # be the original creator of the attachment. This method returns the following
2772
+ # error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if
2773
+ # the request is malformed. * `NOT_FOUND` if one of the identified resources
2774
+ # does not exist.
2775
+ # @param [String] course_id
2776
+ # Required. Identifier of the course.
2777
+ # @param [String] post_id
2778
+ # Optional. Deprecated, use item_id instead.
2779
+ # @param [String] attachment_id
2780
+ # Required. Identifier of the attachment.
2781
+ # @param [String] item_id
2782
+ # Identifier of the announcement, courseWork, or courseWorkMaterial under which
2783
+ # the attachment is attached. This field is required, but is not marked as such
2784
+ # while we are migrating from post_id.
2785
+ # @param [String] fields
2786
+ # Selector specifying which fields to include in a partial response.
2787
+ # @param [String] quota_user
2788
+ # Available to use for quota purposes for server-side applications. Can be any
2789
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2790
+ # @param [Google::Apis::RequestOptions] options
2791
+ # Request-specific options
2792
+ #
2793
+ # @yield [result, err] Result & error if block supplied
2794
+ # @yieldparam result [Google::Apis::ClassroomV1::AddOnAttachment] parsed result object
2795
+ # @yieldparam err [StandardError] error object if request failed
2796
+ #
2797
+ # @return [Google::Apis::ClassroomV1::AddOnAttachment]
2798
+ #
2799
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2800
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2801
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2802
+ def get_course_post_add_on_attachment(course_id, post_id, attachment_id, item_id: nil, fields: nil, quota_user: nil, options: nil, &block)
2803
+ command = make_simple_command(:get, 'v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}', options)
2804
+ command.response_representation = Google::Apis::ClassroomV1::AddOnAttachment::Representation
2805
+ command.response_class = Google::Apis::ClassroomV1::AddOnAttachment
2806
+ command.params['courseId'] = course_id unless course_id.nil?
2807
+ command.params['postId'] = post_id unless post_id.nil?
2808
+ command.params['attachmentId'] = attachment_id unless attachment_id.nil?
2809
+ command.query['itemId'] = item_id unless item_id.nil?
2810
+ command.query['fields'] = fields unless fields.nil?
2811
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2812
+ execute_or_queue_command(command, &block)
2813
+ end
2814
+
2815
+ # Returns all attachments created by an add-on under the post. Requires the add-
2816
+ # on to have active attachments on the post or have permission to create new
2817
+ # attachments on the post. This method returns the following error codes: * `
2818
+ # PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is
2819
+ # malformed. * `NOT_FOUND` if one of the identified resources does not exist.
2820
+ # @param [String] course_id
2821
+ # Required. Identifier of the course.
2822
+ # @param [String] post_id
2823
+ # Optional. Identifier of the post under the course whose attachments to
2824
+ # enumerate. Deprecated, use item_id instead.
2825
+ # @param [String] item_id
2826
+ # Identifier of the announcement, courseWork, or courseWorkMaterial whose
2827
+ # attachments should be enumerated. This field is required, but is not marked as
2828
+ # such while we are migrating from post_id.
2829
+ # @param [Fixnum] page_size
2830
+ # The maximum number of attachments to return. The service may return fewer than
2831
+ # this value. If unspecified, at most 20 attachments will be returned. The
2832
+ # maximum value is 20; values above 20 will be coerced to 20.
2833
+ # @param [String] page_token
2834
+ # A page token, received from a previous `ListAddOnAttachments` call. Provide
2835
+ # this to retrieve the subsequent page. When paginating, all other parameters
2836
+ # provided to `ListAddOnAttachments` must match the call that provided the page
2837
+ # token.
2838
+ # @param [String] fields
2839
+ # Selector specifying which fields to include in a partial response.
2840
+ # @param [String] quota_user
2841
+ # Available to use for quota purposes for server-side applications. Can be any
2842
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2843
+ # @param [Google::Apis::RequestOptions] options
2844
+ # Request-specific options
2845
+ #
2846
+ # @yield [result, err] Result & error if block supplied
2847
+ # @yieldparam result [Google::Apis::ClassroomV1::ListAddOnAttachmentsResponse] parsed result object
2848
+ # @yieldparam err [StandardError] error object if request failed
2849
+ #
2850
+ # @return [Google::Apis::ClassroomV1::ListAddOnAttachmentsResponse]
2851
+ #
2852
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2853
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2854
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2855
+ def list_course_post_add_on_attachments(course_id, post_id, item_id: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
2856
+ command = make_simple_command(:get, 'v1/courses/{courseId}/posts/{postId}/addOnAttachments', options)
2857
+ command.response_representation = Google::Apis::ClassroomV1::ListAddOnAttachmentsResponse::Representation
2858
+ command.response_class = Google::Apis::ClassroomV1::ListAddOnAttachmentsResponse
2859
+ command.params['courseId'] = course_id unless course_id.nil?
2860
+ command.params['postId'] = post_id unless post_id.nil?
2861
+ command.query['itemId'] = item_id unless item_id.nil?
2862
+ command.query['pageSize'] = page_size unless page_size.nil?
2863
+ command.query['pageToken'] = page_token unless page_token.nil?
2864
+ command.query['fields'] = fields unless fields.nil?
2865
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2866
+ execute_or_queue_command(command, &block)
2867
+ end
2868
+
2869
+ # Updates an add-on attachment. Requires the add-on to have been the original
2870
+ # creator of the attachment. This method returns the following error codes: * `
2871
+ # PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is
2872
+ # malformed. * `NOT_FOUND` if one of the identified resources does not exist.
2873
+ # @param [String] course_id
2874
+ # Required. Identifier of the course.
2875
+ # @param [String] post_id
2876
+ # Required. Identifier of the post under which the attachment is attached.
2877
+ # @param [String] attachment_id
2878
+ # Required. Identifier of the attachment.
2879
+ # @param [Google::Apis::ClassroomV1::AddOnAttachment] add_on_attachment_object
2880
+ # @param [String] item_id
2881
+ # Identifier of the post under which the attachment is attached.
2882
+ # @param [String] update_mask
2883
+ # Required. Mask that identifies which fields on the attachment to update. The
2884
+ # update fails if invalid fields are specified. If a field supports empty values,
2885
+ # it can be cleared by specifying it in the update mask and not in the `
2886
+ # AddOnAttachment` object. If a field that does not support empty values is
2887
+ # included in the update mask and not set in the `AddOnAttachment` object, an `
2888
+ # INVALID_ARGUMENT` error is returned. The following fields may be specified by
2889
+ # teachers: * `title` * `teacher_view_uri` * `student_view_uri` * `
2890
+ # student_work_review_uri` * `due_date` * `due_time` * `max_points`
2891
+ # @param [String] fields
2892
+ # Selector specifying which fields to include in a partial response.
2893
+ # @param [String] quota_user
2894
+ # Available to use for quota purposes for server-side applications. Can be any
2895
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2896
+ # @param [Google::Apis::RequestOptions] options
2897
+ # Request-specific options
2898
+ #
2899
+ # @yield [result, err] Result & error if block supplied
2900
+ # @yieldparam result [Google::Apis::ClassroomV1::AddOnAttachment] parsed result object
2901
+ # @yieldparam err [StandardError] error object if request failed
2902
+ #
2903
+ # @return [Google::Apis::ClassroomV1::AddOnAttachment]
2904
+ #
2905
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2906
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2907
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2908
+ def patch_course_post_add_on_attachment(course_id, post_id, attachment_id, add_on_attachment_object = nil, item_id: nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
2909
+ command = make_simple_command(:patch, 'v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}', options)
2910
+ command.request_representation = Google::Apis::ClassroomV1::AddOnAttachment::Representation
2911
+ command.request_object = add_on_attachment_object
2912
+ command.response_representation = Google::Apis::ClassroomV1::AddOnAttachment::Representation
2913
+ command.response_class = Google::Apis::ClassroomV1::AddOnAttachment
2914
+ command.params['courseId'] = course_id unless course_id.nil?
2915
+ command.params['postId'] = post_id unless post_id.nil?
2916
+ command.params['attachmentId'] = attachment_id unless attachment_id.nil?
2917
+ command.query['itemId'] = item_id unless item_id.nil?
2918
+ command.query['updateMask'] = update_mask unless update_mask.nil?
2919
+ command.query['fields'] = fields unless fields.nil?
2920
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2921
+ execute_or_queue_command(command, &block)
2922
+ end
2923
+
2924
+ # Returns a student submission for an add-on attachment. This method returns the
2925
+ # following error codes: * `PERMISSION_DENIED` for access errors. * `
2926
+ # INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if one of the
2927
+ # identified resources does not exist.
2928
+ # @param [String] course_id
2929
+ # Required. Identifier of the course.
2930
+ # @param [String] post_id
2931
+ # Optional. Deprecated, use item_id instead.
2932
+ # @param [String] attachment_id
2933
+ # Required. Identifier of the attachment.
2934
+ # @param [String] submission_id
2935
+ # Required. Identifier of the student’s submission.
2936
+ # @param [String] item_id
2937
+ # Identifier of the announcement, courseWork, or courseWorkMaterial under which
2938
+ # the attachment is attached. This field is required, but is not marked as such
2939
+ # while we are migrating from post_id.
2940
+ # @param [String] fields
2941
+ # Selector specifying which fields to include in a partial response.
2942
+ # @param [String] quota_user
2943
+ # Available to use for quota purposes for server-side applications. Can be any
2944
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
2945
+ # @param [Google::Apis::RequestOptions] options
2946
+ # Request-specific options
2947
+ #
2948
+ # @yield [result, err] Result & error if block supplied
2949
+ # @yieldparam result [Google::Apis::ClassroomV1::AddOnAttachmentStudentSubmission] parsed result object
2950
+ # @yieldparam err [StandardError] error object if request failed
2951
+ #
2952
+ # @return [Google::Apis::ClassroomV1::AddOnAttachmentStudentSubmission]
2953
+ #
2954
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
2955
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
2956
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
2957
+ def get_course_post_add_on_attachment_student_submission(course_id, post_id, attachment_id, submission_id, item_id: nil, fields: nil, quota_user: nil, options: nil, &block)
2958
+ command = make_simple_command(:get, 'v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}', options)
2959
+ command.response_representation = Google::Apis::ClassroomV1::AddOnAttachmentStudentSubmission::Representation
2960
+ command.response_class = Google::Apis::ClassroomV1::AddOnAttachmentStudentSubmission
2961
+ command.params['courseId'] = course_id unless course_id.nil?
2962
+ command.params['postId'] = post_id unless post_id.nil?
2963
+ command.params['attachmentId'] = attachment_id unless attachment_id.nil?
2964
+ command.params['submissionId'] = submission_id unless submission_id.nil?
2965
+ command.query['itemId'] = item_id unless item_id.nil?
2966
+ command.query['fields'] = fields unless fields.nil?
2967
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
2968
+ execute_or_queue_command(command, &block)
2969
+ end
2970
+
2971
+ # Updates data associated with an add-on attachment submission. Requires the add-
2972
+ # on to have been the original creator of the attachment and the attachment to
2973
+ # have a positive `max_points` value set. This method returns the following
2974
+ # error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if
2975
+ # the request is malformed. * `NOT_FOUND` if one of the identified resources
2976
+ # does not exist.
2977
+ # @param [String] course_id
2978
+ # Required. Identifier of the course.
2979
+ # @param [String] post_id
2980
+ # Optional. Deprecated, use item_id instead.
2981
+ # @param [String] attachment_id
2982
+ # Required. Identifier of the attachment.
2983
+ # @param [String] submission_id
2984
+ # Required. Identifier of the student's submission.
2985
+ # @param [Google::Apis::ClassroomV1::AddOnAttachmentStudentSubmission] add_on_attachment_student_submission_object
2986
+ # @param [String] item_id
2987
+ # Identifier of the announcement, courseWork, or courseWorkMaterial under which
2988
+ # the attachment is attached. This field is required, but is not marked as such
2989
+ # while we are migrating from post_id.
2990
+ # @param [String] update_mask
2991
+ # Required. Mask that identifies which fields on the attachment to update. The
2992
+ # update fails if invalid fields are specified. If a field supports empty values,
2993
+ # it can be cleared by specifying it in the update mask and not in the `
2994
+ # AddOnAttachmentStudentSubmission` object. The following fields may be
2995
+ # specified by teachers: * `points_earned`
2996
+ # @param [String] fields
2997
+ # Selector specifying which fields to include in a partial response.
2998
+ # @param [String] quota_user
2999
+ # Available to use for quota purposes for server-side applications. Can be any
3000
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
3001
+ # @param [Google::Apis::RequestOptions] options
3002
+ # Request-specific options
3003
+ #
3004
+ # @yield [result, err] Result & error if block supplied
3005
+ # @yieldparam result [Google::Apis::ClassroomV1::AddOnAttachmentStudentSubmission] parsed result object
3006
+ # @yieldparam err [StandardError] error object if request failed
3007
+ #
3008
+ # @return [Google::Apis::ClassroomV1::AddOnAttachmentStudentSubmission]
3009
+ #
3010
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
3011
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
3012
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
3013
+ def patch_course_post_add_on_attachment_student_submission(course_id, post_id, attachment_id, submission_id, add_on_attachment_student_submission_object = nil, item_id: nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
3014
+ command = make_simple_command(:patch, 'v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}', options)
3015
+ command.request_representation = Google::Apis::ClassroomV1::AddOnAttachmentStudentSubmission::Representation
3016
+ command.request_object = add_on_attachment_student_submission_object
3017
+ command.response_representation = Google::Apis::ClassroomV1::AddOnAttachmentStudentSubmission::Representation
3018
+ command.response_class = Google::Apis::ClassroomV1::AddOnAttachmentStudentSubmission
3019
+ command.params['courseId'] = course_id unless course_id.nil?
3020
+ command.params['postId'] = post_id unless post_id.nil?
3021
+ command.params['attachmentId'] = attachment_id unless attachment_id.nil?
3022
+ command.params['submissionId'] = submission_id unless submission_id.nil?
3023
+ command.query['itemId'] = item_id unless item_id.nil?
3024
+ command.query['updateMask'] = update_mask unless update_mask.nil?
3025
+ command.query['fields'] = fields unless fields.nil?
3026
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
3027
+ execute_or_queue_command(command, &block)
3028
+ end
3029
+
1586
3030
  # Adds a user as a student of a course. Domain administrators are permitted to [
1587
3031
  # directly add](https://developers.google.com/classroom/guides/manage-users)
1588
3032
  # users within their domain as students to courses within their domain. Students