создать несколько учебных курсов Google с помощью конечной точки api, получить 409 «Операция была прервана». и 500 ошибок типа «Обнаружена внутренняя ошибка» - PullRequest
0 голосов
/ 08 мая 2020

Когда я создаю 6 учебных курсов Google, используя конечную точку https://classroom.googleapis.com/v1/courses, я иногда получаю 409 «Операция была прервана». и 500 ошибок типа «Обнаружена внутренняя ошибка».

Вот мой код в Typescript:

 dtos = [
    {
      uniqueName: 'p:day108.01.1951.catherine',  // unique project wide alias
      descriptionHeading: '',
      name: 'class1'
    },
    ...
  ];

  createCourses(dtos).subscribe(a=> console(a));

  createCourses(dtos: CourseCreateDTO[]): Observable<ResultSummary> {
    return from(dtos).pipe(
      mergeMap(dto => {
        return this.classroomService.createCourse(dto);
      }),
    );
  }

   createCourse(dto: CourseCreateDTO)
    : Observable<GoogleClassroomCourse | StandardError> {
      // set up http options
      const httpOptions = {
        headers: new HttpHeaders({
          'Content-Type': 'application/json',
          Authorization: 'Bearer ' + this.auth.accessToken
        }),
        body: {
          id: dto.uniqueName,
          name: dto.name,
          ownerId: ADMIN_USERNAME + '@' + DOMAIN_NAME, 
          courseState: CourseStateEnum.ACTIVE,
        }
      };
      const url = 'https://classroom.googleapis.com/v1/courses';
      return this.http.request<GoogleClassroomCourse>('POST', url, httpOptions);
  }

...