Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.2.x will end 22 April 2024 (12 months).
  • Bug fixes for security issues in 4.2.x will end 7 October 2024 (18 months).
  • PHP version: minimum PHP 8.0.0 Note: minimum PHP version has increased since Moodle 4.1. PHP 8.1.x is supported too.

Differences Between: [Versions 310 and 402] [Versions 311 and 402] [Versions 39 and 402] [Versions 400 and 402] [Versions 401 and 402]

   1  <?php
   2  /*
   3   * Copyright 2010 Google Inc.
   4   *
   5   * Licensed under the Apache License, Version 2.0 (the "License"); you may not
   6   * use this file except in compliance with the License. You may obtain a copy of
   7   * the License at
   8   *
   9   * http://www.apache.org/licenses/LICENSE-2.0
  10   *
  11   * Unless required by applicable law or agreed to in writing, software
  12   * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  13   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  14   * License for the specific language governing permissions and limitations under
  15   * the License.
  16   */
  17  
  18  /**
  19   * Service definition for Classroom (v1).
  20   *
  21   * <p>
  22   * Google Classroom API</p>
  23   *
  24   * <p>
  25   * For more information about this service, see the API
  26   * <a href="https://developers.google.com/classroom/" target="_blank">Documentation</a>
  27   * </p>
  28   *
  29   * @author Google, Inc.
  30   */
  31  #[AllowDynamicProperties]
  32  class Google_Service_Classroom extends Google_Service
  33  {
  34    /** Manage your Google Classroom classes. */
  35    const CLASSROOM_COURSES =
  36        "https://www.googleapis.com/auth/classroom.courses";
  37    /** View your Google Classroom classes. */
  38    const CLASSROOM_COURSES_READONLY =
  39        "https://www.googleapis.com/auth/classroom.courses.readonly";
  40    /** View the email addresses of people in your classes. */
  41    const CLASSROOM_PROFILE_EMAILS =
  42        "https://www.googleapis.com/auth/classroom.profile.emails";
  43    /** View the profile photos of people in your classes. */
  44    const CLASSROOM_PROFILE_PHOTOS =
  45        "https://www.googleapis.com/auth/classroom.profile.photos";
  46    /** Manage your Google Classroom class rosters. */
  47    const CLASSROOM_ROSTERS =
  48        "https://www.googleapis.com/auth/classroom.rosters";
  49    /** View your Google Classroom class rosters. */
  50    const CLASSROOM_ROSTERS_READONLY =
  51        "https://www.googleapis.com/auth/classroom.rosters.readonly";
  52  
  53    public $courses;
  54    public $courses_aliases;
  55    public $courses_students;
  56    public $courses_teachers;
  57    public $invitations;
  58    public $userProfiles;
  59    
  60  
  61    /**
  62     * Constructs the internal representation of the Classroom service.
  63     *
  64     * @param Google_Client $client
  65     */
  66    public function __construct(Google_Client $client)
  67    {
  68      parent::__construct($client);
  69      $this->rootUrl = 'https://classroom.googleapis.com/';
  70      $this->servicePath = '';
  71      $this->version = 'v1';
  72      $this->serviceName = 'classroom';
  73  
  74      $this->courses = new Google_Service_Classroom_Courses_Resource(
  75          $this,
  76          $this->serviceName,
  77          'courses',
  78          array(
  79            'methods' => array(
  80              'create' => array(
  81                'path' => 'v1/courses',
  82                'httpMethod' => 'POST',
  83                'parameters' => array(),
  84              ),'delete' => array(
  85                'path' => 'v1/courses/{id}',
  86                'httpMethod' => 'DELETE',
  87                'parameters' => array(
  88                  'id' => array(
  89                    'location' => 'path',
  90                    'type' => 'string',
  91                    'required' => true,
  92                  ),
  93                ),
  94              ),'get' => array(
  95                'path' => 'v1/courses/{id}',
  96                'httpMethod' => 'GET',
  97                'parameters' => array(
  98                  'id' => array(
  99                    'location' => 'path',
 100                    'type' => 'string',
 101                    'required' => true,
 102                  ),
 103                ),
 104              ),'list' => array(
 105                'path' => 'v1/courses',
 106                'httpMethod' => 'GET',
 107                'parameters' => array(
 108                  'teacherId' => array(
 109                    'location' => 'query',
 110                    'type' => 'string',
 111                  ),
 112                  'pageToken' => array(
 113                    'location' => 'query',
 114                    'type' => 'string',
 115                  ),
 116                  'studentId' => array(
 117                    'location' => 'query',
 118                    'type' => 'string',
 119                  ),
 120                  'pageSize' => array(
 121                    'location' => 'query',
 122                    'type' => 'integer',
 123                  ),
 124                ),
 125              ),'patch' => array(
 126                'path' => 'v1/courses/{id}',
 127                'httpMethod' => 'PATCH',
 128                'parameters' => array(
 129                  'id' => array(
 130                    'location' => 'path',
 131                    'type' => 'string',
 132                    'required' => true,
 133                  ),
 134                  'updateMask' => array(
 135                    'location' => 'query',
 136                    'type' => 'string',
 137                  ),
 138                ),
 139              ),'update' => array(
 140                'path' => 'v1/courses/{id}',
 141                'httpMethod' => 'PUT',
 142                'parameters' => array(
 143                  'id' => array(
 144                    'location' => 'path',
 145                    'type' => 'string',
 146                    'required' => true,
 147                  ),
 148                ),
 149              ),
 150            )
 151          )
 152      );
 153      $this->courses_aliases = new Google_Service_Classroom_CoursesAliases_Resource(
 154          $this,
 155          $this->serviceName,
 156          'aliases',
 157          array(
 158            'methods' => array(
 159              'create' => array(
 160                'path' => 'v1/courses/{courseId}/aliases',
 161                'httpMethod' => 'POST',
 162                'parameters' => array(
 163                  'courseId' => array(
 164                    'location' => 'path',
 165                    'type' => 'string',
 166                    'required' => true,
 167                  ),
 168                ),
 169              ),'delete' => array(
 170                'path' => 'v1/courses/{courseId}/aliases/{alias}',
 171                'httpMethod' => 'DELETE',
 172                'parameters' => array(
 173                  'courseId' => array(
 174                    'location' => 'path',
 175                    'type' => 'string',
 176                    'required' => true,
 177                  ),
 178                  'alias' => array(
 179                    'location' => 'path',
 180                    'type' => 'string',
 181                    'required' => true,
 182                  ),
 183                ),
 184              ),'list' => array(
 185                'path' => 'v1/courses/{courseId}/aliases',
 186                'httpMethod' => 'GET',
 187                'parameters' => array(
 188                  'courseId' => array(
 189                    'location' => 'path',
 190                    'type' => 'string',
 191                    'required' => true,
 192                  ),
 193                  'pageToken' => array(
 194                    'location' => 'query',
 195                    'type' => 'string',
 196                  ),
 197                  'pageSize' => array(
 198                    'location' => 'query',
 199                    'type' => 'integer',
 200                  ),
 201                ),
 202              ),
 203            )
 204          )
 205      );
 206      $this->courses_students = new Google_Service_Classroom_CoursesStudents_Resource(
 207          $this,
 208          $this->serviceName,
 209          'students',
 210          array(
 211            'methods' => array(
 212              'create' => array(
 213                'path' => 'v1/courses/{courseId}/students',
 214                'httpMethod' => 'POST',
 215                'parameters' => array(
 216                  'courseId' => array(
 217                    'location' => 'path',
 218                    'type' => 'string',
 219                    'required' => true,
 220                  ),
 221                  'enrollmentCode' => array(
 222                    'location' => 'query',
 223                    'type' => 'string',
 224                  ),
 225                ),
 226              ),'delete' => array(
 227                'path' => 'v1/courses/{courseId}/students/{userId}',
 228                'httpMethod' => 'DELETE',
 229                'parameters' => array(
 230                  'courseId' => array(
 231                    'location' => 'path',
 232                    'type' => 'string',
 233                    'required' => true,
 234                  ),
 235                  'userId' => array(
 236                    'location' => 'path',
 237                    'type' => 'string',
 238                    'required' => true,
 239                  ),
 240                ),
 241              ),'get' => array(
 242                'path' => 'v1/courses/{courseId}/students/{userId}',
 243                'httpMethod' => 'GET',
 244                'parameters' => array(
 245                  'courseId' => array(
 246                    'location' => 'path',
 247                    'type' => 'string',
 248                    'required' => true,
 249                  ),
 250                  'userId' => array(
 251                    'location' => 'path',
 252                    'type' => 'string',
 253                    'required' => true,
 254                  ),
 255                ),
 256              ),'list' => array(
 257                'path' => 'v1/courses/{courseId}/students',
 258                'httpMethod' => 'GET',
 259                'parameters' => array(
 260                  'courseId' => array(
 261                    'location' => 'path',
 262                    'type' => 'string',
 263                    'required' => true,
 264                  ),
 265                  'pageToken' => array(
 266                    'location' => 'query',
 267                    'type' => 'string',
 268                  ),
 269                  'pageSize' => array(
 270                    'location' => 'query',
 271                    'type' => 'integer',
 272                  ),
 273                ),
 274              ),
 275            )
 276          )
 277      );
 278      $this->courses_teachers = new Google_Service_Classroom_CoursesTeachers_Resource(
 279          $this,
 280          $this->serviceName,
 281          'teachers',
 282          array(
 283            'methods' => array(
 284              'create' => array(
 285                'path' => 'v1/courses/{courseId}/teachers',
 286                'httpMethod' => 'POST',
 287                'parameters' => array(
 288                  'courseId' => array(
 289                    'location' => 'path',
 290                    'type' => 'string',
 291                    'required' => true,
 292                  ),
 293                ),
 294              ),'delete' => array(
 295                'path' => 'v1/courses/{courseId}/teachers/{userId}',
 296                'httpMethod' => 'DELETE',
 297                'parameters' => array(
 298                  'courseId' => array(
 299                    'location' => 'path',
 300                    'type' => 'string',
 301                    'required' => true,
 302                  ),
 303                  'userId' => array(
 304                    'location' => 'path',
 305                    'type' => 'string',
 306                    'required' => true,
 307                  ),
 308                ),
 309              ),'get' => array(
 310                'path' => 'v1/courses/{courseId}/teachers/{userId}',
 311                'httpMethod' => 'GET',
 312                'parameters' => array(
 313                  'courseId' => array(
 314                    'location' => 'path',
 315                    'type' => 'string',
 316                    'required' => true,
 317                  ),
 318                  'userId' => array(
 319                    'location' => 'path',
 320                    'type' => 'string',
 321                    'required' => true,
 322                  ),
 323                ),
 324              ),'list' => array(
 325                'path' => 'v1/courses/{courseId}/teachers',
 326                'httpMethod' => 'GET',
 327                'parameters' => array(
 328                  'courseId' => array(
 329                    'location' => 'path',
 330                    'type' => 'string',
 331                    'required' => true,
 332                  ),
 333                  'pageToken' => array(
 334                    'location' => 'query',
 335                    'type' => 'string',
 336                  ),
 337                  'pageSize' => array(
 338                    'location' => 'query',
 339                    'type' => 'integer',
 340                  ),
 341                ),
 342              ),
 343            )
 344          )
 345      );
 346      $this->invitations = new Google_Service_Classroom_Invitations_Resource(
 347          $this,
 348          $this->serviceName,
 349          'invitations',
 350          array(
 351            'methods' => array(
 352              'accept' => array(
 353                'path' => 'v1/invitations/{id}:accept',
 354                'httpMethod' => 'POST',
 355                'parameters' => array(
 356                  'id' => array(
 357                    'location' => 'path',
 358                    'type' => 'string',
 359                    'required' => true,
 360                  ),
 361                ),
 362              ),'create' => array(
 363                'path' => 'v1/invitations',
 364                'httpMethod' => 'POST',
 365                'parameters' => array(),
 366              ),'delete' => array(
 367                'path' => 'v1/invitations/{id}',
 368                'httpMethod' => 'DELETE',
 369                'parameters' => array(
 370                  'id' => array(
 371                    'location' => 'path',
 372                    'type' => 'string',
 373                    'required' => true,
 374                  ),
 375                ),
 376              ),'get' => array(
 377                'path' => 'v1/invitations/{id}',
 378                'httpMethod' => 'GET',
 379                'parameters' => array(
 380                  'id' => array(
 381                    'location' => 'path',
 382                    'type' => 'string',
 383                    'required' => true,
 384                  ),
 385                ),
 386              ),'list' => array(
 387                'path' => 'v1/invitations',
 388                'httpMethod' => 'GET',
 389                'parameters' => array(
 390                  'courseId' => array(
 391                    'location' => 'query',
 392                    'type' => 'string',
 393                  ),
 394                  'pageToken' => array(
 395                    'location' => 'query',
 396                    'type' => 'string',
 397                  ),
 398                  'userId' => array(
 399                    'location' => 'query',
 400                    'type' => 'string',
 401                  ),
 402                  'pageSize' => array(
 403                    'location' => 'query',
 404                    'type' => 'integer',
 405                  ),
 406                ),
 407              ),
 408            )
 409          )
 410      );
 411      $this->userProfiles = new Google_Service_Classroom_UserProfiles_Resource(
 412          $this,
 413          $this->serviceName,
 414          'userProfiles',
 415          array(
 416            'methods' => array(
 417              'get' => array(
 418                'path' => 'v1/userProfiles/{userId}',
 419                'httpMethod' => 'GET',
 420                'parameters' => array(
 421                  'userId' => array(
 422                    'location' => 'path',
 423                    'type' => 'string',
 424                    'required' => true,
 425                  ),
 426                ),
 427              ),
 428            )
 429          )
 430      );
 431    }
 432  }
 433  
 434  
 435  /**
 436   * The "courses" collection of methods.
 437   * Typical usage is:
 438   *  <code>
 439   *   $classroomService = new Google_Service_Classroom(...);
 440   *   $courses = $classroomService->courses;
 441   *  </code>
 442   */
 443  #[AllowDynamicProperties]
 444  class Google_Service_Classroom_Courses_Resource extends Google_Service_Resource
 445  {
 446  
 447    /**
 448     * Creates a course. The user specified in `ownerId` is the owner of the created
 449     * course and added as a teacher. This method returns the following error codes:
 450     * * `PERMISSION_DENIED` if the requesting user is not permitted to create
 451     * courses or for access errors. * `NOT_FOUND` if the primary teacher is not a
 452     * valid user. * `FAILED_PRECONDITION` if the course owner's account is disabled
 453     * or for the following request errors: * UserGroupsMembershipLimitReached *
 454     * `ALREADY_EXISTS` if an alias was specified in the `id` and already exists.
 455     * (courses.create)
 456     *
 457     * @param Google_Course $postBody
 458     * @param array $optParams Optional parameters.
 459     * @return Google_Service_Classroom_Course
 460     */
 461    public function create(Google_Service_Classroom_Course $postBody, $optParams = array())
 462    {
 463      $params = array('postBody' => $postBody);
 464      $params = array_merge($params, $optParams);
 465      return $this->call('create', array($params), "Google_Service_Classroom_Course");
 466    }
 467  
 468    /**
 469     * Deletes a course. This method returns the following error codes: *
 470     * `PERMISSION_DENIED` if the requesting user is not permitted to delete the
 471     * requested course or for access errors. * `NOT_FOUND` if no course exists with
 472     * the requested ID. (courses.delete)
 473     *
 474     * @param string $id Identifier of the course to delete. This identifier can be
 475     * either the Classroom-assigned identifier or an alias.
 476     * @param array $optParams Optional parameters.
 477     * @return Google_Service_Classroom_Empty
 478     */
 479    public function delete($id, $optParams = array())
 480    {
 481      $params = array('id' => $id);
 482      $params = array_merge($params, $optParams);
 483      return $this->call('delete', array($params), "Google_Service_Classroom_Empty");
 484    }
 485  
 486    /**
 487     * Returns a course. This method returns the following error codes: *
 488     * `PERMISSION_DENIED` if the requesting user is not permitted to access the
 489     * requested course or for access errors. * `NOT_FOUND` if no course exists with
 490     * the requested ID. (courses.get)
 491     *
 492     * @param string $id Identifier of the course to return. This identifier can be
 493     * either the Classroom-assigned identifier or an alias.
 494     * @param array $optParams Optional parameters.
 495     * @return Google_Service_Classroom_Course
 496     */
 497    public function get($id, $optParams = array())
 498    {
 499      $params = array('id' => $id);
 500      $params = array_merge($params, $optParams);
 501      return $this->call('get', array($params), "Google_Service_Classroom_Course");
 502    }
 503  
 504    /**
 505     * Returns a list of courses that the requesting user is permitted to view,
 506     * restricted to those that match the request. This method returns the following
 507     * error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if
 508     * the query argument is malformed. * `NOT_FOUND` if any users specified in the
 509     * query arguments do not exist. (courses.listCourses)
 510     *
 511     * @param array $optParams Optional parameters.
 512     *
 513     * @opt_param string teacherId Restricts returned courses to those having a
 514     * teacher with the specified identifier. The identifier can be one of the
 515     * following: * the numeric identifier for the user * the email address of the
 516     * user * the string literal `"me"`, indicating the requesting user
 517     * @opt_param string pageToken nextPageToken value returned from a previous list
 518     * call, indicating that the subsequent page of results should be returned. The
 519     * list request must be otherwise identical to the one that resulted in this
 520     * token.
 521     * @opt_param string studentId Restricts returned courses to those having a
 522     * student with the specified identifier. The identifier can be one of the
 523     * following: * the numeric identifier for the user * the email address of the
 524     * user * the string literal `"me"`, indicating the requesting user
 525     * @opt_param int pageSize Maximum number of items to return. Zero or
 526     * unspecified indicates that the server may assign a maximum. The server may
 527     * return fewer than the specified number of results.
 528     * @return Google_Service_Classroom_ListCoursesResponse
 529     */
 530    public function listCourses($optParams = array())
 531    {
 532      $params = array();
 533      $params = array_merge($params, $optParams);
 534      return $this->call('list', array($params), "Google_Service_Classroom_ListCoursesResponse");
 535    }
 536  
 537    /**
 538     * Updates one or more fields in a course. This method returns the following
 539     * error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to
 540     * modify the requested course or for access errors. * `NOT_FOUND` if no course
 541     * exists with the requested ID. * `INVALID_ARGUMENT` if invalid fields are
 542     * specified in the update mask or if no update mask is supplied. *
 543     * `FAILED_PRECONDITION` for the following request errors: * CourseNotModifiable
 544     * (courses.patch)
 545     *
 546     * @param string $id Identifier of the course to update. This identifier can be
 547     * either the Classroom-assigned identifier or an alias.
 548     * @param Google_Course $postBody
 549     * @param array $optParams Optional parameters.
 550     *
 551     * @opt_param string updateMask Mask that identifies which fields on the course
 552     * to update. This field is required to do an update. The update will fail if
 553     * invalid fields are specified. The following fields are valid: * `name` *
 554     * `section` * `descriptionHeading` * `description` * `room` * `courseState`
 555     * When set in a query parameter, this field should be specified as
 556     * `updateMask=,,...`
 557     * @return Google_Service_Classroom_Course
 558     */
 559    public function patch($id, Google_Service_Classroom_Course $postBody, $optParams = array())
 560    {
 561      $params = array('id' => $id, 'postBody' => $postBody);
 562      $params = array_merge($params, $optParams);
 563      return $this->call('patch', array($params), "Google_Service_Classroom_Course");
 564    }
 565  
 566    /**
 567     * Updates a course. This method returns the following error codes: *
 568     * `PERMISSION_DENIED` if the requesting user is not permitted to modify the
 569     * requested course or for access errors. * `NOT_FOUND` if no course exists with
 570     * the requested ID. * `FAILED_PRECONDITION` for the following request errors: *
 571     * CourseNotModifiable (courses.update)
 572     *
 573     * @param string $id Identifier of the course to update. This identifier can be
 574     * either the Classroom-assigned identifier or an alias.
 575     * @param Google_Course $postBody
 576     * @param array $optParams Optional parameters.
 577     * @return Google_Service_Classroom_Course
 578     */
 579    public function update($id, Google_Service_Classroom_Course $postBody, $optParams = array())
 580    {
 581      $params = array('id' => $id, 'postBody' => $postBody);
 582      $params = array_merge($params, $optParams);
 583      return $this->call('update', array($params), "Google_Service_Classroom_Course");
 584    }
 585  }
 586  
 587  /**
 588   * The "aliases" collection of methods.
 589   * Typical usage is:
 590   *  <code>
 591   *   $classroomService = new Google_Service_Classroom(...);
 592   *   $aliases = $classroomService->aliases;
 593   *  </code>
 594   */
 595  #[AllowDynamicProperties]
 596  class Google_Service_Classroom_CoursesAliases_Resource extends Google_Service_Resource
 597  {
 598  
 599    /**
 600     * Creates an alias for a course. This method returns the following error codes:
 601     * * `PERMISSION_DENIED` if the requesting user is not permitted to create the
 602     * alias or for access errors. * `NOT_FOUND` if the course does not exist. *
 603     * `ALREADY_EXISTS` if the alias already exists. (aliases.create)
 604     *
 605     * @param string $courseId Identifier of the course to alias. This identifier
 606     * can be either the Classroom-assigned identifier or an alias.
 607     * @param Google_CourseAlias $postBody
 608     * @param array $optParams Optional parameters.
 609     * @return Google_Service_Classroom_CourseAlias
 610     */
 611    public function create($courseId, Google_Service_Classroom_CourseAlias $postBody, $optParams = array())
 612    {
 613      $params = array('courseId' => $courseId, 'postBody' => $postBody);
 614      $params = array_merge($params, $optParams);
 615      return $this->call('create', array($params), "Google_Service_Classroom_CourseAlias");
 616    }
 617  
 618    /**
 619     * Deletes an alias of a course. This method returns the following error codes:
 620     * * `PERMISSION_DENIED` if the requesting user is not permitted to remove the
 621     * alias or for access errors. * `NOT_FOUND` if the alias does not exist.
 622     * (aliases.delete)
 623     *
 624     * @param string $courseId Identifier of the course whose alias should be
 625     * deleted. This identifier can be either the Classroom-assigned identifier or
 626     * an alias.
 627     * @param string $alias Alias to delete. This may not be the Classroom-assigned
 628     * identifier.
 629     * @param array $optParams Optional parameters.
 630     * @return Google_Service_Classroom_Empty
 631     */
 632    public function delete($courseId, $alias, $optParams = array())
 633    {
 634      $params = array('courseId' => $courseId, 'alias' => $alias);
 635      $params = array_merge($params, $optParams);
 636      return $this->call('delete', array($params), "Google_Service_Classroom_Empty");
 637    }
 638  
 639    /**
 640     * Returns a list of aliases for a course. This method returns the following
 641     * error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to
 642     * access the course or for access errors. * `NOT_FOUND` if the course does not
 643     * exist. (aliases.listCoursesAliases)
 644     *
 645     * @param string $courseId The identifier of the course. This identifier can be
 646     * either the Classroom-assigned identifier or an alias.
 647     * @param array $optParams Optional parameters.
 648     *
 649     * @opt_param string pageToken nextPageToken value returned from a previous list
 650     * call, indicating that the subsequent page of results should be returned. The
 651     * list request must be otherwise identical to the one that resulted in this
 652     * token.
 653     * @opt_param int pageSize Maximum number of items to return. Zero or
 654     * unspecified indicates that the server may assign a maximum. The server may
 655     * return fewer than the specified number of results.
 656     * @return Google_Service_Classroom_ListCourseAliasesResponse
 657     */
 658    public function listCoursesAliases($courseId, $optParams = array())
 659    {
 660      $params = array('courseId' => $courseId);
 661      $params = array_merge($params, $optParams);
 662      return $this->call('list', array($params), "Google_Service_Classroom_ListCourseAliasesResponse");
 663    }
 664  }
 665  /**
 666   * The "students" collection of methods.
 667   * Typical usage is:
 668   *  <code>
 669   *   $classroomService = new Google_Service_Classroom(...);
 670   *   $students = $classroomService->students;
 671   *  </code>
 672   */
 673  #[AllowDynamicProperties]
 674  class Google_Service_Classroom_CoursesStudents_Resource extends Google_Service_Resource
 675  {
 676  
 677    /**
 678     * Adds a user as a student of a course. This method returns the following error
 679     * codes: * `PERMISSION_DENIED` if the requesting user is not permitted to
 680     * create students in this course or for access errors. * `NOT_FOUND` if the
 681     * requested course ID does not exist. * `FAILED_PRECONDITION` if the requested
 682     * user's account is disabled, for the following request errors: *
 683     * CourseMemberLimitReached * CourseNotModifiable *
 684     * UserGroupsMembershipLimitReached * `ALREADY_EXISTS` if the user is already a
 685     * student or teacher in the course. (students.create)
 686     *
 687     * @param string $courseId Identifier of the course to create the student in.
 688     * This identifier can be either the Classroom-assigned identifier or an alias.
 689     * @param Google_Student $postBody
 690     * @param array $optParams Optional parameters.
 691     *
 692     * @opt_param string enrollmentCode Enrollment code of the course to create the
 693     * student in. This code is required if userId corresponds to the requesting
 694     * user; it may be omitted if the requesting user has administrative permissions
 695     * to create students for any user.
 696     * @return Google_Service_Classroom_Student
 697     */
 698    public function create($courseId, Google_Service_Classroom_Student $postBody, $optParams = array())
 699    {
 700      $params = array('courseId' => $courseId, 'postBody' => $postBody);
 701      $params = array_merge($params, $optParams);
 702      return $this->call('create', array($params), "Google_Service_Classroom_Student");
 703    }
 704  
 705    /**
 706     * Deletes a student of a course. This method returns the following error codes:
 707     * * `PERMISSION_DENIED` if the requesting user is not permitted to delete
 708     * students of this course or for access errors. * `NOT_FOUND` if no student of
 709     * this course has the requested ID or if the course does not exist.
 710     * (students.delete)
 711     *
 712     * @param string $courseId Identifier of the course. This identifier can be
 713     * either the Classroom-assigned identifier or an alias.
 714     * @param string $userId Identifier of the student to delete. The identifier can
 715     * be one of the following: * the numeric identifier for the user * the email
 716     * address of the user * the string literal `"me"`, indicating the requesting
 717     * user
 718     * @param array $optParams Optional parameters.
 719     * @return Google_Service_Classroom_Empty
 720     */
 721    public function delete($courseId, $userId, $optParams = array())
 722    {
 723      $params = array('courseId' => $courseId, 'userId' => $userId);
 724      $params = array_merge($params, $optParams);
 725      return $this->call('delete', array($params), "Google_Service_Classroom_Empty");
 726    }
 727  
 728    /**
 729     * Returns a student of a course. This method returns the following error codes:
 730     * * `PERMISSION_DENIED` if the requesting user is not permitted to view
 731     * students of this course or for access errors. * `NOT_FOUND` if no student of
 732     * this course has the requested ID or if the course does not exist.
 733     * (students.get)
 734     *
 735     * @param string $courseId Identifier of the course. This identifier can be
 736     * either the Classroom-assigned identifier or an alias.
 737     * @param string $userId Identifier of the student to return. The identifier can
 738     * be one of the following: * the numeric identifier for the user * the email
 739     * address of the user * the string literal `"me"`, indicating the requesting
 740     * user
 741     * @param array $optParams Optional parameters.
 742     * @return Google_Service_Classroom_Student
 743     */
 744    public function get($courseId, $userId, $optParams = array())
 745    {
 746      $params = array('courseId' => $courseId, 'userId' => $userId);
 747      $params = array_merge($params, $optParams);
 748      return $this->call('get', array($params), "Google_Service_Classroom_Student");
 749    }
 750  
 751    /**
 752     * Returns a list of students of this course that the requester is permitted to
 753     * view. This method returns the following error codes: * `NOT_FOUND` if the
 754     * course does not exist. * `PERMISSION_DENIED` for access errors.
 755     * (students.listCoursesStudents)
 756     *
 757     * @param string $courseId Identifier of the course. This identifier can be
 758     * either the Classroom-assigned identifier or an alias.
 759     * @param array $optParams Optional parameters.
 760     *
 761     * @opt_param string pageToken nextPageToken value returned from a previous list
 762     * call, indicating that the subsequent page of results should be returned. The
 763     * list request must be otherwise identical to the one that resulted in this
 764     * token.
 765     * @opt_param int pageSize Maximum number of items to return. Zero means no
 766     * maximum. The server may return fewer than the specified number of results.
 767     * @return Google_Service_Classroom_ListStudentsResponse
 768     */
 769    public function listCoursesStudents($courseId, $optParams = array())
 770    {
 771      $params = array('courseId' => $courseId);
 772      $params = array_merge($params, $optParams);
 773      return $this->call('list', array($params), "Google_Service_Classroom_ListStudentsResponse");
 774    }
 775  }
 776  /**
 777   * The "teachers" collection of methods.
 778   * Typical usage is:
 779   *  <code>
 780   *   $classroomService = new Google_Service_Classroom(...);
 781   *   $teachers = $classroomService->teachers;
 782   *  </code>
 783   */
 784  #[AllowDynamicProperties]
 785  class Google_Service_Classroom_CoursesTeachers_Resource extends Google_Service_Resource
 786  {
 787  
 788    /**
 789     * Creates a teacher of a course. This method returns the following error codes:
 790     * * `PERMISSION_DENIED` if the requesting user is not permitted to create
 791     * teachers in this course or for access errors. * `NOT_FOUND` if the requested
 792     * course ID does not exist. * `FAILED_PRECONDITION` if the requested user's
 793     * account is disabled, for the following request errors: *
 794     * CourseMemberLimitReached * CourseNotModifiable * CourseTeacherLimitReached *
 795     * UserGroupsMembershipLimitReached * `ALREADY_EXISTS` if the user is already a
 796     * teacher or student in the course. (teachers.create)
 797     *
 798     * @param string $courseId Identifier of the course. This identifier can be
 799     * either the Classroom-assigned identifier or an alias.
 800     * @param Google_Teacher $postBody
 801     * @param array $optParams Optional parameters.
 802     * @return Google_Service_Classroom_Teacher
 803     */
 804    public function create($courseId, Google_Service_Classroom_Teacher $postBody, $optParams = array())
 805    {
 806      $params = array('courseId' => $courseId, 'postBody' => $postBody);
 807      $params = array_merge($params, $optParams);
 808      return $this->call('create', array($params), "Google_Service_Classroom_Teacher");
 809    }
 810  
 811    /**
 812     * Deletes a teacher of a course. This method returns the following error codes:
 813     * * `PERMISSION_DENIED` if the requesting user is not permitted to delete
 814     * teachers of this course or for access errors. * `NOT_FOUND` if no teacher of
 815     * this course has the requested ID or if the course does not exist. *
 816     * `FAILED_PRECONDITION` if the requested ID belongs to the primary teacher of
 817     * this course. (teachers.delete)
 818     *
 819     * @param string $courseId Identifier of the course. This identifier can be
 820     * either the Classroom-assigned identifier or an alias.
 821     * @param string $userId Identifier of the teacher to delete. The identifier can
 822     * be one of the following: * the numeric identifier for the user * the email
 823     * address of the user * the string literal `"me"`, indicating the requesting
 824     * user
 825     * @param array $optParams Optional parameters.
 826     * @return Google_Service_Classroom_Empty
 827     */
 828    public function delete($courseId, $userId, $optParams = array())
 829    {
 830      $params = array('courseId' => $courseId, 'userId' => $userId);
 831      $params = array_merge($params, $optParams);
 832      return $this->call('delete', array($params), "Google_Service_Classroom_Empty");
 833    }
 834  
 835    /**
 836     * Returns a teacher of a course. This method returns the following error codes:
 837     * * `PERMISSION_DENIED` if the requesting user is not permitted to view
 838     * teachers of this course or for access errors. * `NOT_FOUND` if no teacher of
 839     * this course has the requested ID or if the course does not exist.
 840     * (teachers.get)
 841     *
 842     * @param string $courseId Identifier of the course. This identifier can be
 843     * either the Classroom-assigned identifier or an alias.
 844     * @param string $userId Identifier of the teacher to return. The identifier can
 845     * be one of the following: * the numeric identifier for the user * the email
 846     * address of the user * the string literal `"me"`, indicating the requesting
 847     * user
 848     * @param array $optParams Optional parameters.
 849     * @return Google_Service_Classroom_Teacher
 850     */
 851    public function get($courseId, $userId, $optParams = array())
 852    {
 853      $params = array('courseId' => $courseId, 'userId' => $userId);
 854      $params = array_merge($params, $optParams);
 855      return $this->call('get', array($params), "Google_Service_Classroom_Teacher");
 856    }
 857  
 858    /**
 859     * Returns a list of teachers of this course that the requester is permitted to
 860     * view. This method returns the following error codes: * `NOT_FOUND` if the
 861     * course does not exist. * `PERMISSION_DENIED` for access errors.
 862     * (teachers.listCoursesTeachers)
 863     *
 864     * @param string $courseId Identifier of the course. This identifier can be
 865     * either the Classroom-assigned identifier or an alias.
 866     * @param array $optParams Optional parameters.
 867     *
 868     * @opt_param string pageToken nextPageToken value returned from a previous list
 869     * call, indicating that the subsequent page of results should be returned. The
 870     * list request must be otherwise identical to the one that resulted in this
 871     * token.
 872     * @opt_param int pageSize Maximum number of items to return. Zero means no
 873     * maximum. The server may return fewer than the specified number of results.
 874     * @return Google_Service_Classroom_ListTeachersResponse
 875     */
 876    public function listCoursesTeachers($courseId, $optParams = array())
 877    {
 878      $params = array('courseId' => $courseId);
 879      $params = array_merge($params, $optParams);
 880      return $this->call('list', array($params), "Google_Service_Classroom_ListTeachersResponse");
 881    }
 882  }
 883  
 884  /**
 885   * The "invitations" collection of methods.
 886   * Typical usage is:
 887   *  <code>
 888   *   $classroomService = new Google_Service_Classroom(...);
 889   *   $invitations = $classroomService->invitations;
 890   *  </code>
 891   */
 892  #[AllowDynamicProperties]
 893  class Google_Service_Classroom_Invitations_Resource extends Google_Service_Resource
 894  {
 895  
 896    /**
 897     * Accepts an invitation, removing it and adding the invited user to the
 898     * teachers or students (as appropriate) of the specified course. Only the
 899     * invited user may accept an invitation. This method returns the following
 900     * error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to
 901     * accept the requested invitation or for access errors. * `FAILED_PRECONDITION`
 902     * for the following request errors: * CourseMemberLimitReached *
 903     * CourseNotModifiable * CourseTeacherLimitReached *
 904     * UserGroupsMembershipLimitReached * `NOT_FOUND` if no invitation exists with
 905     * the requested ID. (invitations.accept)
 906     *
 907     * @param string $id Identifier of the invitation to accept.
 908     * @param array $optParams Optional parameters.
 909     * @return Google_Service_Classroom_Empty
 910     */
 911    public function accept($id, $optParams = array())
 912    {
 913      $params = array('id' => $id);
 914      $params = array_merge($params, $optParams);
 915      return $this->call('accept', array($params), "Google_Service_Classroom_Empty");
 916    }
 917  
 918    /**
 919     * Creates an invitation. Only one invitation for a user and course may exist at
 920     * a time. Delete and re-create an invitation to make changes. This method
 921     * returns the following error codes: * `PERMISSION_DENIED` if the requesting
 922     * user is not permitted to create invitations for this course or for access
 923     * errors. * `NOT_FOUND` if the course or the user does not exist. *
 924     * `FAILED_PRECONDITION` if the requested user's account is disabled or if the
 925     * user already has this role or a role with greater permissions. *
 926     * `ALREADY_EXISTS` if an invitation for the specified user and course already
 927     * exists. (invitations.create)
 928     *
 929     * @param Google_Invitation $postBody
 930     * @param array $optParams Optional parameters.
 931     * @return Google_Service_Classroom_Invitation
 932     */
 933    public function create(Google_Service_Classroom_Invitation $postBody, $optParams = array())
 934    {
 935      $params = array('postBody' => $postBody);
 936      $params = array_merge($params, $optParams);
 937      return $this->call('create', array($params), "Google_Service_Classroom_Invitation");
 938    }
 939  
 940    /**
 941     * Deletes an invitation. This method returns the following error codes: *
 942     * `PERMISSION_DENIED` if the requesting user is not permitted to delete the
 943     * requested invitation or for access errors. * `NOT_FOUND` if no invitation
 944     * exists with the requested ID. (invitations.delete)
 945     *
 946     * @param string $id Identifier of the invitation to delete.
 947     * @param array $optParams Optional parameters.
 948     * @return Google_Service_Classroom_Empty
 949     */
 950    public function delete($id, $optParams = array())
 951    {
 952      $params = array('id' => $id);
 953      $params = array_merge($params, $optParams);
 954      return $this->call('delete', array($params), "Google_Service_Classroom_Empty");
 955    }
 956  
 957    /**
 958     * Returns an invitation. This method returns the following error codes: *
 959     * `PERMISSION_DENIED` if the requesting user is not permitted to view the
 960     * requested invitation or for access errors. * `NOT_FOUND` if no invitation
 961     * exists with the requested ID. (invitations.get)
 962     *
 963     * @param string $id Identifier of the invitation to return.
 964     * @param array $optParams Optional parameters.
 965     * @return Google_Service_Classroom_Invitation
 966     */
 967    public function get($id, $optParams = array())
 968    {
 969      $params = array('id' => $id);
 970      $params = array_merge($params, $optParams);
 971      return $this->call('get', array($params), "Google_Service_Classroom_Invitation");
 972    }
 973  
 974    /**
 975     * Returns a list of invitations that the requesting user is permitted to view,
 976     * restricted to those that match the list request. *Note:* At least one of
 977     * `user_id` or `course_id` must be supplied. Both fields can be supplied. This
 978     * method returns the following error codes: * `PERMISSION_DENIED` for access
 979     * errors. (invitations.listInvitations)
 980     *
 981     * @param array $optParams Optional parameters.
 982     *
 983     * @opt_param string courseId Restricts returned invitations to those for a
 984     * course with the specified identifier.
 985     * @opt_param string pageToken nextPageToken value returned from a previous list
 986     * call, indicating that the subsequent page of results should be returned. The
 987     * list request must be otherwise identical to the one that resulted in this
 988     * token.
 989     * @opt_param string userId Restricts returned invitations to those for a
 990     * specific user. The identifier can be one of the following: * the numeric
 991     * identifier for the user * the email address of the user * the string literal
 992     * `"me"`, indicating the requesting user
 993     * @opt_param int pageSize Maximum number of items to return. Zero means no
 994     * maximum. The server may return fewer than the specified number of results.
 995     * @return Google_Service_Classroom_ListInvitationsResponse
 996     */
 997    public function listInvitations($optParams = array())
 998    {
 999      $params = array();
1000      $params = array_merge($params, $optParams);
1001      return $this->call('list', array($params), "Google_Service_Classroom_ListInvitationsResponse");
1002    }
1003  }
1004  
1005  /**
1006   * The "userProfiles" collection of methods.
1007   * Typical usage is:
1008   *  <code>
1009   *   $classroomService = new Google_Service_Classroom(...);
1010   *   $userProfiles = $classroomService->userProfiles;
1011   *  </code>
1012   */
1013  #[AllowDynamicProperties]
1014  class Google_Service_Classroom_UserProfiles_Resource extends Google_Service_Resource
1015  {
1016  
1017    /**
1018     * Returns a user profile. This method returns the following error codes: *
1019     * `PERMISSION_DENIED` if the requesting user is not permitted to access this
1020     * user profile or if no profile exists with the requested ID or for access
1021     * errors. (userProfiles.get)
1022     *
1023     * @param string $userId Identifier of the profile to return. The identifier can
1024     * be one of the following: * the numeric identifier for the user * the email
1025     * address of the user * the string literal `"me"`, indicating the requesting
1026     * user
1027     * @param array $optParams Optional parameters.
1028     * @return Google_Service_Classroom_UserProfile
1029     */
1030    public function get($userId, $optParams = array())
1031    {
1032      $params = array('userId' => $userId);
1033      $params = array_merge($params, $optParams);
1034      return $this->call('get', array($params), "Google_Service_Classroom_UserProfile");
1035    }
1036  }
1037  
1038  
1039  
1040  
1041  #[AllowDynamicProperties]
1042  class Google_Service_Classroom_Course extends Google_Model
1043  {
1044    protected $internal_gapi_mappings = array(
1045    );
1046    public $alternateLink;
1047    public $courseState;
1048    public $creationTime;
1049    public $description;
1050    public $descriptionHeading;
1051    public $enrollmentCode;
1052    public $id;
1053    public $name;
1054    public $ownerId;
1055    public $room;
1056    public $section;
1057    public $updateTime;
1058  
1059  
1060    public function setAlternateLink($alternateLink)
1061    {
1062      $this->alternateLink = $alternateLink;
1063    }
1064    public function getAlternateLink()
1065    {
1066      return $this->alternateLink;
1067    }
1068    public function setCourseState($courseState)
1069    {
1070      $this->courseState = $courseState;
1071    }
1072    public function getCourseState()
1073    {
1074      return $this->courseState;
1075    }
1076    public function setCreationTime($creationTime)
1077    {
1078      $this->creationTime = $creationTime;
1079    }
1080    public function getCreationTime()
1081    {
1082      return $this->creationTime;
1083    }
1084    public function setDescription($description)
1085    {
1086      $this->description = $description;
1087    }
1088    public function getDescription()
1089    {
1090      return $this->description;
1091    }
1092    public function setDescriptionHeading($descriptionHeading)
1093    {
1094      $this->descriptionHeading = $descriptionHeading;
1095    }
1096    public function getDescriptionHeading()
1097    {
1098      return $this->descriptionHeading;
1099    }
1100    public function setEnrollmentCode($enrollmentCode)
1101    {
1102      $this->enrollmentCode = $enrollmentCode;
1103    }
1104    public function getEnrollmentCode()
1105    {
1106      return $this->enrollmentCode;
1107    }
1108    public function setId($id)
1109    {
1110      $this->id = $id;
1111    }
1112    public function getId()
1113    {
1114      return $this->id;
1115    }
1116    public function setName($name)
1117    {
1118      $this->name = $name;
1119    }
1120    public function getName()
1121    {
1122      return $this->name;
1123    }
1124    public function setOwnerId($ownerId)
1125    {
1126      $this->ownerId = $ownerId;
1127    }
1128    public function getOwnerId()
1129    {
1130      return $this->ownerId;
1131    }
1132    public function setRoom($room)
1133    {
1134      $this->room = $room;
1135    }
1136    public function getRoom()
1137    {
1138      return $this->room;
1139    }
1140    public function setSection($section)
1141    {
1142      $this->section = $section;
1143    }
1144    public function getSection()
1145    {
1146      return $this->section;
1147    }
1148    public function setUpdateTime($updateTime)
1149    {
1150      $this->updateTime = $updateTime;
1151    }
1152    public function getUpdateTime()
1153    {
1154      return $this->updateTime;
1155    }
1156  }
1157  
1158  #[AllowDynamicProperties]
1159  class Google_Service_Classroom_CourseAlias extends Google_Model
1160  {
1161    protected $internal_gapi_mappings = array(
1162    );
1163    public $alias;
1164  
1165  
1166    public function setAlias($alias)
1167    {
1168      $this->alias = $alias;
1169    }
1170    public function getAlias()
1171    {
1172      return $this->alias;
1173    }
1174  }
1175  
1176  #[AllowDynamicProperties]
1177  class Google_Service_Classroom_Empty extends Google_Model
1178  {
1179  }
1180  
1181  #[AllowDynamicProperties]
1182  class Google_Service_Classroom_GlobalPermission extends Google_Model
1183  {
1184    protected $internal_gapi_mappings = array(
1185    );
1186    public $permission;
1187  
1188  
1189    public function setPermission($permission)
1190    {
1191      $this->permission = $permission;
1192    }
1193    public function getPermission()
1194    {
1195      return $this->permission;
1196    }
1197  }
1198  
1199  #[AllowDynamicProperties]
1200  class Google_Service_Classroom_Invitation extends Google_Model
1201  {
1202    protected $internal_gapi_mappings = array(
1203    );
1204    public $courseId;
1205    public $id;
1206    public $role;
1207    public $userId;
1208  
1209  
1210    public function setCourseId($courseId)
1211    {
1212      $this->courseId = $courseId;
1213    }
1214    public function getCourseId()
1215    {
1216      return $this->courseId;
1217    }
1218    public function setId($id)
1219    {
1220      $this->id = $id;
1221    }
1222    public function getId()
1223    {
1224      return $this->id;
1225    }
1226    public function setRole($role)
1227    {
1228      $this->role = $role;
1229    }
1230    public function getRole()
1231    {
1232      return $this->role;
1233    }
1234    public function setUserId($userId)
1235    {
1236      $this->userId = $userId;
1237    }
1238    public function getUserId()
1239    {
1240      return $this->userId;
1241    }
1242  }
1243  
1244  #[AllowDynamicProperties]
1245  class Google_Service_Classroom_ListCourseAliasesResponse extends Google_Collection
1246  {
1247    protected $collection_key = 'aliases';
1248    protected $internal_gapi_mappings = array(
1249    );
1250    protected $aliasesType = 'Google_Service_Classroom_CourseAlias';
1251    protected $aliasesDataType = 'array';
1252    public $nextPageToken;
1253  
1254  
1255    public function setAliases($aliases)
1256    {
1257      $this->aliases = $aliases;
1258    }
1259    public function getAliases()
1260    {
1261      return $this->aliases;
1262    }
1263    public function setNextPageToken($nextPageToken)
1264    {
1265      $this->nextPageToken = $nextPageToken;
1266    }
1267    public function getNextPageToken()
1268    {
1269      return $this->nextPageToken;
1270    }
1271  }
1272  
1273  #[AllowDynamicProperties]
1274  class Google_Service_Classroom_ListCoursesResponse extends Google_Collection
1275  {
1276    protected $collection_key = 'courses';
1277    protected $internal_gapi_mappings = array(
1278    );
1279    protected $coursesType = 'Google_Service_Classroom_Course';
1280    protected $coursesDataType = 'array';
1281    public $nextPageToken;
1282  
1283  
1284    public function setCourses($courses)
1285    {
1286      $this->courses = $courses;
1287    }
1288    public function getCourses()
1289    {
1290      return $this->courses;
1291    }
1292    public function setNextPageToken($nextPageToken)
1293    {
1294      $this->nextPageToken = $nextPageToken;
1295    }
1296    public function getNextPageToken()
1297    {
1298      return $this->nextPageToken;
1299    }
1300  }
1301  
1302  #[AllowDynamicProperties]
1303  class Google_Service_Classroom_ListInvitationsResponse extends Google_Collection
1304  {
1305    protected $collection_key = 'invitations';
1306    protected $internal_gapi_mappings = array(
1307    );
1308    protected $invitationsType = 'Google_Service_Classroom_Invitation';
1309    protected $invitationsDataType = 'array';
1310    public $nextPageToken;
1311  
1312  
1313    public function setInvitations($invitations)
1314    {
1315      $this->invitations = $invitations;
1316    }
1317    public function getInvitations()
1318    {
1319      return $this->invitations;
1320    }
1321    public function setNextPageToken($nextPageToken)
1322    {
1323      $this->nextPageToken = $nextPageToken;
1324    }
1325    public function getNextPageToken()
1326    {
1327      return $this->nextPageToken;
1328    }
1329  }
1330  
1331  #[AllowDynamicProperties]
1332  class Google_Service_Classroom_ListStudentsResponse extends Google_Collection
1333  {
1334    protected $collection_key = 'students';
1335    protected $internal_gapi_mappings = array(
1336    );
1337    public $nextPageToken;
1338    protected $studentsType = 'Google_Service_Classroom_Student';
1339    protected $studentsDataType = 'array';
1340  
1341  
1342    public function setNextPageToken($nextPageToken)
1343    {
1344      $this->nextPageToken = $nextPageToken;
1345    }
1346    public function getNextPageToken()
1347    {
1348      return $this->nextPageToken;
1349    }
1350    public function setStudents($students)
1351    {
1352      $this->students = $students;
1353    }
1354    public function getStudents()
1355    {
1356      return $this->students;
1357    }
1358  }
1359  
1360  #[AllowDynamicProperties]
1361  class Google_Service_Classroom_ListTeachersResponse extends Google_Collection
1362  {
1363    protected $collection_key = 'teachers';
1364    protected $internal_gapi_mappings = array(
1365    );
1366    public $nextPageToken;
1367    protected $teachersType = 'Google_Service_Classroom_Teacher';
1368    protected $teachersDataType = 'array';
1369  
1370  
1371    public function setNextPageToken($nextPageToken)
1372    {
1373      $this->nextPageToken = $nextPageToken;
1374    }
1375    public function getNextPageToken()
1376    {
1377      return $this->nextPageToken;
1378    }
1379    public function setTeachers($teachers)
1380    {
1381      $this->teachers = $teachers;
1382    }
1383    public function getTeachers()
1384    {
1385      return $this->teachers;
1386    }
1387  }
1388  
1389  #[AllowDynamicProperties]
1390  class Google_Service_Classroom_Name extends Google_Model
1391  {
1392    protected $internal_gapi_mappings = array(
1393    );
1394    public $familyName;
1395    public $fullName;
1396    public $givenName;
1397  
1398  
1399    public function setFamilyName($familyName)
1400    {
1401      $this->familyName = $familyName;
1402    }
1403    public function getFamilyName()
1404    {
1405      return $this->familyName;
1406    }
1407    public function setFullName($fullName)
1408    {
1409      $this->fullName = $fullName;
1410    }
1411    public function getFullName()
1412    {
1413      return $this->fullName;
1414    }
1415    public function setGivenName($givenName)
1416    {
1417      $this->givenName = $givenName;
1418    }
1419    public function getGivenName()
1420    {
1421      return $this->givenName;
1422    }
1423  }
1424  
1425  #[AllowDynamicProperties]
1426  class Google_Service_Classroom_Student extends Google_Model
1427  {
1428    protected $internal_gapi_mappings = array(
1429    );
1430    public $courseId;
1431    protected $profileType = 'Google_Service_Classroom_UserProfile';
1432    protected $profileDataType = '';
1433    public $userId;
1434  
1435  
1436    public function setCourseId($courseId)
1437    {
1438      $this->courseId = $courseId;
1439    }
1440    public function getCourseId()
1441    {
1442      return $this->courseId;
1443    }
1444    public function setProfile(Google_Service_Classroom_UserProfile $profile)
1445    {
1446      $this->profile = $profile;
1447    }
1448    public function getProfile()
1449    {
1450      return $this->profile;
1451    }
1452    public function setUserId($userId)
1453    {
1454      $this->userId = $userId;
1455    }
1456    public function getUserId()
1457    {
1458      return $this->userId;
1459    }
1460  }
1461  
1462  #[AllowDynamicProperties]
1463  class Google_Service_Classroom_Teacher extends Google_Model
1464  {
1465    protected $internal_gapi_mappings = array(
1466    );
1467    public $courseId;
1468    protected $profileType = 'Google_Service_Classroom_UserProfile';
1469    protected $profileDataType = '';
1470    public $userId;
1471  
1472  
1473    public function setCourseId($courseId)
1474    {
1475      $this->courseId = $courseId;
1476    }
1477    public function getCourseId()
1478    {
1479      return $this->courseId;
1480    }
1481    public function setProfile(Google_Service_Classroom_UserProfile $profile)
1482    {
1483      $this->profile = $profile;
1484    }
1485    public function getProfile()
1486    {
1487      return $this->profile;
1488    }
1489    public function setUserId($userId)
1490    {
1491      $this->userId = $userId;
1492    }
1493    public function getUserId()
1494    {
1495      return $this->userId;
1496    }
1497  }
1498  
1499  #[AllowDynamicProperties]
1500  class Google_Service_Classroom_UserProfile extends Google_Collection
1501  {
1502    protected $collection_key = 'permissions';
1503    protected $internal_gapi_mappings = array(
1504    );
1505    public $emailAddress;
1506    public $id;
1507    protected $nameType = 'Google_Service_Classroom_Name';
1508    protected $nameDataType = '';
1509    protected $permissionsType = 'Google_Service_Classroom_GlobalPermission';
1510    protected $permissionsDataType = 'array';
1511    public $photoUrl;
1512  
1513  
1514    public function setEmailAddress($emailAddress)
1515    {
1516      $this->emailAddress = $emailAddress;
1517    }
1518    public function getEmailAddress()
1519    {
1520      return $this->emailAddress;
1521    }
1522    public function setId($id)
1523    {
1524      $this->id = $id;
1525    }
1526    public function getId()
1527    {
1528      return $this->id;
1529    }
1530    public function setName(Google_Service_Classroom_Name $name)
1531    {
1532      $this->name = $name;
1533    }
1534    public function getName()
1535    {
1536      return $this->name;
1537    }
1538    public function setPermissions($permissions)
1539    {
1540      $this->permissions = $permissions;
1541    }
1542    public function getPermissions()
1543    {
1544      return $this->permissions;
1545    }
1546    public function setPhotoUrl($photoUrl)
1547    {
1548      $this->photoUrl = $photoUrl;
1549    }
1550    public function getPhotoUrl()
1551    {
1552      return $this->photoUrl;
1553    }
1554  }