Google Classroom API . registrations

Instance Methods

create(body=None, x__xgafv=None)

Creates a `Registration`, causing Classroom to start sending notifications

delete(registrationId=*, x__xgafv=None)

Deletes a `Registration`, causing Classroom to stop sending notifications

Method Details

create(body=None, 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.
    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 `{}`.
  }