Вы получаете эту ошибку, потому что /assignments
доступно только в бета-версии Graph. Если вы попытаетесь вызвать эту конечную точку, используя v1.0, Graph отклонит запрос со следующей ошибкой:
{
"error": {
"code": "BadRequest",
"message": "Resource not found for the segment 'assignments'.",
"innerError": {
"request-id": "38df490c-3a2b-4fe8-a77e-a7cce82831b5",
"date": "2020-02-20T18:46:16"
}
}
}
Чтобы использовать конечные точки /assignments
, вам потребуется вызвать бета-версию :
/beta/education/assignments/
Вы можете указать SDK использовать бета-версию, используя setApiVersion
:
$graph = new Graph();
$graph
->setBaseUrl("https://graph.microsoft.com/")
->setApiVersion("beta")
->setAccessToken($_SESSION['access_token']);
$getEventsUrlAssignments = '/education/classes/' . $class->getId() . '/assignments';
try {
$assignments = $graph->createRequest('GET', $getEventsUrlAssignments)
->setReturnType(Model\EducationAssignment::class)
->execute();
}
catch (\GuzzleHttp\Exception\ClientException $e) {
dd($e->getResponse()->getBody()->getContents());
}
Вам также нужно будет ссылаться на бета-модели поскольку в v1.0 нет модели для Assignment. Этот процесс описан в вики SDK под Использование бета-моделей .