Courses.List отображает курс, но Courses.Delete говорит, что курс неизвестен - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь удалить все классы из Google Classroom с помощью API.Я вызываю Classes.List для получения идентификационного номера всех классов, а затем передаю его в Classes.Delete.Однако в этот момент я получаю «Запрошенная сущность не найдена».сообщение об ошибке.

Я не уверен, как это возвращается в команде списка, но не удается удалить.Существуют ли какие-либо предварительные условия для команды «Удалить», которые я не вижу в документации Google?

То же самое происходит в разделе «Попробуйте этот API» на веб-сайте Google, поэтому я уверен, что это не проблема с кодом.

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 
"https://classroom.googleapis.com/v1/courses");         
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Authorization: Bearer $token",
    "Content-Type: application/json"
));
$response = curl_exec($ch);
curl_close($ch);
$response = json_decode($response, true);

foreach ($response['courses'] as $Course)
{   
    $VLEID=$Course['id'];   

    $ch1 = curl_init();
    curl_setopt($ch1, CURLOPT_URL, 
"https://classroom.googleapis.com/v1/courses/".$VLEID);
    curl_setopt($ch1, CURLOPT_CUSTOMREQUEST, "DELETE"); 
    curl_setopt($ch1, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch1, CURLOPT_HTTPHEADER, array(
        "Authorization: Bearer $token"
    ));
    $response1 = curl_exec($ch1);
    curl_close($ch1);       

    var_dump($response1);
    echo "<br/>";
    die();
}   

Ответы [ 2 ]

0 голосов
/ 24 июля 2019

Это похоже на ошибку в классе Google.Пожалуйста, просмотрите проблему, зарегистрированную в системе отслеживания проблем GC, примерно в то же время, когда этот вопрос был опубликован здесь, и создатель проблемы также упомянул, что это может быть регрессируемой проблемой, поскольку один и тот же API возвращал разное количество курсов ранее.https://issuetracker.google.com/issues/134993210

0 голосов
/ 16 июня 2019

Я вижу ту же проблему в моем автоматизированном тестовом наборе.Насколько я могу судить, некоторые из курсов, возвращаемых из Courses.List, возвращают курсы, которые уже были удалены.Я также не могу сделать Course.Get для идентификаторов, и они не отображаются при просмотре курсов на веб-странице класса.Я знаю, что раньше это не делалось, потому что этот набор тестов существует уже много лет, но я не запускал его в последнее время, так что либо где-то на стороне Google произошел регресс, либо, может быть, это заняло некоторое время дляудаление для полного распространения.Я знаю, что распределенная природа некоторых из этих сервисов иногда проявляется в (обычно) кратковременных несоответствиях.

...