google-api-python-client 2.134.0__py2.py3-none-any.whl → 2.136.0__py2.py3-none-any.whl

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.
Files changed (415) hide show
  1. {google_api_python_client-2.134.0.dist-info → google_api_python_client-2.136.0.dist-info}/METADATA +1 -1
  2. {google_api_python_client-2.134.0.dist-info → google_api_python_client-2.136.0.dist-info}/RECORD +415 -414
  3. googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json +1 -1
  4. googleapiclient/discovery_cache/documents/accessapproval.v1.json +1 -1
  5. googleapiclient/discovery_cache/documents/accesscontextmanager.v1.json +26 -10
  6. googleapiclient/discovery_cache/documents/acmedns.v1.json +1 -1
  7. googleapiclient/discovery_cache/documents/addressvalidation.v1.json +1 -1
  8. googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json +1 -1
  9. googleapiclient/discovery_cache/documents/admin.datatransfer_v1.json +1 -1
  10. googleapiclient/discovery_cache/documents/admin.datatransferv1.json +1 -1
  11. googleapiclient/discovery_cache/documents/admin.directory_v1.json +3 -3
  12. googleapiclient/discovery_cache/documents/admin.directoryv1.json +3 -3
  13. googleapiclient/discovery_cache/documents/admin.reports_v1.json +1 -1
  14. googleapiclient/discovery_cache/documents/admin.reportsv1.json +1 -1
  15. googleapiclient/discovery_cache/documents/admob.v1.json +1 -1
  16. googleapiclient/discovery_cache/documents/admob.v1beta.json +1 -1
  17. googleapiclient/discovery_cache/documents/adsense.v2.json +1 -1
  18. googleapiclient/discovery_cache/documents/advisorynotifications.v1.json +1 -1
  19. googleapiclient/discovery_cache/documents/aiplatform.v1.json +1748 -1
  20. googleapiclient/discovery_cache/documents/aiplatform.v1beta1.json +1 -6
  21. googleapiclient/discovery_cache/documents/airquality.v1.json +1 -1
  22. googleapiclient/discovery_cache/documents/alertcenter.v1beta1.json +1 -1
  23. googleapiclient/discovery_cache/documents/alloydb.v1.json +44 -1
  24. googleapiclient/discovery_cache/documents/alloydb.v1alpha.json +44 -1
  25. googleapiclient/discovery_cache/documents/alloydb.v1beta.json +44 -1
  26. googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json +1 -1
  27. googleapiclient/discovery_cache/documents/analyticsadmin.v1beta.json +1 -1
  28. googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json +1 -1
  29. googleapiclient/discovery_cache/documents/analyticshub.v1.json +480 -3
  30. googleapiclient/discovery_cache/documents/analyticshub.v1beta1.json +35 -2
  31. googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json +1 -1
  32. googleapiclient/discovery_cache/documents/androidenterprise.v1.json +6 -6
  33. googleapiclient/discovery_cache/documents/androidmanagement.v1.json +74 -1
  34. googleapiclient/discovery_cache/documents/androidpublisher.v3.json +6 -1
  35. googleapiclient/discovery_cache/documents/apigateway.v1.json +1 -1
  36. googleapiclient/discovery_cache/documents/apigateway.v1beta.json +1 -1
  37. googleapiclient/discovery_cache/documents/apigee.v1.json +1 -3
  38. googleapiclient/discovery_cache/documents/apikeys.v2.json +1 -1
  39. googleapiclient/discovery_cache/documents/apim.v1alpha.json +1 -1
  40. googleapiclient/discovery_cache/documents/appengine.v1.json +1 -1
  41. googleapiclient/discovery_cache/documents/appengine.v1alpha.json +1 -1
  42. googleapiclient/discovery_cache/documents/appengine.v1beta.json +1 -1
  43. googleapiclient/discovery_cache/documents/apphub.v1.json +1 -1
  44. googleapiclient/discovery_cache/documents/apphub.v1alpha.json +1 -1
  45. googleapiclient/discovery_cache/documents/area120tables.v1alpha1.json +1 -1
  46. googleapiclient/discovery_cache/documents/artifactregistry.v1.json +1 -1
  47. googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json +1 -1
  48. googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json +1 -1
  49. googleapiclient/discovery_cache/documents/assuredworkloads.v1.json +5 -9
  50. googleapiclient/discovery_cache/documents/assuredworkloads.v1beta1.json +5 -9
  51. googleapiclient/discovery_cache/documents/authorizedbuyersmarketplace.v1.json +2 -2
  52. googleapiclient/discovery_cache/documents/backupdr.v1.json +1 -1
  53. googleapiclient/discovery_cache/documents/baremetalsolution.v2.json +1 -1
  54. googleapiclient/discovery_cache/documents/batch.v1.json +1 -1
  55. googleapiclient/discovery_cache/documents/beyondcorp.v1.json +1 -1
  56. googleapiclient/discovery_cache/documents/beyondcorp.v1alpha.json +36 -3
  57. googleapiclient/discovery_cache/documents/biglake.v1.json +1 -1
  58. googleapiclient/discovery_cache/documents/bigquery.v2.json +11 -14
  59. googleapiclient/discovery_cache/documents/bigqueryconnection.v1.json +1 -1
  60. googleapiclient/discovery_cache/documents/bigqueryconnection.v1beta1.json +1 -1
  61. googleapiclient/discovery_cache/documents/bigquerydatapolicy.v1.json +1 -1
  62. googleapiclient/discovery_cache/documents/bigquerydatatransfer.v1.json +11 -6
  63. googleapiclient/discovery_cache/documents/bigqueryreservation.v1.json +11 -6
  64. googleapiclient/discovery_cache/documents/bigtableadmin.v2.json +5 -5
  65. googleapiclient/discovery_cache/documents/billingbudgets.v1.json +1 -1
  66. googleapiclient/discovery_cache/documents/billingbudgets.v1beta1.json +1 -1
  67. googleapiclient/discovery_cache/documents/binaryauthorization.v1.json +10 -1
  68. googleapiclient/discovery_cache/documents/binaryauthorization.v1beta1.json +1 -1
  69. googleapiclient/discovery_cache/documents/blockchainnodeengine.v1.json +1 -1
  70. googleapiclient/discovery_cache/documents/blogger.v2.json +1 -1
  71. googleapiclient/discovery_cache/documents/blogger.v3.json +1 -1
  72. googleapiclient/discovery_cache/documents/books.v1.json +1 -1
  73. googleapiclient/discovery_cache/documents/businessprofileperformance.v1.json +1 -1
  74. googleapiclient/discovery_cache/documents/certificatemanager.v1.json +1 -1
  75. googleapiclient/discovery_cache/documents/chat.v1.json +44 -9
  76. googleapiclient/discovery_cache/documents/checks.v1alpha.json +5 -3
  77. googleapiclient/discovery_cache/documents/chromemanagement.v1.json +5 -3
  78. googleapiclient/discovery_cache/documents/chromepolicy.v1.json +1 -1
  79. googleapiclient/discovery_cache/documents/chromeuxreport.v1.json +1 -1
  80. googleapiclient/discovery_cache/documents/civicinfo.v2.json +1 -1
  81. googleapiclient/discovery_cache/documents/classroom.v1.json +1611 -121
  82. googleapiclient/discovery_cache/documents/cloudasset.v1.json +1 -1
  83. googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json +1 -1
  84. googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json +1 -1
  85. googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json +1 -1
  86. googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json +1 -1
  87. googleapiclient/discovery_cache/documents/cloudbilling.v1.json +1 -1
  88. googleapiclient/discovery_cache/documents/cloudbilling.v1beta.json +1 -1
  89. googleapiclient/discovery_cache/documents/cloudbuild.v1.json +1 -1
  90. googleapiclient/discovery_cache/documents/cloudbuild.v2.json +1 -1
  91. googleapiclient/discovery_cache/documents/cloudchannel.v1.json +1 -1
  92. googleapiclient/discovery_cache/documents/cloudcontrolspartner.v1.json +4 -2
  93. googleapiclient/discovery_cache/documents/cloudcontrolspartner.v1beta.json +4 -2
  94. googleapiclient/discovery_cache/documents/clouddeploy.v1.json +2 -2
  95. googleapiclient/discovery_cache/documents/clouderrorreporting.v1beta1.json +1 -1
  96. googleapiclient/discovery_cache/documents/cloudfunctions.v1.json +1 -1
  97. googleapiclient/discovery_cache/documents/cloudfunctions.v2.json +1 -1
  98. googleapiclient/discovery_cache/documents/cloudfunctions.v2alpha.json +1 -1
  99. googleapiclient/discovery_cache/documents/cloudfunctions.v2beta.json +1 -1
  100. googleapiclient/discovery_cache/documents/cloudidentity.v1.json +1 -1
  101. googleapiclient/discovery_cache/documents/cloudidentity.v1beta1.json +1 -1
  102. googleapiclient/discovery_cache/documents/cloudkms.v1.json +4 -4
  103. googleapiclient/discovery_cache/documents/cloudprofiler.v2.json +1 -1
  104. googleapiclient/discovery_cache/documents/cloudresourcemanager.v1.json +1 -1
  105. googleapiclient/discovery_cache/documents/cloudresourcemanager.v1beta1.json +1 -1
  106. googleapiclient/discovery_cache/documents/cloudresourcemanager.v2.json +1 -1
  107. googleapiclient/discovery_cache/documents/cloudresourcemanager.v2beta1.json +1 -1
  108. googleapiclient/discovery_cache/documents/cloudresourcemanager.v3.json +1 -1
  109. googleapiclient/discovery_cache/documents/cloudscheduler.v1.json +1 -1
  110. googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json +1 -1
  111. googleapiclient/discovery_cache/documents/cloudsearch.v1.json +1 -1
  112. googleapiclient/discovery_cache/documents/cloudshell.v1.json +1 -1
  113. googleapiclient/discovery_cache/documents/cloudsupport.v2.json +1 -1
  114. googleapiclient/discovery_cache/documents/cloudsupport.v2beta.json +1 -1
  115. googleapiclient/discovery_cache/documents/cloudtasks.v2.json +1 -1
  116. googleapiclient/discovery_cache/documents/cloudtasks.v2beta2.json +1 -1
  117. googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json +1 -1
  118. googleapiclient/discovery_cache/documents/cloudtrace.v1.json +1 -1
  119. googleapiclient/discovery_cache/documents/cloudtrace.v2.json +1 -1
  120. googleapiclient/discovery_cache/documents/cloudtrace.v2beta1.json +1 -1
  121. googleapiclient/discovery_cache/documents/composer.v1.json +1 -1
  122. googleapiclient/discovery_cache/documents/composer.v1beta1.json +1 -1
  123. googleapiclient/discovery_cache/documents/compute.alpha.json +516 -10
  124. googleapiclient/discovery_cache/documents/compute.beta.json +14 -9
  125. googleapiclient/discovery_cache/documents/compute.v1.json +119 -9
  126. googleapiclient/discovery_cache/documents/config.v1.json +1 -1
  127. googleapiclient/discovery_cache/documents/connectors.v1.json +5 -1
  128. googleapiclient/discovery_cache/documents/connectors.v2.json +1 -1
  129. googleapiclient/discovery_cache/documents/contactcenteraiplatform.v1alpha1.json +2 -2
  130. googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json +1 -1
  131. googleapiclient/discovery_cache/documents/container.v1.json +12 -4
  132. googleapiclient/discovery_cache/documents/container.v1beta1.json +16 -7
  133. googleapiclient/discovery_cache/documents/containeranalysis.v1.json +42 -1
  134. googleapiclient/discovery_cache/documents/containeranalysis.v1alpha1.json +46 -1
  135. googleapiclient/discovery_cache/documents/containeranalysis.v1beta1.json +8 -1
  136. googleapiclient/discovery_cache/documents/content.v2.1.json +1 -1
  137. googleapiclient/discovery_cache/documents/customsearch.v1.json +1 -1
  138. googleapiclient/discovery_cache/documents/datacatalog.v1.json +6 -2
  139. googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json +6 -2
  140. googleapiclient/discovery_cache/documents/dataflow.v1b3.json +31 -11
  141. googleapiclient/discovery_cache/documents/dataform.v1beta1.json +1 -1
  142. googleapiclient/discovery_cache/documents/datafusion.v1.json +72 -78
  143. googleapiclient/discovery_cache/documents/datafusion.v1beta1.json +73 -79
  144. googleapiclient/discovery_cache/documents/datalineage.v1.json +1 -1
  145. googleapiclient/discovery_cache/documents/datamigration.v1.json +1 -1
  146. googleapiclient/discovery_cache/documents/datamigration.v1beta1.json +1 -1
  147. googleapiclient/discovery_cache/documents/datapipelines.v1.json +1 -1
  148. googleapiclient/discovery_cache/documents/dataportability.v1.json +1 -1
  149. googleapiclient/discovery_cache/documents/dataportability.v1beta.json +1 -1
  150. googleapiclient/discovery_cache/documents/dataproc.v1.json +12 -2
  151. googleapiclient/discovery_cache/documents/datastore.v1.json +1 -1
  152. googleapiclient/discovery_cache/documents/datastore.v1beta1.json +1 -1
  153. googleapiclient/discovery_cache/documents/datastore.v1beta3.json +1 -1
  154. googleapiclient/discovery_cache/documents/datastream.v1.json +1 -1
  155. googleapiclient/discovery_cache/documents/datastream.v1alpha1.json +1 -1
  156. googleapiclient/discovery_cache/documents/developerconnect.v1.json +1 -1
  157. googleapiclient/discovery_cache/documents/dfareporting.v3.5.json +1 -1
  158. googleapiclient/discovery_cache/documents/dfareporting.v4.json +1 -1
  159. googleapiclient/discovery_cache/documents/dialogflow.v2.json +66 -22
  160. googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json +66 -22
  161. googleapiclient/discovery_cache/documents/dialogflow.v3.json +5 -5
  162. googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json +5 -5
  163. googleapiclient/discovery_cache/documents/digitalassetlinks.v1.json +1 -1
  164. googleapiclient/discovery_cache/documents/discoveryengine.v1.json +1 -1
  165. googleapiclient/discovery_cache/documents/discoveryengine.v1alpha.json +1 -1
  166. googleapiclient/discovery_cache/documents/discoveryengine.v1beta.json +1 -1
  167. googleapiclient/discovery_cache/documents/displayvideo.v2.json +3 -3
  168. googleapiclient/discovery_cache/documents/displayvideo.v3.json +26 -6
  169. googleapiclient/discovery_cache/documents/dlp.v2.json +534 -6
  170. googleapiclient/discovery_cache/documents/dns.v1.json +1 -1
  171. googleapiclient/discovery_cache/documents/dns.v1beta2.json +1 -1
  172. googleapiclient/discovery_cache/documents/docs.v1.json +1 -1
  173. googleapiclient/discovery_cache/documents/documentai.v1.json +1 -1
  174. googleapiclient/discovery_cache/documents/documentai.v1beta2.json +1 -1
  175. googleapiclient/discovery_cache/documents/documentai.v1beta3.json +1 -1
  176. googleapiclient/discovery_cache/documents/domainsrdap.v1.json +1 -1
  177. googleapiclient/discovery_cache/documents/doubleclicksearch.v2.json +1 -1
  178. googleapiclient/discovery_cache/documents/drive.v2.json +1 -1
  179. googleapiclient/discovery_cache/documents/drive.v3.json +1 -1
  180. googleapiclient/discovery_cache/documents/driveactivity.v2.json +1 -1
  181. googleapiclient/discovery_cache/documents/drivelabels.v2.json +1 -1
  182. googleapiclient/discovery_cache/documents/drivelabels.v2beta.json +1 -1
  183. googleapiclient/discovery_cache/documents/essentialcontacts.v1.json +1 -1
  184. googleapiclient/discovery_cache/documents/eventarc.v1.json +1 -1
  185. googleapiclient/discovery_cache/documents/factchecktools.v1alpha1.json +9 -1
  186. googleapiclient/discovery_cache/documents/fcm.v1.json +1 -1
  187. googleapiclient/discovery_cache/documents/fcmdata.v1beta1.json +1 -1
  188. googleapiclient/discovery_cache/documents/file.v1.json +84 -1
  189. googleapiclient/discovery_cache/documents/file.v1beta1.json +84 -1
  190. googleapiclient/discovery_cache/documents/firebase.v1beta1.json +1 -1
  191. googleapiclient/discovery_cache/documents/firebaseappcheck.v1.json +1 -1
  192. googleapiclient/discovery_cache/documents/firebaseappcheck.v1beta.json +1 -1
  193. googleapiclient/discovery_cache/documents/firebaseappdistribution.v1.json +1 -1
  194. googleapiclient/discovery_cache/documents/firebaseappdistribution.v1alpha.json +42 -1
  195. googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json +1 -1
  196. googleapiclient/discovery_cache/documents/firebasedynamiclinks.v1.json +1 -1
  197. googleapiclient/discovery_cache/documents/firebasehosting.v1.json +1 -1
  198. googleapiclient/discovery_cache/documents/firebasehosting.v1beta1.json +1 -1
  199. googleapiclient/discovery_cache/documents/firebaseml.v1.json +1 -1
  200. googleapiclient/discovery_cache/documents/firebaseml.v1beta2.json +1 -1
  201. googleapiclient/discovery_cache/documents/firebaseml.v2beta.json +1 -1
  202. googleapiclient/discovery_cache/documents/firebaserules.v1.json +1 -1
  203. googleapiclient/discovery_cache/documents/firebasestorage.v1beta.json +1 -1
  204. googleapiclient/discovery_cache/documents/firestore.v1.json +120 -22
  205. googleapiclient/discovery_cache/documents/firestore.v1beta1.json +69 -1
  206. googleapiclient/discovery_cache/documents/firestore.v1beta2.json +69 -1
  207. googleapiclient/discovery_cache/documents/fitness.v1.json +1 -1
  208. googleapiclient/discovery_cache/documents/games.v1.json +95 -1
  209. googleapiclient/discovery_cache/documents/gamesConfiguration.v1configuration.json +1 -1
  210. googleapiclient/discovery_cache/documents/gamesManagement.v1management.json +1 -1
  211. googleapiclient/discovery_cache/documents/gkebackup.v1.json +1 -1
  212. googleapiclient/discovery_cache/documents/gkehub.v1.json +66 -1
  213. googleapiclient/discovery_cache/documents/gkehub.v1alpha.json +1 -1
  214. googleapiclient/discovery_cache/documents/gkehub.v1beta.json +1 -1
  215. googleapiclient/discovery_cache/documents/gkehub.v1beta1.json +1 -1
  216. googleapiclient/discovery_cache/documents/gkehub.v2alpha.json +1 -1
  217. googleapiclient/discovery_cache/documents/gmail.v1.json +1 -1
  218. googleapiclient/discovery_cache/documents/gmailpostmastertools.v1.json +1 -1
  219. googleapiclient/discovery_cache/documents/gmailpostmastertools.v1beta1.json +1 -1
  220. googleapiclient/discovery_cache/documents/groupsmigration.v1.json +1 -1
  221. googleapiclient/discovery_cache/documents/groupssettings.v1.json +1 -1
  222. googleapiclient/discovery_cache/documents/healthcare.v1.json +19 -4
  223. googleapiclient/discovery_cache/documents/healthcare.v1beta1.json +18 -3
  224. googleapiclient/discovery_cache/documents/homegraph.v1.json +1 -1
  225. googleapiclient/discovery_cache/documents/iam.v1.json +3 -3
  226. googleapiclient/discovery_cache/documents/iam.v2.json +1 -1
  227. googleapiclient/discovery_cache/documents/iam.v2beta.json +1 -1
  228. googleapiclient/discovery_cache/documents/iamcredentials.v1.json +1 -1
  229. googleapiclient/discovery_cache/documents/iap.v1.json +67 -1
  230. googleapiclient/discovery_cache/documents/iap.v1beta1.json +1 -1
  231. googleapiclient/discovery_cache/documents/identitytoolkit.v1.json +1 -1
  232. googleapiclient/discovery_cache/documents/identitytoolkit.v2.json +1 -1
  233. googleapiclient/discovery_cache/documents/indexing.v3.json +1 -1
  234. googleapiclient/discovery_cache/documents/integrations.v1.json +681 -3
  235. googleapiclient/discovery_cache/documents/jobs.v3.json +1 -128
  236. googleapiclient/discovery_cache/documents/jobs.v3p1beta1.json +1 -128
  237. googleapiclient/discovery_cache/documents/jobs.v4.json +1 -128
  238. googleapiclient/discovery_cache/documents/keep.v1.json +1 -1
  239. googleapiclient/discovery_cache/documents/kgsearch.v1.json +1 -1
  240. googleapiclient/discovery_cache/documents/kmsinventory.v1.json +1 -1
  241. googleapiclient/discovery_cache/documents/language.v1.json +1 -1
  242. googleapiclient/discovery_cache/documents/language.v1beta2.json +1 -1
  243. googleapiclient/discovery_cache/documents/language.v2.json +1 -1
  244. googleapiclient/discovery_cache/documents/libraryagent.v1.json +1 -1
  245. googleapiclient/discovery_cache/documents/licensing.v1.json +1 -1
  246. googleapiclient/discovery_cache/documents/lifesciences.v2beta.json +1 -1
  247. googleapiclient/discovery_cache/documents/localservices.v1.json +1 -1
  248. googleapiclient/discovery_cache/documents/logging.v2.json +289 -17
  249. googleapiclient/discovery_cache/documents/marketingplatformadmin.v1alpha.json +1 -1
  250. googleapiclient/discovery_cache/documents/meet.v2.json +1146 -0
  251. googleapiclient/discovery_cache/documents/memcache.v1.json +1 -1
  252. googleapiclient/discovery_cache/documents/memcache.v1beta2.json +1 -1
  253. googleapiclient/discovery_cache/documents/merchantapi.accounts_v1beta.json +1 -1
  254. googleapiclient/discovery_cache/documents/merchantapi.conversions_v1beta.json +1 -1
  255. googleapiclient/discovery_cache/documents/merchantapi.inventories_v1beta.json +1 -1
  256. googleapiclient/discovery_cache/documents/merchantapi.lfp_v1beta.json +1 -1
  257. googleapiclient/discovery_cache/documents/merchantapi.promotions_v1beta.json +1 -1
  258. googleapiclient/discovery_cache/documents/merchantapi.reports_v1beta.json +1 -1
  259. googleapiclient/discovery_cache/documents/metastore.v1.json +453 -3
  260. googleapiclient/discovery_cache/documents/metastore.v1alpha.json +1 -1
  261. googleapiclient/discovery_cache/documents/metastore.v1beta.json +1 -1
  262. googleapiclient/discovery_cache/documents/migrationcenter.v1.json +2 -2
  263. googleapiclient/discovery_cache/documents/migrationcenter.v1alpha1.json +34 -6
  264. googleapiclient/discovery_cache/documents/ml.v1.json +1 -1
  265. googleapiclient/discovery_cache/documents/monitoring.v1.json +16 -6
  266. googleapiclient/discovery_cache/documents/monitoring.v3.json +29 -7
  267. googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json +1 -1
  268. googleapiclient/discovery_cache/documents/mybusinessbusinessinformation.v1.json +1 -1
  269. googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json +1 -1
  270. googleapiclient/discovery_cache/documents/mybusinessnotifications.v1.json +1 -1
  271. googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json +1 -1
  272. googleapiclient/discovery_cache/documents/mybusinessqanda.v1.json +1 -1
  273. googleapiclient/discovery_cache/documents/mybusinessverifications.v1.json +1 -1
  274. googleapiclient/discovery_cache/documents/networkconnectivity.v1.json +45 -1
  275. googleapiclient/discovery_cache/documents/networkconnectivity.v1alpha1.json +1 -1
  276. googleapiclient/discovery_cache/documents/networkmanagement.v1.json +3 -1
  277. googleapiclient/discovery_cache/documents/networkmanagement.v1beta1.json +3 -1
  278. googleapiclient/discovery_cache/documents/networkservices.v1.json +3 -3
  279. googleapiclient/discovery_cache/documents/networkservices.v1beta1.json +3 -3
  280. googleapiclient/discovery_cache/documents/notebooks.v1.json +1 -1
  281. googleapiclient/discovery_cache/documents/notebooks.v2.json +1 -1
  282. googleapiclient/discovery_cache/documents/ondemandscanning.v1.json +35 -1
  283. googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json +35 -1
  284. googleapiclient/discovery_cache/documents/orgpolicy.v2.json +1 -1
  285. googleapiclient/discovery_cache/documents/osconfig.v1.json +1 -1
  286. googleapiclient/discovery_cache/documents/osconfig.v1alpha.json +1 -1
  287. googleapiclient/discovery_cache/documents/osconfig.v1beta.json +1 -1
  288. googleapiclient/discovery_cache/documents/oslogin.v1.json +1 -1
  289. googleapiclient/discovery_cache/documents/oslogin.v1alpha.json +1 -1
  290. googleapiclient/discovery_cache/documents/oslogin.v1beta.json +1 -1
  291. googleapiclient/discovery_cache/documents/pagespeedonline.v5.json +1 -1
  292. googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json +1 -1
  293. googleapiclient/discovery_cache/documents/people.v1.json +1 -1
  294. googleapiclient/discovery_cache/documents/places.v1.json +1 -1
  295. googleapiclient/discovery_cache/documents/playcustomapp.v1.json +1 -1
  296. googleapiclient/discovery_cache/documents/playdeveloperreporting.v1alpha1.json +1 -1
  297. googleapiclient/discovery_cache/documents/playdeveloperreporting.v1beta1.json +1 -1
  298. googleapiclient/discovery_cache/documents/playgrouping.v1alpha1.json +1 -1
  299. googleapiclient/discovery_cache/documents/playintegrity.v1.json +1 -1
  300. googleapiclient/discovery_cache/documents/policyanalyzer.v1.json +1 -1
  301. googleapiclient/discovery_cache/documents/policyanalyzer.v1beta1.json +1 -1
  302. googleapiclient/discovery_cache/documents/policysimulator.v1.json +1 -366
  303. googleapiclient/discovery_cache/documents/policysimulator.v1alpha.json +1 -1
  304. googleapiclient/discovery_cache/documents/policysimulator.v1beta.json +1 -1
  305. googleapiclient/discovery_cache/documents/policytroubleshooter.v1.json +1 -1
  306. googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json +1 -1
  307. googleapiclient/discovery_cache/documents/pollen.v1.json +1 -1
  308. googleapiclient/discovery_cache/documents/privateca.v1.json +1 -1
  309. googleapiclient/discovery_cache/documents/privateca.v1beta1.json +1 -1
  310. googleapiclient/discovery_cache/documents/prod_tt_sasportal.v1alpha1.json +1 -1
  311. googleapiclient/discovery_cache/documents/publicca.v1.json +1 -1
  312. googleapiclient/discovery_cache/documents/publicca.v1alpha1.json +1 -1
  313. googleapiclient/discovery_cache/documents/publicca.v1beta1.json +1 -1
  314. googleapiclient/discovery_cache/documents/pubsub.v1.json +21 -1
  315. googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json +1 -1
  316. googleapiclient/discovery_cache/documents/pubsub.v1beta2.json +1 -1
  317. googleapiclient/discovery_cache/documents/pubsublite.v1.json +1 -1
  318. googleapiclient/discovery_cache/documents/readerrevenuesubscriptionlinking.v1.json +1 -1
  319. googleapiclient/discovery_cache/documents/realtimebidding.v1.json +1 -1
  320. googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json +1 -1
  321. googleapiclient/discovery_cache/documents/recommendationengine.v1beta1.json +1 -1
  322. googleapiclient/discovery_cache/documents/recommender.v1.json +1 -1
  323. googleapiclient/discovery_cache/documents/recommender.v1beta1.json +1 -1
  324. googleapiclient/discovery_cache/documents/redis.v1.json +3 -3
  325. googleapiclient/discovery_cache/documents/redis.v1beta1.json +3 -3
  326. googleapiclient/discovery_cache/documents/reseller.v1.json +1 -1
  327. googleapiclient/discovery_cache/documents/resourcesettings.v1.json +1 -1
  328. googleapiclient/discovery_cache/documents/run.v1.json +1 -1
  329. googleapiclient/discovery_cache/documents/run.v2.json +3 -3
  330. googleapiclient/discovery_cache/documents/runtimeconfig.v1.json +1 -1
  331. googleapiclient/discovery_cache/documents/runtimeconfig.v1beta1.json +1 -1
  332. googleapiclient/discovery_cache/documents/safebrowsing.v4.json +1 -1
  333. googleapiclient/discovery_cache/documents/safebrowsing.v5.json +1 -1
  334. googleapiclient/discovery_cache/documents/sasportal.v1alpha1.json +1 -1
  335. googleapiclient/discovery_cache/documents/script.v1.json +1 -1
  336. googleapiclient/discovery_cache/documents/searchconsole.v1.json +1 -1
  337. googleapiclient/discovery_cache/documents/secretmanager.v1.json +1 -1
  338. googleapiclient/discovery_cache/documents/secretmanager.v1beta1.json +1 -1
  339. googleapiclient/discovery_cache/documents/secretmanager.v1beta2.json +1 -1
  340. googleapiclient/discovery_cache/documents/securitycenter.v1.json +419 -147
  341. googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json +294 -26
  342. googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json +294 -26
  343. googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json +1 -1
  344. googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1beta1.json +1 -1
  345. googleapiclient/discovery_cache/documents/servicecontrol.v1.json +1 -1
  346. googleapiclient/discovery_cache/documents/servicecontrol.v2.json +1 -1
  347. googleapiclient/discovery_cache/documents/servicedirectory.v1.json +1 -1
  348. googleapiclient/discovery_cache/documents/servicedirectory.v1beta1.json +1 -1
  349. googleapiclient/discovery_cache/documents/servicemanagement.v1.json +1 -1
  350. googleapiclient/discovery_cache/documents/servicenetworking.v1.json +2 -2
  351. googleapiclient/discovery_cache/documents/servicenetworking.v1beta.json +2 -2
  352. googleapiclient/discovery_cache/documents/serviceusage.v1.json +1 -1
  353. googleapiclient/discovery_cache/documents/serviceusage.v1beta1.json +1 -1
  354. googleapiclient/discovery_cache/documents/sheets.v4.json +1 -1
  355. googleapiclient/discovery_cache/documents/slides.v1.json +1 -1
  356. googleapiclient/discovery_cache/documents/solar.v1.json +13 -13
  357. googleapiclient/discovery_cache/documents/speech.v1.json +1 -1
  358. googleapiclient/discovery_cache/documents/speech.v1p1beta1.json +1 -1
  359. googleapiclient/discovery_cache/documents/sqladmin.v1.json +35 -7
  360. googleapiclient/discovery_cache/documents/sqladmin.v1beta4.json +35 -11
  361. googleapiclient/discovery_cache/documents/storage.v1.json +26 -2
  362. googleapiclient/discovery_cache/documents/storagetransfer.v1.json +2 -2
  363. googleapiclient/discovery_cache/documents/streetviewpublish.v1.json +1 -1
  364. googleapiclient/discovery_cache/documents/sts.v1.json +1 -1
  365. googleapiclient/discovery_cache/documents/sts.v1beta.json +1 -1
  366. googleapiclient/discovery_cache/documents/tagmanager.v1.json +1 -1
  367. googleapiclient/discovery_cache/documents/tagmanager.v2.json +1 -1
  368. googleapiclient/discovery_cache/documents/tasks.v1.json +95 -12
  369. googleapiclient/discovery_cache/documents/testing.v1.json +1 -1
  370. googleapiclient/discovery_cache/documents/toolresults.v1beta3.json +1 -1
  371. googleapiclient/discovery_cache/documents/tpu.v1.json +1 -1
  372. googleapiclient/discovery_cache/documents/tpu.v1alpha1.json +1 -1
  373. googleapiclient/discovery_cache/documents/tpu.v2.json +1 -1
  374. googleapiclient/discovery_cache/documents/tpu.v2alpha1.json +1 -1
  375. googleapiclient/discovery_cache/documents/trafficdirector.v2.json +1 -1
  376. googleapiclient/discovery_cache/documents/trafficdirector.v3.json +1 -1
  377. googleapiclient/discovery_cache/documents/transcoder.v1.json +1 -1
  378. googleapiclient/discovery_cache/documents/travelimpactmodel.v1.json +1 -1
  379. googleapiclient/discovery_cache/documents/vault.v1.json +11 -1
  380. googleapiclient/discovery_cache/documents/verifiedaccess.v1.json +1 -1
  381. googleapiclient/discovery_cache/documents/verifiedaccess.v2.json +1 -1
  382. googleapiclient/discovery_cache/documents/versionhistory.v1.json +1 -1
  383. googleapiclient/discovery_cache/documents/videointelligence.v1.json +1 -1
  384. googleapiclient/discovery_cache/documents/videointelligence.v1beta2.json +1 -1
  385. googleapiclient/discovery_cache/documents/videointelligence.v1p1beta1.json +1 -1
  386. googleapiclient/discovery_cache/documents/videointelligence.v1p2beta1.json +1 -1
  387. googleapiclient/discovery_cache/documents/videointelligence.v1p3beta1.json +1 -1
  388. googleapiclient/discovery_cache/documents/vision.v1.json +1 -1
  389. googleapiclient/discovery_cache/documents/vision.v1p1beta1.json +1 -1
  390. googleapiclient/discovery_cache/documents/vision.v1p2beta1.json +1 -1
  391. googleapiclient/discovery_cache/documents/vmmigration.v1.json +23 -1
  392. googleapiclient/discovery_cache/documents/vmmigration.v1alpha1.json +23 -1
  393. googleapiclient/discovery_cache/documents/vmwareengine.v1.json +1 -1
  394. googleapiclient/discovery_cache/documents/vpcaccess.v1.json +1 -1
  395. googleapiclient/discovery_cache/documents/vpcaccess.v1beta1.json +1 -1
  396. googleapiclient/discovery_cache/documents/walletobjects.v1.json +28 -2
  397. googleapiclient/discovery_cache/documents/webrisk.v1.json +1 -1
  398. googleapiclient/discovery_cache/documents/websecurityscanner.v1.json +1 -1
  399. googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json +1 -1
  400. googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json +1 -1
  401. googleapiclient/discovery_cache/documents/workflowexecutions.v1.json +1 -1
  402. googleapiclient/discovery_cache/documents/workflowexecutions.v1beta.json +1 -1
  403. googleapiclient/discovery_cache/documents/workflows.v1.json +1 -1
  404. googleapiclient/discovery_cache/documents/workflows.v1beta.json +1 -1
  405. googleapiclient/discovery_cache/documents/workloadmanager.v1.json +110 -20
  406. googleapiclient/discovery_cache/documents/workspaceevents.v1.json +1 -1
  407. googleapiclient/discovery_cache/documents/workstations.v1.json +13 -1
  408. googleapiclient/discovery_cache/documents/workstations.v1beta.json +20 -1
  409. googleapiclient/discovery_cache/documents/youtube.v3.json +1 -1
  410. googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json +1 -1
  411. googleapiclient/discovery_cache/documents/youtubereporting.v1.json +1 -1
  412. googleapiclient/version.py +1 -1
  413. {google_api_python_client-2.134.0.dist-info → google_api_python_client-2.136.0.dist-info}/LICENSE +0 -0
  414. {google_api_python_client-2.134.0.dist-info → google_api_python_client-2.136.0.dist-info}/WHEEL +0 -0
  415. {google_api_python_client-2.134.0.dist-info → google_api_python_client-2.136.0.dist-info}/top_level.txt +0 -0
@@ -548,6 +548,50 @@
548
548
  "https://www.googleapis.com/auth/classroom.announcements.readonly"
549
549
  ]
550
550
  },
551
+ "getAddOnContext": {
552
+ "description": "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](https://developers.google.com/classroom/add-ons/get-started/iframes/iframes-overview). 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.",
553
+ "flatPath": "v1/courses/{courseId}/announcements/{itemId}/addOnContext",
554
+ "httpMethod": "GET",
555
+ "id": "classroom.courses.announcements.getAddOnContext",
556
+ "parameterOrder": [
557
+ "courseId",
558
+ "itemId"
559
+ ],
560
+ "parameters": {
561
+ "addOnToken": {
562
+ "description": "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.",
563
+ "location": "query",
564
+ "type": "string"
565
+ },
566
+ "attachmentId": {
567
+ "description": "Optional. The identifier of the attachment. This field is required for student users and optional for teacher users. If not provided in the student case, an error is returned.",
568
+ "location": "query",
569
+ "type": "string"
570
+ },
571
+ "courseId": {
572
+ "description": "Required. Identifier of the course.",
573
+ "location": "path",
574
+ "required": true,
575
+ "type": "string"
576
+ },
577
+ "itemId": {
578
+ "description": "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 post_id.",
579
+ "location": "path",
580
+ "required": true,
581
+ "type": "string"
582
+ },
583
+ "postId": {
584
+ "deprecated": true,
585
+ "description": "Optional. Deprecated, use item_id instead.",
586
+ "location": "query",
587
+ "type": "string"
588
+ }
589
+ },
590
+ "path": "v1/courses/{courseId}/announcements/{itemId}/addOnContext",
591
+ "response": {
592
+ "$ref": "AddOnContext"
593
+ }
594
+ },
551
595
  "list": {
552
596
  "description": "Returns a list of announcements that the requester is permitted to view. Course students may only view `PUBLISHED` announcements. Course teachers and domain administrators may view all announcements. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.",
553
597
  "flatPath": "v1/courses/{courseId}/announcements",
@@ -681,6 +725,230 @@
681
725
  "https://www.googleapis.com/auth/classroom.announcements"
682
726
  ]
683
727
  }
728
+ },
729
+ "resources": {
730
+ "addOnAttachments": {
731
+ "methods": {
732
+ "create": {
733
+ "description": "Creates an add-on attachment under a post. Requires the add-on to have permission to create new attachments on the post. 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.",
734
+ "flatPath": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments",
735
+ "httpMethod": "POST",
736
+ "id": "classroom.courses.announcements.addOnAttachments.create",
737
+ "parameterOrder": [
738
+ "courseId",
739
+ "itemId"
740
+ ],
741
+ "parameters": {
742
+ "addOnToken": {
743
+ "description": "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. This authorization token is required for in-Classroom attachment creation but optional for partner-first attachment creation. Returns an error if not provided for partner-first attachment creation and the developer projects that created the attachment and its parent stream item do not match.",
744
+ "location": "query",
745
+ "type": "string"
746
+ },
747
+ "courseId": {
748
+ "description": "Required. Identifier of the course.",
749
+ "location": "path",
750
+ "required": true,
751
+ "type": "string"
752
+ },
753
+ "itemId": {
754
+ "description": "Identifier of the announcement, courseWork, or courseWorkMaterial under which to create the attachment. This field is required, but is not marked as such while we are migrating from post_id.",
755
+ "location": "path",
756
+ "required": true,
757
+ "type": "string"
758
+ },
759
+ "postId": {
760
+ "deprecated": true,
761
+ "description": "Optional. Deprecated, use item_id instead.",
762
+ "location": "query",
763
+ "type": "string"
764
+ }
765
+ },
766
+ "path": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments",
767
+ "request": {
768
+ "$ref": "AddOnAttachment"
769
+ },
770
+ "response": {
771
+ "$ref": "AddOnAttachment"
772
+ }
773
+ },
774
+ "delete": {
775
+ "description": "Deletes an add-on attachment. Requires the add-on to have been the original creator of the attachment. 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.",
776
+ "flatPath": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}",
777
+ "httpMethod": "DELETE",
778
+ "id": "classroom.courses.announcements.addOnAttachments.delete",
779
+ "parameterOrder": [
780
+ "courseId",
781
+ "itemId",
782
+ "attachmentId"
783
+ ],
784
+ "parameters": {
785
+ "attachmentId": {
786
+ "description": "Required. Identifier of the attachment.",
787
+ "location": "path",
788
+ "required": true,
789
+ "type": "string"
790
+ },
791
+ "courseId": {
792
+ "description": "Required. Identifier of the course.",
793
+ "location": "path",
794
+ "required": true,
795
+ "type": "string"
796
+ },
797
+ "itemId": {
798
+ "description": "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 post_id.",
799
+ "location": "path",
800
+ "required": true,
801
+ "type": "string"
802
+ },
803
+ "postId": {
804
+ "deprecated": true,
805
+ "description": "Optional. Deprecated, use item_id instead.",
806
+ "location": "query",
807
+ "type": "string"
808
+ }
809
+ },
810
+ "path": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}",
811
+ "response": {
812
+ "$ref": "Empty"
813
+ }
814
+ },
815
+ "get": {
816
+ "description": "Returns an add-on attachment. Requires the add-on requesting the attachment to be the original creator of the attachment. 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.",
817
+ "flatPath": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}",
818
+ "httpMethod": "GET",
819
+ "id": "classroom.courses.announcements.addOnAttachments.get",
820
+ "parameterOrder": [
821
+ "courseId",
822
+ "itemId",
823
+ "attachmentId"
824
+ ],
825
+ "parameters": {
826
+ "attachmentId": {
827
+ "description": "Required. Identifier of the attachment.",
828
+ "location": "path",
829
+ "required": true,
830
+ "type": "string"
831
+ },
832
+ "courseId": {
833
+ "description": "Required. Identifier of the course.",
834
+ "location": "path",
835
+ "required": true,
836
+ "type": "string"
837
+ },
838
+ "itemId": {
839
+ "description": "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 post_id.",
840
+ "location": "path",
841
+ "required": true,
842
+ "type": "string"
843
+ },
844
+ "postId": {
845
+ "deprecated": true,
846
+ "description": "Optional. Deprecated, use item_id instead.",
847
+ "location": "query",
848
+ "type": "string"
849
+ }
850
+ },
851
+ "path": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}",
852
+ "response": {
853
+ "$ref": "AddOnAttachment"
854
+ }
855
+ },
856
+ "list": {
857
+ "description": "Returns all attachments created by an add-on under the post. Requires the add-on to have active attachments on the post or have permission to create new attachments on the post. 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.",
858
+ "flatPath": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments",
859
+ "httpMethod": "GET",
860
+ "id": "classroom.courses.announcements.addOnAttachments.list",
861
+ "parameterOrder": [
862
+ "courseId",
863
+ "itemId"
864
+ ],
865
+ "parameters": {
866
+ "courseId": {
867
+ "description": "Required. Identifier of the course.",
868
+ "location": "path",
869
+ "required": true,
870
+ "type": "string"
871
+ },
872
+ "itemId": {
873
+ "description": "Identifier of the announcement, courseWork, or courseWorkMaterial whose attachments should be enumerated. This field is required, but is not marked as such while we are migrating from post_id.",
874
+ "location": "path",
875
+ "required": true,
876
+ "type": "string"
877
+ },
878
+ "pageSize": {
879
+ "description": "The maximum number of attachments to return. The service may return fewer than this value. If unspecified, at most 20 attachments will be returned. The maximum value is 20; values above 20 will be coerced to 20.",
880
+ "format": "int32",
881
+ "location": "query",
882
+ "type": "integer"
883
+ },
884
+ "pageToken": {
885
+ "description": "A page token, received from a previous `ListAddOnAttachments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAddOnAttachments` must match the call that provided the page token.",
886
+ "location": "query",
887
+ "type": "string"
888
+ },
889
+ "postId": {
890
+ "deprecated": true,
891
+ "description": "Optional. Identifier of the post under the course whose attachments to enumerate. Deprecated, use item_id instead.",
892
+ "location": "query",
893
+ "type": "string"
894
+ }
895
+ },
896
+ "path": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments",
897
+ "response": {
898
+ "$ref": "ListAddOnAttachmentsResponse"
899
+ }
900
+ },
901
+ "patch": {
902
+ "description": "Updates an add-on attachment. Requires the add-on to have been the original creator of the attachment. 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.",
903
+ "flatPath": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}",
904
+ "httpMethod": "PATCH",
905
+ "id": "classroom.courses.announcements.addOnAttachments.patch",
906
+ "parameterOrder": [
907
+ "courseId",
908
+ "itemId",
909
+ "attachmentId"
910
+ ],
911
+ "parameters": {
912
+ "attachmentId": {
913
+ "description": "Required. Identifier of the attachment.",
914
+ "location": "path",
915
+ "required": true,
916
+ "type": "string"
917
+ },
918
+ "courseId": {
919
+ "description": "Required. Identifier of the course.",
920
+ "location": "path",
921
+ "required": true,
922
+ "type": "string"
923
+ },
924
+ "itemId": {
925
+ "description": "Identifier of the post under which the attachment is attached.",
926
+ "location": "path",
927
+ "required": true,
928
+ "type": "string"
929
+ },
930
+ "postId": {
931
+ "description": "Required. Identifier of the post under which the attachment is attached.",
932
+ "location": "query",
933
+ "type": "string"
934
+ },
935
+ "updateMask": {
936
+ "description": "Required. Mask that identifies which fields on the attachment to update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the `AddOnAttachment` object. If a field that does not support empty values is included in the update mask and not set in the `AddOnAttachment` object, an `INVALID_ARGUMENT` error is returned. The following fields may be specified by teachers: * `title` * `teacher_view_uri` * `student_view_uri` * `student_work_review_uri` * `due_date` * `due_time` * `max_points`",
937
+ "format": "google-fieldmask",
938
+ "location": "query",
939
+ "type": "string"
940
+ }
941
+ },
942
+ "path": "v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}",
943
+ "request": {
944
+ "$ref": "AddOnAttachment"
945
+ },
946
+ "response": {
947
+ "$ref": "AddOnAttachment"
948
+ }
949
+ }
950
+ }
951
+ }
684
952
  }
685
953
  },
686
954
  "courseWork": {
@@ -777,6 +1045,50 @@
777
1045
  "https://www.googleapis.com/auth/classroom.coursework.students.readonly"
778
1046
  ]
779
1047
  },
1048
+ "getAddOnContext": {
1049
+ "description": "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](https://developers.google.com/classroom/add-ons/get-started/iframes/iframes-overview). 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.",
1050
+ "flatPath": "v1/courses/{courseId}/courseWork/{itemId}/addOnContext",
1051
+ "httpMethod": "GET",
1052
+ "id": "classroom.courses.courseWork.getAddOnContext",
1053
+ "parameterOrder": [
1054
+ "courseId",
1055
+ "itemId"
1056
+ ],
1057
+ "parameters": {
1058
+ "addOnToken": {
1059
+ "description": "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.",
1060
+ "location": "query",
1061
+ "type": "string"
1062
+ },
1063
+ "attachmentId": {
1064
+ "description": "Optional. The identifier of the attachment. This field is required for student users and optional for teacher users. If not provided in the student case, an error is returned.",
1065
+ "location": "query",
1066
+ "type": "string"
1067
+ },
1068
+ "courseId": {
1069
+ "description": "Required. Identifier of the course.",
1070
+ "location": "path",
1071
+ "required": true,
1072
+ "type": "string"
1073
+ },
1074
+ "itemId": {
1075
+ "description": "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 post_id.",
1076
+ "location": "path",
1077
+ "required": true,
1078
+ "type": "string"
1079
+ },
1080
+ "postId": {
1081
+ "deprecated": true,
1082
+ "description": "Optional. Deprecated, use item_id instead.",
1083
+ "location": "query",
1084
+ "type": "string"
1085
+ }
1086
+ },
1087
+ "path": "v1/courses/{courseId}/courseWork/{itemId}/addOnContext",
1088
+ "response": {
1089
+ "$ref": "AddOnContext"
1090
+ }
1091
+ },
780
1092
  "list": {
781
1093
  "description": "Returns a list of course work that the requester is permitted to view. Course students may only view `PUBLISHED` course work. Course teachers and domain administrators may view all course work. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.",
782
1094
  "flatPath": "v1/courses/{courseId}/courseWork",
@@ -914,68 +1226,404 @@
914
1226
  }
915
1227
  },
916
1228
  "resources": {
917
- "studentSubmissions": {
1229
+ "addOnAttachments": {
918
1230
  "methods": {
919
- "get": {
920
- "description": "Returns a student submission. * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course, course work, or student submission or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.",
921
- "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}",
922
- "httpMethod": "GET",
923
- "id": "classroom.courses.courseWork.studentSubmissions.get",
1231
+ "create": {
1232
+ "description": "Creates an add-on attachment under a post. Requires the add-on to have permission to create new attachments on the post. 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.",
1233
+ "flatPath": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments",
1234
+ "httpMethod": "POST",
1235
+ "id": "classroom.courses.courseWork.addOnAttachments.create",
924
1236
  "parameterOrder": [
925
1237
  "courseId",
926
- "courseWorkId",
927
- "id"
1238
+ "itemId"
928
1239
  ],
929
1240
  "parameters": {
1241
+ "addOnToken": {
1242
+ "description": "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. This authorization token is required for in-Classroom attachment creation but optional for partner-first attachment creation. Returns an error if not provided for partner-first attachment creation and the developer projects that created the attachment and its parent stream item do not match.",
1243
+ "location": "query",
1244
+ "type": "string"
1245
+ },
930
1246
  "courseId": {
931
- "description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.",
1247
+ "description": "Required. Identifier of the course.",
932
1248
  "location": "path",
933
1249
  "required": true,
934
1250
  "type": "string"
935
1251
  },
936
- "courseWorkId": {
937
- "description": "Identifier of the course work.",
1252
+ "itemId": {
1253
+ "description": "Identifier of the announcement, courseWork, or courseWorkMaterial under which to create the attachment. This field is required, but is not marked as such while we are migrating from post_id.",
938
1254
  "location": "path",
939
1255
  "required": true,
940
1256
  "type": "string"
941
1257
  },
942
- "id": {
943
- "description": "Identifier of the student submission.",
944
- "location": "path",
945
- "required": true,
1258
+ "postId": {
1259
+ "deprecated": true,
1260
+ "description": "Optional. Deprecated, use item_id instead.",
1261
+ "location": "query",
946
1262
  "type": "string"
947
1263
  }
948
1264
  },
949
- "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}",
950
- "response": {
951
- "$ref": "StudentSubmission"
1265
+ "path": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments",
1266
+ "request": {
1267
+ "$ref": "AddOnAttachment"
952
1268
  },
953
- "scopes": [
954
- "https://www.googleapis.com/auth/classroom.coursework.me",
955
- "https://www.googleapis.com/auth/classroom.coursework.me.readonly",
956
- "https://www.googleapis.com/auth/classroom.coursework.students",
957
- "https://www.googleapis.com/auth/classroom.coursework.students.readonly",
958
- "https://www.googleapis.com/auth/classroom.student-submissions.me.readonly",
959
- "https://www.googleapis.com/auth/classroom.student-submissions.students.readonly"
960
- ]
1269
+ "response": {
1270
+ "$ref": "AddOnAttachment"
1271
+ }
961
1272
  },
962
- "list": {
963
- "description": "Returns a list of student submissions that the requester is permitted to view, factoring in the OAuth scopes of the request. `-` may be specified as the `course_work_id` to include student submissions for multiple course work items. Course students may only view their own work. Course teachers and domain administrators may view all student submissions. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.",
964
- "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions",
965
- "httpMethod": "GET",
966
- "id": "classroom.courses.courseWork.studentSubmissions.list",
1273
+ "delete": {
1274
+ "description": "Deletes an add-on attachment. Requires the add-on to have been the original creator of the attachment. 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.",
1275
+ "flatPath": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}",
1276
+ "httpMethod": "DELETE",
1277
+ "id": "classroom.courses.courseWork.addOnAttachments.delete",
967
1278
  "parameterOrder": [
968
1279
  "courseId",
969
- "courseWorkId"
1280
+ "itemId",
1281
+ "attachmentId"
970
1282
  ],
971
1283
  "parameters": {
972
- "courseId": {
973
- "description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.",
1284
+ "attachmentId": {
1285
+ "description": "Required. Identifier of the attachment.",
974
1286
  "location": "path",
975
1287
  "required": true,
976
1288
  "type": "string"
977
1289
  },
978
- "courseWorkId": {
1290
+ "courseId": {
1291
+ "description": "Required. Identifier of the course.",
1292
+ "location": "path",
1293
+ "required": true,
1294
+ "type": "string"
1295
+ },
1296
+ "itemId": {
1297
+ "description": "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 post_id.",
1298
+ "location": "path",
1299
+ "required": true,
1300
+ "type": "string"
1301
+ },
1302
+ "postId": {
1303
+ "deprecated": true,
1304
+ "description": "Optional. Deprecated, use item_id instead.",
1305
+ "location": "query",
1306
+ "type": "string"
1307
+ }
1308
+ },
1309
+ "path": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}",
1310
+ "response": {
1311
+ "$ref": "Empty"
1312
+ }
1313
+ },
1314
+ "get": {
1315
+ "description": "Returns an add-on attachment. Requires the add-on requesting the attachment to be the original creator of the attachment. 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.",
1316
+ "flatPath": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}",
1317
+ "httpMethod": "GET",
1318
+ "id": "classroom.courses.courseWork.addOnAttachments.get",
1319
+ "parameterOrder": [
1320
+ "courseId",
1321
+ "itemId",
1322
+ "attachmentId"
1323
+ ],
1324
+ "parameters": {
1325
+ "attachmentId": {
1326
+ "description": "Required. Identifier of the attachment.",
1327
+ "location": "path",
1328
+ "required": true,
1329
+ "type": "string"
1330
+ },
1331
+ "courseId": {
1332
+ "description": "Required. Identifier of the course.",
1333
+ "location": "path",
1334
+ "required": true,
1335
+ "type": "string"
1336
+ },
1337
+ "itemId": {
1338
+ "description": "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 post_id.",
1339
+ "location": "path",
1340
+ "required": true,
1341
+ "type": "string"
1342
+ },
1343
+ "postId": {
1344
+ "deprecated": true,
1345
+ "description": "Optional. Deprecated, use item_id instead.",
1346
+ "location": "query",
1347
+ "type": "string"
1348
+ }
1349
+ },
1350
+ "path": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}",
1351
+ "response": {
1352
+ "$ref": "AddOnAttachment"
1353
+ }
1354
+ },
1355
+ "list": {
1356
+ "description": "Returns all attachments created by an add-on under the post. Requires the add-on to have active attachments on the post or have permission to create new attachments on the post. 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.",
1357
+ "flatPath": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments",
1358
+ "httpMethod": "GET",
1359
+ "id": "classroom.courses.courseWork.addOnAttachments.list",
1360
+ "parameterOrder": [
1361
+ "courseId",
1362
+ "itemId"
1363
+ ],
1364
+ "parameters": {
1365
+ "courseId": {
1366
+ "description": "Required. Identifier of the course.",
1367
+ "location": "path",
1368
+ "required": true,
1369
+ "type": "string"
1370
+ },
1371
+ "itemId": {
1372
+ "description": "Identifier of the announcement, courseWork, or courseWorkMaterial whose attachments should be enumerated. This field is required, but is not marked as such while we are migrating from post_id.",
1373
+ "location": "path",
1374
+ "required": true,
1375
+ "type": "string"
1376
+ },
1377
+ "pageSize": {
1378
+ "description": "The maximum number of attachments to return. The service may return fewer than this value. If unspecified, at most 20 attachments will be returned. The maximum value is 20; values above 20 will be coerced to 20.",
1379
+ "format": "int32",
1380
+ "location": "query",
1381
+ "type": "integer"
1382
+ },
1383
+ "pageToken": {
1384
+ "description": "A page token, received from a previous `ListAddOnAttachments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAddOnAttachments` must match the call that provided the page token.",
1385
+ "location": "query",
1386
+ "type": "string"
1387
+ },
1388
+ "postId": {
1389
+ "deprecated": true,
1390
+ "description": "Optional. Identifier of the post under the course whose attachments to enumerate. Deprecated, use item_id instead.",
1391
+ "location": "query",
1392
+ "type": "string"
1393
+ }
1394
+ },
1395
+ "path": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments",
1396
+ "response": {
1397
+ "$ref": "ListAddOnAttachmentsResponse"
1398
+ }
1399
+ },
1400
+ "patch": {
1401
+ "description": "Updates an add-on attachment. Requires the add-on to have been the original creator of the attachment. 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.",
1402
+ "flatPath": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}",
1403
+ "httpMethod": "PATCH",
1404
+ "id": "classroom.courses.courseWork.addOnAttachments.patch",
1405
+ "parameterOrder": [
1406
+ "courseId",
1407
+ "itemId",
1408
+ "attachmentId"
1409
+ ],
1410
+ "parameters": {
1411
+ "attachmentId": {
1412
+ "description": "Required. Identifier of the attachment.",
1413
+ "location": "path",
1414
+ "required": true,
1415
+ "type": "string"
1416
+ },
1417
+ "courseId": {
1418
+ "description": "Required. Identifier of the course.",
1419
+ "location": "path",
1420
+ "required": true,
1421
+ "type": "string"
1422
+ },
1423
+ "itemId": {
1424
+ "description": "Identifier of the post under which the attachment is attached.",
1425
+ "location": "path",
1426
+ "required": true,
1427
+ "type": "string"
1428
+ },
1429
+ "postId": {
1430
+ "description": "Required. Identifier of the post under which the attachment is attached.",
1431
+ "location": "query",
1432
+ "type": "string"
1433
+ },
1434
+ "updateMask": {
1435
+ "description": "Required. Mask that identifies which fields on the attachment to update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the `AddOnAttachment` object. If a field that does not support empty values is included in the update mask and not set in the `AddOnAttachment` object, an `INVALID_ARGUMENT` error is returned. The following fields may be specified by teachers: * `title` * `teacher_view_uri` * `student_view_uri` * `student_work_review_uri` * `due_date` * `due_time` * `max_points`",
1436
+ "format": "google-fieldmask",
1437
+ "location": "query",
1438
+ "type": "string"
1439
+ }
1440
+ },
1441
+ "path": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}",
1442
+ "request": {
1443
+ "$ref": "AddOnAttachment"
1444
+ },
1445
+ "response": {
1446
+ "$ref": "AddOnAttachment"
1447
+ }
1448
+ }
1449
+ },
1450
+ "resources": {
1451
+ "studentSubmissions": {
1452
+ "methods": {
1453
+ "get": {
1454
+ "description": "Returns a student submission for an add-on attachment. 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.",
1455
+ "flatPath": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}",
1456
+ "httpMethod": "GET",
1457
+ "id": "classroom.courses.courseWork.addOnAttachments.studentSubmissions.get",
1458
+ "parameterOrder": [
1459
+ "courseId",
1460
+ "itemId",
1461
+ "attachmentId",
1462
+ "submissionId"
1463
+ ],
1464
+ "parameters": {
1465
+ "attachmentId": {
1466
+ "description": "Required. Identifier of the attachment.",
1467
+ "location": "path",
1468
+ "required": true,
1469
+ "type": "string"
1470
+ },
1471
+ "courseId": {
1472
+ "description": "Required. Identifier of the course.",
1473
+ "location": "path",
1474
+ "required": true,
1475
+ "type": "string"
1476
+ },
1477
+ "itemId": {
1478
+ "description": "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 post_id.",
1479
+ "location": "path",
1480
+ "required": true,
1481
+ "type": "string"
1482
+ },
1483
+ "postId": {
1484
+ "deprecated": true,
1485
+ "description": "Optional. Deprecated, use item_id instead.",
1486
+ "location": "query",
1487
+ "type": "string"
1488
+ },
1489
+ "submissionId": {
1490
+ "description": "Required. Identifier of the student\u2019s submission.",
1491
+ "location": "path",
1492
+ "required": true,
1493
+ "type": "string"
1494
+ }
1495
+ },
1496
+ "path": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}",
1497
+ "response": {
1498
+ "$ref": "AddOnAttachmentStudentSubmission"
1499
+ },
1500
+ "scopes": [
1501
+ "https://www.googleapis.com/auth/classroom.student-submissions.students.readonly"
1502
+ ]
1503
+ },
1504
+ "patch": {
1505
+ "description": "Updates data associated with an add-on attachment submission. Requires the add-on to have been the original creator of the attachment and the attachment to have a positive `max_points` value set. 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.",
1506
+ "flatPath": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}",
1507
+ "httpMethod": "PATCH",
1508
+ "id": "classroom.courses.courseWork.addOnAttachments.studentSubmissions.patch",
1509
+ "parameterOrder": [
1510
+ "courseId",
1511
+ "itemId",
1512
+ "attachmentId",
1513
+ "submissionId"
1514
+ ],
1515
+ "parameters": {
1516
+ "attachmentId": {
1517
+ "description": "Required. Identifier of the attachment.",
1518
+ "location": "path",
1519
+ "required": true,
1520
+ "type": "string"
1521
+ },
1522
+ "courseId": {
1523
+ "description": "Required. Identifier of the course.",
1524
+ "location": "path",
1525
+ "required": true,
1526
+ "type": "string"
1527
+ },
1528
+ "itemId": {
1529
+ "description": "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 post_id.",
1530
+ "location": "path",
1531
+ "required": true,
1532
+ "type": "string"
1533
+ },
1534
+ "postId": {
1535
+ "deprecated": true,
1536
+ "description": "Optional. Deprecated, use item_id instead.",
1537
+ "location": "query",
1538
+ "type": "string"
1539
+ },
1540
+ "submissionId": {
1541
+ "description": "Required. Identifier of the student's submission.",
1542
+ "location": "path",
1543
+ "required": true,
1544
+ "type": "string"
1545
+ },
1546
+ "updateMask": {
1547
+ "description": "Required. Mask that identifies which fields on the attachment to update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the `AddOnAttachmentStudentSubmission` object. The following fields may be specified by teachers: * `points_earned`",
1548
+ "format": "google-fieldmask",
1549
+ "location": "query",
1550
+ "type": "string"
1551
+ }
1552
+ },
1553
+ "path": "v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}",
1554
+ "request": {
1555
+ "$ref": "AddOnAttachmentStudentSubmission"
1556
+ },
1557
+ "response": {
1558
+ "$ref": "AddOnAttachmentStudentSubmission"
1559
+ }
1560
+ }
1561
+ }
1562
+ }
1563
+ }
1564
+ },
1565
+ "studentSubmissions": {
1566
+ "methods": {
1567
+ "get": {
1568
+ "description": "Returns a student submission. * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course, course work, or student submission or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.",
1569
+ "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}",
1570
+ "httpMethod": "GET",
1571
+ "id": "classroom.courses.courseWork.studentSubmissions.get",
1572
+ "parameterOrder": [
1573
+ "courseId",
1574
+ "courseWorkId",
1575
+ "id"
1576
+ ],
1577
+ "parameters": {
1578
+ "courseId": {
1579
+ "description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.",
1580
+ "location": "path",
1581
+ "required": true,
1582
+ "type": "string"
1583
+ },
1584
+ "courseWorkId": {
1585
+ "description": "Identifier of the course work.",
1586
+ "location": "path",
1587
+ "required": true,
1588
+ "type": "string"
1589
+ },
1590
+ "id": {
1591
+ "description": "Identifier of the student submission.",
1592
+ "location": "path",
1593
+ "required": true,
1594
+ "type": "string"
1595
+ }
1596
+ },
1597
+ "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}",
1598
+ "response": {
1599
+ "$ref": "StudentSubmission"
1600
+ },
1601
+ "scopes": [
1602
+ "https://www.googleapis.com/auth/classroom.coursework.me",
1603
+ "https://www.googleapis.com/auth/classroom.coursework.me.readonly",
1604
+ "https://www.googleapis.com/auth/classroom.coursework.students",
1605
+ "https://www.googleapis.com/auth/classroom.coursework.students.readonly",
1606
+ "https://www.googleapis.com/auth/classroom.student-submissions.me.readonly",
1607
+ "https://www.googleapis.com/auth/classroom.student-submissions.students.readonly"
1608
+ ]
1609
+ },
1610
+ "list": {
1611
+ "description": "Returns a list of student submissions that the requester is permitted to view, factoring in the OAuth scopes of the request. `-` may be specified as the `course_work_id` to include student submissions for multiple course work items. Course students may only view their own work. Course teachers and domain administrators may view all student submissions. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.",
1612
+ "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions",
1613
+ "httpMethod": "GET",
1614
+ "id": "classroom.courses.courseWork.studentSubmissions.list",
1615
+ "parameterOrder": [
1616
+ "courseId",
1617
+ "courseWorkId"
1618
+ ],
1619
+ "parameters": {
1620
+ "courseId": {
1621
+ "description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.",
1622
+ "location": "path",
1623
+ "required": true,
1624
+ "type": "string"
1625
+ },
1626
+ "courseWorkId": {
979
1627
  "description": "Identifier of the student work to request. This may be set to the string literal `\"-\"` to request student work for all course work in the specified course.",
980
1628
  "location": "path",
981
1629
  "required": true,
@@ -1310,161 +1958,808 @@
1310
1958
  "required": true,
1311
1959
  "type": "string"
1312
1960
  },
1313
- "id": {
1314
- "description": "Identifier of the course work material to delete. This identifier is a Classroom-assigned identifier.",
1961
+ "id": {
1962
+ "description": "Identifier of the course work material to delete. This identifier is a Classroom-assigned identifier.",
1963
+ "location": "path",
1964
+ "required": true,
1965
+ "type": "string"
1966
+ }
1967
+ },
1968
+ "path": "v1/courses/{courseId}/courseWorkMaterials/{id}",
1969
+ "response": {
1970
+ "$ref": "Empty"
1971
+ },
1972
+ "scopes": [
1973
+ "https://www.googleapis.com/auth/classroom.courseworkmaterials"
1974
+ ]
1975
+ },
1976
+ "get": {
1977
+ "description": "Returns a course work material. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work material, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course or course work material does not exist.",
1978
+ "flatPath": "v1/courses/{courseId}/courseWorkMaterials/{id}",
1979
+ "httpMethod": "GET",
1980
+ "id": "classroom.courses.courseWorkMaterials.get",
1981
+ "parameterOrder": [
1982
+ "courseId",
1983
+ "id"
1984
+ ],
1985
+ "parameters": {
1986
+ "courseId": {
1987
+ "description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.",
1988
+ "location": "path",
1989
+ "required": true,
1990
+ "type": "string"
1991
+ },
1992
+ "id": {
1993
+ "description": "Identifier of the course work material.",
1994
+ "location": "path",
1995
+ "required": true,
1996
+ "type": "string"
1997
+ }
1998
+ },
1999
+ "path": "v1/courses/{courseId}/courseWorkMaterials/{id}",
2000
+ "response": {
2001
+ "$ref": "CourseWorkMaterial"
2002
+ },
2003
+ "scopes": [
2004
+ "https://www.googleapis.com/auth/classroom.courseworkmaterials",
2005
+ "https://www.googleapis.com/auth/classroom.courseworkmaterials.readonly"
2006
+ ]
2007
+ },
2008
+ "getAddOnContext": {
2009
+ "description": "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](https://developers.google.com/classroom/add-ons/get-started/iframes/iframes-overview). 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.",
2010
+ "flatPath": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnContext",
2011
+ "httpMethod": "GET",
2012
+ "id": "classroom.courses.courseWorkMaterials.getAddOnContext",
2013
+ "parameterOrder": [
2014
+ "courseId",
2015
+ "itemId"
2016
+ ],
2017
+ "parameters": {
2018
+ "addOnToken": {
2019
+ "description": "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.",
2020
+ "location": "query",
2021
+ "type": "string"
2022
+ },
2023
+ "attachmentId": {
2024
+ "description": "Optional. The identifier of the attachment. This field is required for student users and optional for teacher users. If not provided in the student case, an error is returned.",
2025
+ "location": "query",
2026
+ "type": "string"
2027
+ },
2028
+ "courseId": {
2029
+ "description": "Required. Identifier of the course.",
2030
+ "location": "path",
2031
+ "required": true,
2032
+ "type": "string"
2033
+ },
2034
+ "itemId": {
2035
+ "description": "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 post_id.",
2036
+ "location": "path",
2037
+ "required": true,
2038
+ "type": "string"
2039
+ },
2040
+ "postId": {
2041
+ "deprecated": true,
2042
+ "description": "Optional. Deprecated, use item_id instead.",
2043
+ "location": "query",
2044
+ "type": "string"
2045
+ }
2046
+ },
2047
+ "path": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnContext",
2048
+ "response": {
2049
+ "$ref": "AddOnContext"
2050
+ }
2051
+ },
2052
+ "list": {
2053
+ "description": "Returns a list of course work material that the requester is permitted to view. Course students may only view `PUBLISHED` course work material. Course teachers and domain administrators may view all course work material. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.",
2054
+ "flatPath": "v1/courses/{courseId}/courseWorkMaterials",
2055
+ "httpMethod": "GET",
2056
+ "id": "classroom.courses.courseWorkMaterials.list",
2057
+ "parameterOrder": [
2058
+ "courseId"
2059
+ ],
2060
+ "parameters": {
2061
+ "courseId": {
2062
+ "description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.",
2063
+ "location": "path",
2064
+ "required": true,
2065
+ "type": "string"
2066
+ },
2067
+ "courseWorkMaterialStates": {
2068
+ "description": "Restriction on the work status to return. Only course work material that matches is returned. If unspecified, items with a work status of `PUBLISHED` is returned.",
2069
+ "enum": [
2070
+ "COURSEWORK_MATERIAL_STATE_UNSPECIFIED",
2071
+ "PUBLISHED",
2072
+ "DRAFT",
2073
+ "DELETED"
2074
+ ],
2075
+ "enumDescriptions": [
2076
+ "No state specified. This is never returned.",
2077
+ "Status for course work material that has been published. This is the default state.",
2078
+ "Status for a course work material that is not yet published. Course work material in this state is visible only to course teachers and domain administrators.",
2079
+ "Status for course work material that was published but is now deleted. Course work material in this state is visible only to course teachers and domain administrators. Course work material in this state is deleted after some time."
2080
+ ],
2081
+ "location": "query",
2082
+ "repeated": true,
2083
+ "type": "string"
2084
+ },
2085
+ "materialDriveId": {
2086
+ "description": "Optional filtering for course work material with at least one Drive material whose ID matches the provided string. If `material_link` is also specified, course work material must have materials matching both filters.",
2087
+ "location": "query",
2088
+ "type": "string"
2089
+ },
2090
+ "materialLink": {
2091
+ "description": "Optional filtering for course work material with at least one link material whose URL partially matches the provided string.",
2092
+ "location": "query",
2093
+ "type": "string"
2094
+ },
2095
+ "orderBy": {
2096
+ "description": "Optional sort ordering for results. A comma-separated list of fields with an optional sort direction keyword. Supported field is `updateTime`. Supported direction keywords are `asc` and `desc`. If not specified, `updateTime desc` is the default behavior. Examples: `updateTime asc`, `updateTime`",
2097
+ "location": "query",
2098
+ "type": "string"
2099
+ },
2100
+ "pageSize": {
2101
+ "description": "Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.",
2102
+ "format": "int32",
2103
+ "location": "query",
2104
+ "type": "integer"
2105
+ },
2106
+ "pageToken": {
2107
+ "description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.",
2108
+ "location": "query",
2109
+ "type": "string"
2110
+ }
2111
+ },
2112
+ "path": "v1/courses/{courseId}/courseWorkMaterials",
2113
+ "response": {
2114
+ "$ref": "ListCourseWorkMaterialResponse"
2115
+ },
2116
+ "scopes": [
2117
+ "https://www.googleapis.com/auth/classroom.courseworkmaterials",
2118
+ "https://www.googleapis.com/auth/classroom.courseworkmaterials.readonly"
2119
+ ]
2120
+ },
2121
+ "patch": {
2122
+ "description": "Updates one or more fields of a course work material. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `FAILED_PRECONDITION` if the requested course work material has already been deleted. * `NOT_FOUND` if the requested course or course work material does not exist",
2123
+ "flatPath": "v1/courses/{courseId}/courseWorkMaterials/{id}",
2124
+ "httpMethod": "PATCH",
2125
+ "id": "classroom.courses.courseWorkMaterials.patch",
2126
+ "parameterOrder": [
2127
+ "courseId",
2128
+ "id"
2129
+ ],
2130
+ "parameters": {
2131
+ "courseId": {
2132
+ "description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.",
2133
+ "location": "path",
2134
+ "required": true,
2135
+ "type": "string"
2136
+ },
2137
+ "id": {
2138
+ "description": "Identifier of the course work material.",
2139
+ "location": "path",
2140
+ "required": true,
2141
+ "type": "string"
2142
+ },
2143
+ "updateMask": {
2144
+ "description": "Mask that identifies which fields on the course work material to update. This field is required to do an update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the course work material object. If a field that does not support empty values is included in the update mask and not set in the course work material object, an `INVALID_ARGUMENT` error is returned. The following fields may be specified by teachers: * `title` * `description` * `state` * `scheduled_time` * `topic_id`",
2145
+ "format": "google-fieldmask",
2146
+ "location": "query",
2147
+ "type": "string"
2148
+ }
2149
+ },
2150
+ "path": "v1/courses/{courseId}/courseWorkMaterials/{id}",
2151
+ "request": {
2152
+ "$ref": "CourseWorkMaterial"
2153
+ },
2154
+ "response": {
2155
+ "$ref": "CourseWorkMaterial"
2156
+ },
2157
+ "scopes": [
2158
+ "https://www.googleapis.com/auth/classroom.courseworkmaterials"
2159
+ ]
2160
+ }
2161
+ },
2162
+ "resources": {
2163
+ "addOnAttachments": {
2164
+ "methods": {
2165
+ "create": {
2166
+ "description": "Creates an add-on attachment under a post. Requires the add-on to have permission to create new attachments on the post. 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.",
2167
+ "flatPath": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments",
2168
+ "httpMethod": "POST",
2169
+ "id": "classroom.courses.courseWorkMaterials.addOnAttachments.create",
2170
+ "parameterOrder": [
2171
+ "courseId",
2172
+ "itemId"
2173
+ ],
2174
+ "parameters": {
2175
+ "addOnToken": {
2176
+ "description": "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. This authorization token is required for in-Classroom attachment creation but optional for partner-first attachment creation. Returns an error if not provided for partner-first attachment creation and the developer projects that created the attachment and its parent stream item do not match.",
2177
+ "location": "query",
2178
+ "type": "string"
2179
+ },
2180
+ "courseId": {
2181
+ "description": "Required. Identifier of the course.",
2182
+ "location": "path",
2183
+ "required": true,
2184
+ "type": "string"
2185
+ },
2186
+ "itemId": {
2187
+ "description": "Identifier of the announcement, courseWork, or courseWorkMaterial under which to create the attachment. This field is required, but is not marked as such while we are migrating from post_id.",
2188
+ "location": "path",
2189
+ "required": true,
2190
+ "type": "string"
2191
+ },
2192
+ "postId": {
2193
+ "deprecated": true,
2194
+ "description": "Optional. Deprecated, use item_id instead.",
2195
+ "location": "query",
2196
+ "type": "string"
2197
+ }
2198
+ },
2199
+ "path": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments",
2200
+ "request": {
2201
+ "$ref": "AddOnAttachment"
2202
+ },
2203
+ "response": {
2204
+ "$ref": "AddOnAttachment"
2205
+ }
2206
+ },
2207
+ "delete": {
2208
+ "description": "Deletes an add-on attachment. Requires the add-on to have been the original creator of the attachment. 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.",
2209
+ "flatPath": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}",
2210
+ "httpMethod": "DELETE",
2211
+ "id": "classroom.courses.courseWorkMaterials.addOnAttachments.delete",
2212
+ "parameterOrder": [
2213
+ "courseId",
2214
+ "itemId",
2215
+ "attachmentId"
2216
+ ],
2217
+ "parameters": {
2218
+ "attachmentId": {
2219
+ "description": "Required. Identifier of the attachment.",
2220
+ "location": "path",
2221
+ "required": true,
2222
+ "type": "string"
2223
+ },
2224
+ "courseId": {
2225
+ "description": "Required. Identifier of the course.",
2226
+ "location": "path",
2227
+ "required": true,
2228
+ "type": "string"
2229
+ },
2230
+ "itemId": {
2231
+ "description": "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 post_id.",
2232
+ "location": "path",
2233
+ "required": true,
2234
+ "type": "string"
2235
+ },
2236
+ "postId": {
2237
+ "deprecated": true,
2238
+ "description": "Optional. Deprecated, use item_id instead.",
2239
+ "location": "query",
2240
+ "type": "string"
2241
+ }
2242
+ },
2243
+ "path": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}",
2244
+ "response": {
2245
+ "$ref": "Empty"
2246
+ }
2247
+ },
2248
+ "get": {
2249
+ "description": "Returns an add-on attachment. Requires the add-on requesting the attachment to be the original creator of the attachment. 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.",
2250
+ "flatPath": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}",
2251
+ "httpMethod": "GET",
2252
+ "id": "classroom.courses.courseWorkMaterials.addOnAttachments.get",
2253
+ "parameterOrder": [
2254
+ "courseId",
2255
+ "itemId",
2256
+ "attachmentId"
2257
+ ],
2258
+ "parameters": {
2259
+ "attachmentId": {
2260
+ "description": "Required. Identifier of the attachment.",
2261
+ "location": "path",
2262
+ "required": true,
2263
+ "type": "string"
2264
+ },
2265
+ "courseId": {
2266
+ "description": "Required. Identifier of the course.",
2267
+ "location": "path",
2268
+ "required": true,
2269
+ "type": "string"
2270
+ },
2271
+ "itemId": {
2272
+ "description": "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 post_id.",
2273
+ "location": "path",
2274
+ "required": true,
2275
+ "type": "string"
2276
+ },
2277
+ "postId": {
2278
+ "deprecated": true,
2279
+ "description": "Optional. Deprecated, use item_id instead.",
2280
+ "location": "query",
2281
+ "type": "string"
2282
+ }
2283
+ },
2284
+ "path": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}",
2285
+ "response": {
2286
+ "$ref": "AddOnAttachment"
2287
+ }
2288
+ },
2289
+ "list": {
2290
+ "description": "Returns all attachments created by an add-on under the post. Requires the add-on to have active attachments on the post or have permission to create new attachments on the post. 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.",
2291
+ "flatPath": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments",
2292
+ "httpMethod": "GET",
2293
+ "id": "classroom.courses.courseWorkMaterials.addOnAttachments.list",
2294
+ "parameterOrder": [
2295
+ "courseId",
2296
+ "itemId"
2297
+ ],
2298
+ "parameters": {
2299
+ "courseId": {
2300
+ "description": "Required. Identifier of the course.",
2301
+ "location": "path",
2302
+ "required": true,
2303
+ "type": "string"
2304
+ },
2305
+ "itemId": {
2306
+ "description": "Identifier of the announcement, courseWork, or courseWorkMaterial whose attachments should be enumerated. This field is required, but is not marked as such while we are migrating from post_id.",
2307
+ "location": "path",
2308
+ "required": true,
2309
+ "type": "string"
2310
+ },
2311
+ "pageSize": {
2312
+ "description": "The maximum number of attachments to return. The service may return fewer than this value. If unspecified, at most 20 attachments will be returned. The maximum value is 20; values above 20 will be coerced to 20.",
2313
+ "format": "int32",
2314
+ "location": "query",
2315
+ "type": "integer"
2316
+ },
2317
+ "pageToken": {
2318
+ "description": "A page token, received from a previous `ListAddOnAttachments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAddOnAttachments` must match the call that provided the page token.",
2319
+ "location": "query",
2320
+ "type": "string"
2321
+ },
2322
+ "postId": {
2323
+ "deprecated": true,
2324
+ "description": "Optional. Identifier of the post under the course whose attachments to enumerate. Deprecated, use item_id instead.",
2325
+ "location": "query",
2326
+ "type": "string"
2327
+ }
2328
+ },
2329
+ "path": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments",
2330
+ "response": {
2331
+ "$ref": "ListAddOnAttachmentsResponse"
2332
+ }
2333
+ },
2334
+ "patch": {
2335
+ "description": "Updates an add-on attachment. Requires the add-on to have been the original creator of the attachment. 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.",
2336
+ "flatPath": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}",
2337
+ "httpMethod": "PATCH",
2338
+ "id": "classroom.courses.courseWorkMaterials.addOnAttachments.patch",
2339
+ "parameterOrder": [
2340
+ "courseId",
2341
+ "itemId",
2342
+ "attachmentId"
2343
+ ],
2344
+ "parameters": {
2345
+ "attachmentId": {
2346
+ "description": "Required. Identifier of the attachment.",
2347
+ "location": "path",
2348
+ "required": true,
2349
+ "type": "string"
2350
+ },
2351
+ "courseId": {
2352
+ "description": "Required. Identifier of the course.",
2353
+ "location": "path",
2354
+ "required": true,
2355
+ "type": "string"
2356
+ },
2357
+ "itemId": {
2358
+ "description": "Identifier of the post under which the attachment is attached.",
2359
+ "location": "path",
2360
+ "required": true,
2361
+ "type": "string"
2362
+ },
2363
+ "postId": {
2364
+ "description": "Required. Identifier of the post under which the attachment is attached.",
2365
+ "location": "query",
2366
+ "type": "string"
2367
+ },
2368
+ "updateMask": {
2369
+ "description": "Required. Mask that identifies which fields on the attachment to update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the `AddOnAttachment` object. If a field that does not support empty values is included in the update mask and not set in the `AddOnAttachment` object, an `INVALID_ARGUMENT` error is returned. The following fields may be specified by teachers: * `title` * `teacher_view_uri` * `student_view_uri` * `student_work_review_uri` * `due_date` * `due_time` * `max_points`",
2370
+ "format": "google-fieldmask",
2371
+ "location": "query",
2372
+ "type": "string"
2373
+ }
2374
+ },
2375
+ "path": "v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}",
2376
+ "request": {
2377
+ "$ref": "AddOnAttachment"
2378
+ },
2379
+ "response": {
2380
+ "$ref": "AddOnAttachment"
2381
+ }
2382
+ }
2383
+ }
2384
+ }
2385
+ }
2386
+ },
2387
+ "posts": {
2388
+ "methods": {
2389
+ "getAddOnContext": {
2390
+ "description": "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](https://developers.google.com/classroom/add-ons/get-started/iframes/iframes-overview). 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.",
2391
+ "flatPath": "v1/courses/{courseId}/posts/{postId}/addOnContext",
2392
+ "httpMethod": "GET",
2393
+ "id": "classroom.courses.posts.getAddOnContext",
2394
+ "parameterOrder": [
2395
+ "courseId",
2396
+ "postId"
2397
+ ],
2398
+ "parameters": {
2399
+ "addOnToken": {
2400
+ "description": "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.",
2401
+ "location": "query",
2402
+ "type": "string"
2403
+ },
2404
+ "attachmentId": {
2405
+ "description": "Optional. The identifier of the attachment. This field is required for student users and optional for teacher users. If not provided in the student case, an error is returned.",
2406
+ "location": "query",
2407
+ "type": "string"
2408
+ },
2409
+ "courseId": {
2410
+ "description": "Required. Identifier of the course.",
2411
+ "location": "path",
2412
+ "required": true,
2413
+ "type": "string"
2414
+ },
2415
+ "itemId": {
2416
+ "description": "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 post_id.",
2417
+ "location": "query",
2418
+ "type": "string"
2419
+ },
2420
+ "postId": {
2421
+ "description": "Optional. Deprecated, use item_id instead.",
2422
+ "location": "path",
2423
+ "required": true,
2424
+ "type": "string"
2425
+ }
2426
+ },
2427
+ "path": "v1/courses/{courseId}/posts/{postId}/addOnContext",
2428
+ "response": {
2429
+ "$ref": "AddOnContext"
2430
+ }
2431
+ }
2432
+ },
2433
+ "resources": {
2434
+ "addOnAttachments": {
2435
+ "methods": {
2436
+ "create": {
2437
+ "description": "Creates an add-on attachment under a post. Requires the add-on to have permission to create new attachments on the post. 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.",
2438
+ "flatPath": "v1/courses/{courseId}/posts/{postId}/addOnAttachments",
2439
+ "httpMethod": "POST",
2440
+ "id": "classroom.courses.posts.addOnAttachments.create",
2441
+ "parameterOrder": [
2442
+ "courseId",
2443
+ "postId"
2444
+ ],
2445
+ "parameters": {
2446
+ "addOnToken": {
2447
+ "description": "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. This authorization token is required for in-Classroom attachment creation but optional for partner-first attachment creation. Returns an error if not provided for partner-first attachment creation and the developer projects that created the attachment and its parent stream item do not match.",
2448
+ "location": "query",
2449
+ "type": "string"
2450
+ },
2451
+ "courseId": {
2452
+ "description": "Required. Identifier of the course.",
2453
+ "location": "path",
2454
+ "required": true,
2455
+ "type": "string"
2456
+ },
2457
+ "itemId": {
2458
+ "description": "Identifier of the announcement, courseWork, or courseWorkMaterial under which to create the attachment. This field is required, but is not marked as such while we are migrating from post_id.",
2459
+ "location": "query",
2460
+ "type": "string"
2461
+ },
2462
+ "postId": {
2463
+ "description": "Optional. Deprecated, use item_id instead.",
2464
+ "location": "path",
2465
+ "required": true,
2466
+ "type": "string"
2467
+ }
2468
+ },
2469
+ "path": "v1/courses/{courseId}/posts/{postId}/addOnAttachments",
2470
+ "request": {
2471
+ "$ref": "AddOnAttachment"
2472
+ },
2473
+ "response": {
2474
+ "$ref": "AddOnAttachment"
2475
+ }
2476
+ },
2477
+ "delete": {
2478
+ "description": "Deletes an add-on attachment. Requires the add-on to have been the original creator of the attachment. 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.",
2479
+ "flatPath": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}",
2480
+ "httpMethod": "DELETE",
2481
+ "id": "classroom.courses.posts.addOnAttachments.delete",
2482
+ "parameterOrder": [
2483
+ "courseId",
2484
+ "postId",
2485
+ "attachmentId"
2486
+ ],
2487
+ "parameters": {
2488
+ "attachmentId": {
2489
+ "description": "Required. Identifier of the attachment.",
2490
+ "location": "path",
2491
+ "required": true,
2492
+ "type": "string"
2493
+ },
2494
+ "courseId": {
2495
+ "description": "Required. Identifier of the course.",
2496
+ "location": "path",
2497
+ "required": true,
2498
+ "type": "string"
2499
+ },
2500
+ "itemId": {
2501
+ "description": "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 post_id.",
2502
+ "location": "query",
2503
+ "type": "string"
2504
+ },
2505
+ "postId": {
2506
+ "description": "Optional. Deprecated, use item_id instead.",
2507
+ "location": "path",
2508
+ "required": true,
2509
+ "type": "string"
2510
+ }
2511
+ },
2512
+ "path": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}",
2513
+ "response": {
2514
+ "$ref": "Empty"
2515
+ }
2516
+ },
2517
+ "get": {
2518
+ "description": "Returns an add-on attachment. Requires the add-on requesting the attachment to be the original creator of the attachment. 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.",
2519
+ "flatPath": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}",
2520
+ "httpMethod": "GET",
2521
+ "id": "classroom.courses.posts.addOnAttachments.get",
2522
+ "parameterOrder": [
2523
+ "courseId",
2524
+ "postId",
2525
+ "attachmentId"
2526
+ ],
2527
+ "parameters": {
2528
+ "attachmentId": {
2529
+ "description": "Required. Identifier of the attachment.",
2530
+ "location": "path",
2531
+ "required": true,
2532
+ "type": "string"
2533
+ },
2534
+ "courseId": {
2535
+ "description": "Required. Identifier of the course.",
2536
+ "location": "path",
2537
+ "required": true,
2538
+ "type": "string"
2539
+ },
2540
+ "itemId": {
2541
+ "description": "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 post_id.",
2542
+ "location": "query",
2543
+ "type": "string"
2544
+ },
2545
+ "postId": {
2546
+ "description": "Optional. Deprecated, use item_id instead.",
2547
+ "location": "path",
2548
+ "required": true,
2549
+ "type": "string"
2550
+ }
2551
+ },
2552
+ "path": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}",
2553
+ "response": {
2554
+ "$ref": "AddOnAttachment"
2555
+ }
2556
+ },
2557
+ "list": {
2558
+ "description": "Returns all attachments created by an add-on under the post. Requires the add-on to have active attachments on the post or have permission to create new attachments on the post. 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.",
2559
+ "flatPath": "v1/courses/{courseId}/posts/{postId}/addOnAttachments",
2560
+ "httpMethod": "GET",
2561
+ "id": "classroom.courses.posts.addOnAttachments.list",
2562
+ "parameterOrder": [
2563
+ "courseId",
2564
+ "postId"
2565
+ ],
2566
+ "parameters": {
2567
+ "courseId": {
2568
+ "description": "Required. Identifier of the course.",
2569
+ "location": "path",
2570
+ "required": true,
2571
+ "type": "string"
2572
+ },
2573
+ "itemId": {
2574
+ "description": "Identifier of the announcement, courseWork, or courseWorkMaterial whose attachments should be enumerated. This field is required, but is not marked as such while we are migrating from post_id.",
2575
+ "location": "query",
2576
+ "type": "string"
2577
+ },
2578
+ "pageSize": {
2579
+ "description": "The maximum number of attachments to return. The service may return fewer than this value. If unspecified, at most 20 attachments will be returned. The maximum value is 20; values above 20 will be coerced to 20.",
2580
+ "format": "int32",
2581
+ "location": "query",
2582
+ "type": "integer"
2583
+ },
2584
+ "pageToken": {
2585
+ "description": "A page token, received from a previous `ListAddOnAttachments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAddOnAttachments` must match the call that provided the page token.",
2586
+ "location": "query",
2587
+ "type": "string"
2588
+ },
2589
+ "postId": {
2590
+ "description": "Optional. Identifier of the post under the course whose attachments to enumerate. Deprecated, use item_id instead.",
1315
2591
  "location": "path",
1316
2592
  "required": true,
1317
2593
  "type": "string"
1318
2594
  }
1319
2595
  },
1320
- "path": "v1/courses/{courseId}/courseWorkMaterials/{id}",
2596
+ "path": "v1/courses/{courseId}/posts/{postId}/addOnAttachments",
1321
2597
  "response": {
1322
- "$ref": "Empty"
1323
- },
1324
- "scopes": [
1325
- "https://www.googleapis.com/auth/classroom.courseworkmaterials"
1326
- ]
2598
+ "$ref": "ListAddOnAttachmentsResponse"
2599
+ }
1327
2600
  },
1328
- "get": {
1329
- "description": "Returns a course work material. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work material, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course or course work material does not exist.",
1330
- "flatPath": "v1/courses/{courseId}/courseWorkMaterials/{id}",
1331
- "httpMethod": "GET",
1332
- "id": "classroom.courses.courseWorkMaterials.get",
2601
+ "patch": {
2602
+ "description": "Updates an add-on attachment. Requires the add-on to have been the original creator of the attachment. 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.",
2603
+ "flatPath": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}",
2604
+ "httpMethod": "PATCH",
2605
+ "id": "classroom.courses.posts.addOnAttachments.patch",
1333
2606
  "parameterOrder": [
1334
2607
  "courseId",
1335
- "id"
2608
+ "postId",
2609
+ "attachmentId"
1336
2610
  ],
1337
2611
  "parameters": {
2612
+ "attachmentId": {
2613
+ "description": "Required. Identifier of the attachment.",
2614
+ "location": "path",
2615
+ "required": true,
2616
+ "type": "string"
2617
+ },
1338
2618
  "courseId": {
1339
- "description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.",
2619
+ "description": "Required. Identifier of the course.",
1340
2620
  "location": "path",
1341
2621
  "required": true,
1342
2622
  "type": "string"
1343
2623
  },
1344
- "id": {
1345
- "description": "Identifier of the course work material.",
2624
+ "itemId": {
2625
+ "description": "Identifier of the post under which the attachment is attached.",
2626
+ "location": "query",
2627
+ "type": "string"
2628
+ },
2629
+ "postId": {
2630
+ "description": "Required. Identifier of the post under which the attachment is attached.",
1346
2631
  "location": "path",
1347
2632
  "required": true,
1348
2633
  "type": "string"
2634
+ },
2635
+ "updateMask": {
2636
+ "description": "Required. Mask that identifies which fields on the attachment to update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the `AddOnAttachment` object. If a field that does not support empty values is included in the update mask and not set in the `AddOnAttachment` object, an `INVALID_ARGUMENT` error is returned. The following fields may be specified by teachers: * `title` * `teacher_view_uri` * `student_view_uri` * `student_work_review_uri` * `due_date` * `due_time` * `max_points`",
2637
+ "format": "google-fieldmask",
2638
+ "location": "query",
2639
+ "type": "string"
1349
2640
  }
1350
2641
  },
1351
- "path": "v1/courses/{courseId}/courseWorkMaterials/{id}",
1352
- "response": {
1353
- "$ref": "CourseWorkMaterial"
2642
+ "path": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}",
2643
+ "request": {
2644
+ "$ref": "AddOnAttachment"
1354
2645
  },
1355
- "scopes": [
1356
- "https://www.googleapis.com/auth/classroom.courseworkmaterials",
1357
- "https://www.googleapis.com/auth/classroom.courseworkmaterials.readonly"
1358
- ]
2646
+ "response": {
2647
+ "$ref": "AddOnAttachment"
2648
+ }
2649
+ }
1359
2650
  },
1360
- "list": {
1361
- "description": "Returns a list of course work material that the requester is permitted to view. Course students may only view `PUBLISHED` course work material. Course teachers and domain administrators may view all course work material. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.",
1362
- "flatPath": "v1/courses/{courseId}/courseWorkMaterials",
2651
+ "resources": {
2652
+ "studentSubmissions": {
2653
+ "methods": {
2654
+ "get": {
2655
+ "description": "Returns a student submission for an add-on attachment. 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.",
2656
+ "flatPath": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}",
1363
2657
  "httpMethod": "GET",
1364
- "id": "classroom.courses.courseWorkMaterials.list",
2658
+ "id": "classroom.courses.posts.addOnAttachments.studentSubmissions.get",
1365
2659
  "parameterOrder": [
1366
- "courseId"
2660
+ "courseId",
2661
+ "postId",
2662
+ "attachmentId",
2663
+ "submissionId"
1367
2664
  ],
1368
2665
  "parameters": {
1369
- "courseId": {
1370
- "description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.",
2666
+ "attachmentId": {
2667
+ "description": "Required. Identifier of the attachment.",
1371
2668
  "location": "path",
1372
2669
  "required": true,
1373
2670
  "type": "string"
1374
2671
  },
1375
- "courseWorkMaterialStates": {
1376
- "description": "Restriction on the work status to return. Only course work material that matches is returned. If unspecified, items with a work status of `PUBLISHED` is returned.",
1377
- "enum": [
1378
- "COURSEWORK_MATERIAL_STATE_UNSPECIFIED",
1379
- "PUBLISHED",
1380
- "DRAFT",
1381
- "DELETED"
1382
- ],
1383
- "enumDescriptions": [
1384
- "No state specified. This is never returned.",
1385
- "Status for course work material that has been published. This is the default state.",
1386
- "Status for a course work material that is not yet published. Course work material in this state is visible only to course teachers and domain administrators.",
1387
- "Status for course work material that was published but is now deleted. Course work material in this state is visible only to course teachers and domain administrators. Course work material in this state is deleted after some time."
1388
- ],
1389
- "location": "query",
1390
- "repeated": true,
1391
- "type": "string"
1392
- },
1393
- "materialDriveId": {
1394
- "description": "Optional filtering for course work material with at least one Drive material whose ID matches the provided string. If `material_link` is also specified, course work material must have materials matching both filters.",
1395
- "location": "query",
2672
+ "courseId": {
2673
+ "description": "Required. Identifier of the course.",
2674
+ "location": "path",
2675
+ "required": true,
1396
2676
  "type": "string"
1397
2677
  },
1398
- "materialLink": {
1399
- "description": "Optional filtering for course work material with at least one link material whose URL partially matches the provided string.",
2678
+ "itemId": {
2679
+ "description": "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 post_id.",
1400
2680
  "location": "query",
1401
2681
  "type": "string"
1402
2682
  },
1403
- "orderBy": {
1404
- "description": "Optional sort ordering for results. A comma-separated list of fields with an optional sort direction keyword. Supported field is `updateTime`. Supported direction keywords are `asc` and `desc`. If not specified, `updateTime desc` is the default behavior. Examples: `updateTime asc`, `updateTime`",
1405
- "location": "query",
2683
+ "postId": {
2684
+ "description": "Optional. Deprecated, use item_id instead.",
2685
+ "location": "path",
2686
+ "required": true,
1406
2687
  "type": "string"
1407
2688
  },
1408
- "pageSize": {
1409
- "description": "Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.",
1410
- "format": "int32",
1411
- "location": "query",
1412
- "type": "integer"
1413
- },
1414
- "pageToken": {
1415
- "description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.",
1416
- "location": "query",
2689
+ "submissionId": {
2690
+ "description": "Required. Identifier of the student\u2019s submission.",
2691
+ "location": "path",
2692
+ "required": true,
1417
2693
  "type": "string"
1418
2694
  }
1419
2695
  },
1420
- "path": "v1/courses/{courseId}/courseWorkMaterials",
2696
+ "path": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}",
1421
2697
  "response": {
1422
- "$ref": "ListCourseWorkMaterialResponse"
2698
+ "$ref": "AddOnAttachmentStudentSubmission"
1423
2699
  },
1424
2700
  "scopes": [
1425
- "https://www.googleapis.com/auth/classroom.courseworkmaterials",
1426
- "https://www.googleapis.com/auth/classroom.courseworkmaterials.readonly"
2701
+ "https://www.googleapis.com/auth/classroom.student-submissions.students.readonly"
1427
2702
  ]
1428
2703
  },
1429
2704
  "patch": {
1430
- "description": "Updates one or more fields of a course work material. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `FAILED_PRECONDITION` if the requested course work material has already been deleted. * `NOT_FOUND` if the requested course or course work material does not exist",
1431
- "flatPath": "v1/courses/{courseId}/courseWorkMaterials/{id}",
2705
+ "description": "Updates data associated with an add-on attachment submission. Requires the add-on to have been the original creator of the attachment and the attachment to have a positive `max_points` value set. 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.",
2706
+ "flatPath": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}",
1432
2707
  "httpMethod": "PATCH",
1433
- "id": "classroom.courses.courseWorkMaterials.patch",
2708
+ "id": "classroom.courses.posts.addOnAttachments.studentSubmissions.patch",
1434
2709
  "parameterOrder": [
1435
2710
  "courseId",
1436
- "id"
2711
+ "postId",
2712
+ "attachmentId",
2713
+ "submissionId"
1437
2714
  ],
1438
2715
  "parameters": {
2716
+ "attachmentId": {
2717
+ "description": "Required. Identifier of the attachment.",
2718
+ "location": "path",
2719
+ "required": true,
2720
+ "type": "string"
2721
+ },
1439
2722
  "courseId": {
1440
- "description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.",
2723
+ "description": "Required. Identifier of the course.",
1441
2724
  "location": "path",
1442
2725
  "required": true,
1443
2726
  "type": "string"
1444
2727
  },
1445
- "id": {
1446
- "description": "Identifier of the course work material.",
2728
+ "itemId": {
2729
+ "description": "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 post_id.",
2730
+ "location": "query",
2731
+ "type": "string"
2732
+ },
2733
+ "postId": {
2734
+ "description": "Optional. Deprecated, use item_id instead.",
2735
+ "location": "path",
2736
+ "required": true,
2737
+ "type": "string"
2738
+ },
2739
+ "submissionId": {
2740
+ "description": "Required. Identifier of the student's submission.",
1447
2741
  "location": "path",
1448
2742
  "required": true,
1449
2743
  "type": "string"
1450
2744
  },
1451
2745
  "updateMask": {
1452
- "description": "Mask that identifies which fields on the course work material to update. This field is required to do an update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the course work material object. If a field that does not support empty values is included in the update mask and not set in the course work material object, an `INVALID_ARGUMENT` error is returned. The following fields may be specified by teachers: * `title` * `description` * `state` * `scheduled_time` * `topic_id`",
2746
+ "description": "Required. Mask that identifies which fields on the attachment to update. The update fails if invalid fields are specified. If a field supports empty values, it can be cleared by specifying it in the update mask and not in the `AddOnAttachmentStudentSubmission` object. The following fields may be specified by teachers: * `points_earned`",
1453
2747
  "format": "google-fieldmask",
1454
2748
  "location": "query",
1455
2749
  "type": "string"
1456
2750
  }
1457
2751
  },
1458
- "path": "v1/courses/{courseId}/courseWorkMaterials/{id}",
2752
+ "path": "v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}",
1459
2753
  "request": {
1460
- "$ref": "CourseWorkMaterial"
2754
+ "$ref": "AddOnAttachmentStudentSubmission"
1461
2755
  },
1462
2756
  "response": {
1463
- "$ref": "CourseWorkMaterial"
1464
- },
1465
- "scopes": [
1466
- "https://www.googleapis.com/auth/classroom.courseworkmaterials"
1467
- ]
2757
+ "$ref": "AddOnAttachmentStudentSubmission"
2758
+ }
2759
+ }
2760
+ }
2761
+ }
2762
+ }
1468
2763
  }
1469
2764
  }
1470
2765
  },
@@ -2400,9 +3695,134 @@
2400
3695
  }
2401
3696
  }
2402
3697
  },
2403
- "revision": "20240604",
3698
+ "revision": "20240626",
2404
3699
  "rootUrl": "https://classroom.googleapis.com/",
2405
3700
  "schemas": {
3701
+ "AddOnAttachment": {
3702
+ "description": "An add-on attachment on a post.",
3703
+ "id": "AddOnAttachment",
3704
+ "properties": {
3705
+ "copyHistory": {
3706
+ "description": "Output only. Identifiers of attachments that were previous copies of this attachment. If the attachment was previously copied by virtue of its parent post being copied, this enumerates the identifiers of attachments that were its previous copies in ascending chronological order of copy.",
3707
+ "items": {
3708
+ "$ref": "CopyHistory"
3709
+ },
3710
+ "readOnly": true,
3711
+ "type": "array"
3712
+ },
3713
+ "courseId": {
3714
+ "description": "Immutable. Identifier of the course.",
3715
+ "type": "string"
3716
+ },
3717
+ "dueDate": {
3718
+ "$ref": "Date",
3719
+ "description": "Date, in UTC, that work on this attachment is due. This must be specified if `due_time` is specified."
3720
+ },
3721
+ "dueTime": {
3722
+ "$ref": "TimeOfDay",
3723
+ "description": "Time of day, in UTC, that work on this attachment is due. This must be specified if `due_date` is specified."
3724
+ },
3725
+ "id": {
3726
+ "description": "Immutable. Classroom-assigned identifier for this attachment, unique per post.",
3727
+ "type": "string"
3728
+ },
3729
+ "itemId": {
3730
+ "description": "Immutable. Identifier of the announcement, courseWork, or courseWorkMaterial under which the attachment is attached. Unique per course.",
3731
+ "type": "string"
3732
+ },
3733
+ "maxPoints": {
3734
+ "description": "Maximum grade for this attachment. Can only be set if `studentWorkReviewUri` is set. Set to a non-zero value to indicate that the attachment supports grade passback. If set, this must be a non-negative integer value. When set to zero, the attachment will not support grade passback.",
3735
+ "format": "double",
3736
+ "type": "number"
3737
+ },
3738
+ "postId": {
3739
+ "deprecated": true,
3740
+ "description": "Immutable. Deprecated, use item_id instead.",
3741
+ "type": "string"
3742
+ },
3743
+ "studentViewUri": {
3744
+ "$ref": "EmbedUri",
3745
+ "description": "Required. URI to show the student view of the attachment. The URI will be opened in an iframe with the `courseId`, `postId`, and `attachmentId` query parameters set."
3746
+ },
3747
+ "studentWorkReviewUri": {
3748
+ "$ref": "EmbedUri",
3749
+ "description": "URI for the teacher to see student work on the attachment, if applicable. The URI will be opened in an iframe with the `courseId`, `postId`, `attachmentId`, and `submissionId` query parameters set. This is the same `submissionId` returned by google.classroom.AddOns.GetAddOnContext when a student views the attachment. If the URI is omitted or removed, `max_points` will also be discarded."
3750
+ },
3751
+ "teacherViewUri": {
3752
+ "$ref": "EmbedUri",
3753
+ "description": "Required. URI to show the teacher view of the attachment. The URI will be opened in an iframe with the `courseId`, `postId`, and `attachmentId` query parameters set."
3754
+ },
3755
+ "title": {
3756
+ "description": "Required. Title of this attachment. The title must be between 1 and 1000 characters.",
3757
+ "type": "string"
3758
+ }
3759
+ },
3760
+ "type": "object"
3761
+ },
3762
+ "AddOnAttachmentStudentSubmission": {
3763
+ "description": "Payload for grade update requests.",
3764
+ "id": "AddOnAttachmentStudentSubmission",
3765
+ "properties": {
3766
+ "pointsEarned": {
3767
+ "description": "Student grade on this attachment. If unset, no grade was set.",
3768
+ "format": "double",
3769
+ "type": "number"
3770
+ },
3771
+ "postSubmissionState": {
3772
+ "description": "Submission state of add-on attachment's parent post (i.e. assignment).",
3773
+ "enum": [
3774
+ "SUBMISSION_STATE_UNSPECIFIED",
3775
+ "NEW",
3776
+ "CREATED",
3777
+ "TURNED_IN",
3778
+ "RETURNED",
3779
+ "RECLAIMED_BY_STUDENT"
3780
+ ],
3781
+ "enumDescriptions": [
3782
+ "No state specified. This should never be returned.",
3783
+ "The student has never accessed this submission. Attachments are not returned and timestamps is not set.",
3784
+ "Has been created.",
3785
+ "Has been turned in to the teacher.",
3786
+ "Has been returned to the student.",
3787
+ "Student chose to \"unsubmit\" the assignment."
3788
+ ],
3789
+ "type": "string"
3790
+ }
3791
+ },
3792
+ "type": "object"
3793
+ },
3794
+ "AddOnContext": {
3795
+ "description": "Attachment-relevant metadata for Classroom add-ons in the context of a specific post.",
3796
+ "id": "AddOnContext",
3797
+ "properties": {
3798
+ "courseId": {
3799
+ "description": "Immutable. Identifier of the course.",
3800
+ "type": "string"
3801
+ },
3802
+ "itemId": {
3803
+ "description": "Immutable. Identifier of the announcement, courseWork, or courseWorkMaterial under which the attachment is attached.",
3804
+ "type": "string"
3805
+ },
3806
+ "postId": {
3807
+ "deprecated": true,
3808
+ "description": "Immutable. Deprecated, use item_id instead.",
3809
+ "type": "string"
3810
+ },
3811
+ "studentContext": {
3812
+ "$ref": "StudentContext",
3813
+ "description": "Add-on context corresponding to the requesting user's role as a student. Its presence implies that the requesting user is a student in the course."
3814
+ },
3815
+ "supportsStudentWork": {
3816
+ "description": "Optional. Whether the post allows the teacher to see student work and passback grades.",
3817
+ "type": "boolean"
3818
+ },
3819
+ "teacherContext": {
3820
+ "$ref": "TeacherContext",
3821
+ "description": "Add-on context corresponding to the requesting user's role as a teacher. Its presence implies that the requesting user is a teacher in the course."
3822
+ }
3823
+ },
3824
+ "type": "object"
3825
+ },
2406
3826
  "Announcement": {
2407
3827
  "description": "Announcement created by a teacher for students of the course",
2408
3828
  "id": "Announcement",
@@ -2545,6 +3965,30 @@
2545
3965
  },
2546
3966
  "type": "object"
2547
3967
  },
3968
+ "CopyHistory": {
3969
+ "description": "Identifier of a previous copy of a given attachment.",
3970
+ "id": "CopyHistory",
3971
+ "properties": {
3972
+ "attachmentId": {
3973
+ "description": "Immutable. Identifier of the attachment.",
3974
+ "type": "string"
3975
+ },
3976
+ "courseId": {
3977
+ "description": "Immutable. Identifier of the course.",
3978
+ "type": "string"
3979
+ },
3980
+ "itemId": {
3981
+ "description": "Immutable. Identifier of the announcement, courseWork, or courseWorkMaterial under which the attachment is attached.",
3982
+ "type": "string"
3983
+ },
3984
+ "postId": {
3985
+ "deprecated": true,
3986
+ "description": "Immutable. Deprecated, use item_id instead.",
3987
+ "type": "string"
3988
+ }
3989
+ },
3990
+ "type": "object"
3991
+ },
2548
3992
  "Course": {
2549
3993
  "description": "A Course in Classroom.",
2550
3994
  "id": "Course",
@@ -3029,6 +4473,17 @@
3029
4473
  },
3030
4474
  "type": "object"
3031
4475
  },
4476
+ "EmbedUri": {
4477
+ "description": "URI to be iframed after being populated with query parameters.",
4478
+ "id": "EmbedUri",
4479
+ "properties": {
4480
+ "uri": {
4481
+ "description": "Required. URI to be iframed after being populated with query parameters. This must be a valid UTF-8 string containing between 1 and 1800 characters.",
4482
+ "type": "string"
4483
+ }
4484
+ },
4485
+ "type": "object"
4486
+ },
3032
4487
  "Empty": {
3033
4488
  "description": "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); }",
3034
4489
  "id": "Empty",
@@ -3348,6 +4803,24 @@
3348
4803
  },
3349
4804
  "type": "object"
3350
4805
  },
4806
+ "ListAddOnAttachmentsResponse": {
4807
+ "description": "Response when listing add-on attachments.",
4808
+ "id": "ListAddOnAttachmentsResponse",
4809
+ "properties": {
4810
+ "addOnAttachments": {
4811
+ "description": "Attachments under the given post.",
4812
+ "items": {
4813
+ "$ref": "AddOnAttachment"
4814
+ },
4815
+ "type": "array"
4816
+ },
4817
+ "nextPageToken": {
4818
+ "description": "A token, which can be sent as `pageToken` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
4819
+ "type": "string"
4820
+ }
4821
+ },
4822
+ "type": "object"
4823
+ },
3351
4824
  "ListAnnouncementsResponse": {
3352
4825
  "description": "Response when listing course work.",
3353
4826
  "id": "ListAnnouncementsResponse",
@@ -3849,6 +5322,17 @@
3849
5322
  },
3850
5323
  "type": "object"
3851
5324
  },
5325
+ "StudentContext": {
5326
+ "description": "Role-specific context if the requesting user is a student.",
5327
+ "id": "StudentContext",
5328
+ "properties": {
5329
+ "submissionId": {
5330
+ "description": "Requesting user's submission id to be used for grade passback and to identify the student when showing student work to the teacher. This is set exactly when `supportsStudentWork` is `true`.",
5331
+ "type": "string"
5332
+ }
5333
+ },
5334
+ "type": "object"
5335
+ },
3852
5336
  "StudentSubmission": {
3853
5337
  "description": "Student submission for course work. `StudentSubmission` items are generated when a `CourseWork` item is created. Student submissions that have never been accessed (i.e. with `state` = NEW) may not have a creation time or update time.",
3854
5338
  "id": "StudentSubmission",
@@ -3993,6 +5477,12 @@
3993
5477
  },
3994
5478
  "type": "object"
3995
5479
  },
5480
+ "TeacherContext": {
5481
+ "description": "Role-specific context if the requesting user is a teacher.",
5482
+ "id": "TeacherContext",
5483
+ "properties": {},
5484
+ "type": "object"
5485
+ },
3996
5486
  "TimeOfDay": {
3997
5487
  "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.",
3998
5488
  "id": "TimeOfDay",