Creates a `Registration`, causing Classroom to start sending notifications
delete(registrationId, x__xgafv=None)
Deletes a `Registration`, causing Classroom to stop sending notifications
create(body, x__xgafv=None)
Creates a `Registration`, causing Classroom to start sending notifications
from the provided `feed` to the destination provided in `cloudPubSubTopic`.
Returns the created `Registration`. Currently, this will be the same as
the argument, but with server-assigned fields such as `expiry_time` and
`id` filled in.
Note that any value specified for the `expiry_time` or `id` fields will be
ignored.
While Classroom may validate the `cloudPubSubTopic` and return errors on a
best effort basis, it is the caller's responsibility to ensure that it
exists and that Classroom has permission to publish to it.
This method may return the following error codes:
* `PERMISSION_DENIED` if:
* the authenticated user does not have permission to receive
notifications from the requested field; or
* the credential provided does not include the appropriate scope for
the requested feed.
* another access error is encountered.
* `INVALID_ARGUMENT` if:
* no `cloudPubsubTopic` is specified, or the specified
`cloudPubsubTopic` is not valid; or
* no `feed` is specified, or the specified `feed` is not valid.
* `NOT_FOUND` if:
* the specified `feed` cannot be located, or the requesting user does
not have permission to determine whether or not it exists; or
* the specified `cloudPubsubTopic` cannot be located, or Classroom has
not been granted permission to publish to it.
Args:
body: object, The request body. (required)
The object takes the form of:
{ # An instruction to Classroom to send notifications from the `feed` to the
# provided destination.
"feed": { # A class of notifications that an application can register to receive. # Specification for the class of notifications that Classroom should deliver
# to the destination.
# For example: "all roster changes for a domain".
"feedType": "A String", # The type of feed.
"courseWorkChangesInfo": { # Information about a `Feed` with a `feed_type` of `COURSE_WORK_CHANGES`. # Information about a `Feed` with a `feed_type` of `COURSE_WORK_CHANGES`.
# This field must be specified if `feed_type` is `COURSE_WORK_CHANGES`.
"courseId": "A String", # The `course_id` of the course to subscribe to work changes for.
},
"courseRosterChangesInfo": { # Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`. # Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`.
# This field must be specified if `feed_type` is `COURSE_ROSTER_CHANGES`.
"courseId": "A String", # The `course_id` of the course to subscribe to roster changes for.
},
},
"registrationId": "A String", # A server-generated unique identifier for this `Registration`.
#
# Read-only.
"expiryTime": "A String", # The time until which the `Registration` is effective.
#
# This is a read-only field assigned by the server.
"cloudPubsubTopic": { # A reference to a Cloud Pub/Sub topic. # The Cloud Pub/Sub topic that notifications are to be sent to.
#
# To register for notifications, the owner of the topic must grant
# `classroom-notifications@system.gserviceaccount.com` the
# `projects.topics.publish` permission.
"topicName": "A String", # The `name` field of a Cloud Pub/Sub
# [Topic](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics#Topic).
},
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # An instruction to Classroom to send notifications from the `feed` to the
# provided destination.
"feed": { # A class of notifications that an application can register to receive. # Specification for the class of notifications that Classroom should deliver
# to the destination.
# For example: "all roster changes for a domain".
"feedType": "A String", # The type of feed.
"courseWorkChangesInfo": { # Information about a `Feed` with a `feed_type` of `COURSE_WORK_CHANGES`. # Information about a `Feed` with a `feed_type` of `COURSE_WORK_CHANGES`.
# This field must be specified if `feed_type` is `COURSE_WORK_CHANGES`.
"courseId": "A String", # The `course_id` of the course to subscribe to work changes for.
},
"courseRosterChangesInfo": { # Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`. # Information about a `Feed` with a `feed_type` of `COURSE_ROSTER_CHANGES`.
# This field must be specified if `feed_type` is `COURSE_ROSTER_CHANGES`.
"courseId": "A String", # The `course_id` of the course to subscribe to roster changes for.
},
},
"registrationId": "A String", # A server-generated unique identifier for this `Registration`.
#
# Read-only.
"expiryTime": "A String", # The time until which the `Registration` is effective.
#
# This is a read-only field assigned by the server.
"cloudPubsubTopic": { # A reference to a Cloud Pub/Sub topic. # The Cloud Pub/Sub topic that notifications are to be sent to.
#
# To register for notifications, the owner of the topic must grant
# `classroom-notifications@system.gserviceaccount.com` the
# `projects.topics.publish` permission.
"topicName": "A String", # The `name` field of a Cloud Pub/Sub
# [Topic](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics#Topic).
},
}
delete(registrationId, x__xgafv=None)
Deletes a `Registration`, causing Classroom to stop sending notifications
for that `Registration`.
Args:
registrationId: string, The `registration_id` of the `Registration` to be deleted. (required)
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # A generic empty message that you can re-use to avoid defining duplicated
# empty messages in your APIs. A typical example is to use it as the request
# or the response type of an API method. For instance:
#
# service Foo {
# rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
# }
#
# The JSON representation for `Empty` is empty JSON object `{}`.
}