У меня постоянно возникают трудности с использованием любого метода обслуживания клиентов, который где-то явно не указан. Несмотря на то, что я следую документации и даже читаю исходный код, имена классов или методов, которые я придумываю, следуя схеме, никогда не бывают правильными.
В документации на Packagist (см. «Выполнение запросов») говорится классы клиентской библиотеки автоматически генерируются из конечных точек Google, что согласуется с описанием в документации библиотеки на Github , в котором говорится, что шаблон для доступа к методам должен быть "$service->resource->method(args)
".
почему следующее?
// works:
// I get a countable object of active classrooms owner by the specified id
$response = $this->ClassroomService->courses->listCourses([
'courseStates' => 'ACTIVE',
'teacherId' => 'me']);
// works:
// I get an instance of the single classroom's object containing lots of meta data
$response = $this->ClassroomService->courses->get( $id );
// does not work:
// 500 error, obj has no such method
$response = $this->ClassroomService->topics->listCoursesTopics( $id );
В соответствии с API Explorer все три должны быть в порядке.
Что мне не хватает в использовании объектов службы клиента?
Редактировать В конечном итоге я определил ресурс в моем примере как "courses_topics", метод был правильным для документов. Спасибо за идею @ebram. Однако остается вопрос, как называются методы. courseWork
это мой следующий вызов, и он не соответствует шаблону именования topics
.