Google Classroom add-ons are now generally available to developers! Please see the
add-ons documentation for more information.
Method: courses.courseWork.getAddOnContext
Stay organized with collections
Save and categorize content based on your preferences.
Gets metadata for Classroom add-ons in the context of a specific post.
To maintain the integrity of its own data and permissions model, an add-on should call this to validate query parameters and the requesting user's role whenever the add-on is opened in an iframe.
This method returns the following error codes:
PERMISSION_DENIED
for access errors.
INVALID_ARGUMENT
if the request is malformed.
NOT_FOUND
if one of the identified resources does not exist.
HTTP request
GET https://classroom.googleapis.com/v1/courses/{courseId}/courseWork/{itemId}/addOnContext
The URL uses gRPC Transcoding syntax.
Path parameters
Parameters |
courseId |
string
Required. Identifier of the course.
|
itemId |
string
Identifier of the Announcement , CourseWork , or CourseWorkMaterial under which the attachment is attached. This field is required, but is not marked as such while we are migrating from postId.
|
Query parameters
Parameters |
postId (deprecated) |
string
Optional. Deprecated, use itemId instead.
|
addOnToken |
string
Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. The authorization token is required when neither of the following is true:
- The add-on has attachments on the post.
- The developer project issuing the request is the same project that created the post.
|
attachmentId |
string
Optional. The identifier of the attachment. This field is required for all requests except when the user is in the Attachment Discovery iframe.
|
Request body
The request body must be empty.
Response body
If successful, the response body contains an instance of AddOnContext
.
Authorization scopes
Requires one of the following OAuth scopes:
https://www.googleapis.com/auth/classroom.addons.student
https://www.googleapis.com/auth/classroom.addons.teacher
For more information, see the Authorization guide.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-04-17 UTC.
[null,null,["Last updated 2025-04-17 UTC."],[],[],null,["# Method: courses.courseWork.getAddOnContext\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Query parameters](#body.QUERY_PARAMETERS)\n- [Request body](#body.request_body)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n\nGets metadata for Classroom add-ons in the context of a specific post.\n\nTo maintain the integrity of its own data and permissions model, an add-on should call this to validate query parameters and the requesting user's role whenever the add-on is opened in an [iframe](https://developers.google.com/workspace/classroom/add-ons/get-started/iframes/iframes-overview).\n\nThis method returns the following error codes:\n\n- `PERMISSION_DENIED` for [access errors](/workspace/classroom/reference/Access.Errors).\n- `INVALID_ARGUMENT` if the request is malformed.\n- `NOT_FOUND` if one of the identified resources does not exist.\n\n### HTTP request\n\n`GET https://classroom.googleapis.com/v1/courses/{courseId}/courseWork/{itemId}/addOnContext`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n| Parameters ||\n|------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `courseId` | `string` Required. Identifier of the course. |\n| `itemId` | `string` Identifier of the `Announcement`, `CourseWork`, or `CourseWorkMaterial` under which the attachment is attached. This field is required, but is not marked as such while we are migrating from postId. |\n\n### Query parameters\n\n| Parameters ||\n|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `postId` **(deprecated)** | `string` Optional. Deprecated, use `itemId` instead. |\n| `addOnToken` | `string` Optional. Token that authorizes the request. The token is passed as a query parameter when the user is redirected from Classroom to the add-on's URL. The authorization token is required when neither of the following is true: - The add-on has attachments on the post. - The developer project issuing the request is the same project that created the post. |\n| `attachmentId` | `string` Optional. The identifier of the attachment. This field is required for all requests except when the user is in the [Attachment Discovery iframe](https://developers.google.com/workspace/classroom/add-ons/get-started/iframes/attachment-discovery-iframe). |\n\n### Request body\n\nThe request body must be empty.\n\n### Response body\n\nIf successful, the response body contains an instance of [AddOnContext](/workspace/classroom/reference/rest/v1/AddOnContext).\n\n### Authorization scopes\n\nRequires one of the following OAuth scopes:\n\n- `https://www.googleapis.com/auth/classroom.addons.student`\n- `\n https://www.googleapis.com/auth/classroom.addons.teacher`\n\nFor more information, see the [Authorization guide](/workspace/guides/configure-oauth-consent)."]]