虽然任何开发者都可以向 Google Classroom API 发出请求,但某些 Google Classroom 功能仅适用于特定用户。每项功能可能有不同的要求,例如需要拥有特定类型的 Google Workspace 教育版许可。
如需详细了解各个 Google Workspace 教育版许可级别的功能,请参阅版本对比页面。
[null,null,["最后更新时间 (UTC):2025-08-01。"],[],[],null,["# User eligibility\n\nWhile any developer can make requests to the Google Classroom API, some\nGoogle Classroom features are only available to certain users. Each feature\ncan have different requirements, such as having a certain Google Workspace for Education license type.\nFor a detailed breakdown of features at each Google Workspace for Education license level, see the\n[editions comparison page](//edu.google.com/intl/ALL_us/workspace-for-education/editions/compare-editions/).\n| **Key Term:** An **eligible** user has the **capability** to use a certain Classroom feature if they meet the feature requirements.\n| **Key Point:** Capability is determined separately for each user and can change over time. Capability eligibility for some features of the Classroom API might differ from the corresponding features in the Google Classroom app. For example, certain [license requirements](/workspace/classroom/rubrics/limitations#license-requirements) apply when creating, modifying, or deleting rubrics with the API.\n\nFeatures with eligibility requirements\n--------------------------------------\n\n\u003cbr /\u003e\n\nThe following Classroom API features are only available to eligible\nusers:\n\n- Creating and modifying [Classroom add-on](/workspace/classroom/add-ons) attachments.\n- Modifying [grading period settings](/workspace/classroom/grading-periods/manage-grading-periods#licensing_requirements).\n- Creating, modifying, and deleting [rubrics](/workspace/classroom/rubrics/limitations#license-requirements).\n\nDetermine user capabilities\n---------------------------\n\nRequests to Classroom API are made on behalf of individual users.\nTherefore, you should check whether a user has the appropriate capabilities\nbefore issuing API requests with eligibility requirements.\n| **Key Point:** Consider checking user capabilities proactively so you can tailor your product's appearance or behavior to match the Classroom features that they can access.\n\nTo determine whether a user has a particular capability, make an API request to\nthe [`checkUserCapability`](/workspace/classroom/reference/rest/v1/userProfiles/checkUserCapability) method. Include the appropriate [`Capability`](/workspace/classroom/reference/rest/v1/userProfiles/checkUserCapability#capability) type\nfor the Classroom feature you intend to use. Specify the\nappropriate `Capability` for each feature:\n\n| To see if the user... | `Capability` |\n|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------|\n| Can [create](/workspace/classroom/reference/rest/v1/courses.courseWork.addOnAttachments/create) or [modify](/workspace/classroom/reference/rest/v1/courses.courseWork.addOnAttachments/patch) a Classroom add-on attachment associated with the Google Cloud project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to make the request | `CREATE_ADD_ON_ATTACHMENT` |\n| Can [modify](/workspace/classroom/reference/rest/v1/courses/updateGradingPeriodSettings) grading period settings | `UPDATE_GRADING_PERIOD_SETTINGS` |\n| Can [create](/workspace/classroom/reference/rest/v1/courses.courseWork.rubrics/create), [modify](/workspace/classroom/reference/rest/v1/courses.courseWork.rubrics/patch), or [delete](/workspace/classroom/reference/rest/v1/courses.courseWork.rubrics/delete) a rubric | `CREATE_RUBRIC` |\n\nNext, check the `allowed` field in the response. If `allowed` is `true`, then\nthe user has access to the chosen `Capability`. You can then make API requests\nrelated the `Capability` on behalf of the user.\n| **Important:** Even when a user is eligible, it's still possible for API requests that depend on the eligibility to fail. Eligibility implies that a user can make use of a Classroom feature, not that a specific request will succeed."]]