объявления в классе google создать + php api (материалы)

Я использую Google Classroom, Google API и клиентскую библиотеку Google API для PHP.

Я могу добавить объявление, но не могу добавить материалы.

Я хотел бы добавить файлы в Google Диск, но у меня есть ошибки даже с «ссылкой»

Мой код до сих пор:

$client = new Google_Client();
$client->useApplicationDefaultCredentials();

$client->setApplicationName("test classroom");
$client->setAuthConfig($KEY_FILE_LOCATION);
$client->setScopes(['https://www.googleapis.com/auth/classroom.courses',
"https://www.googleapis.com/auth/classroom.rosters",
"https://www.googleapis.com/auth/classroom.announcements",
"https://www.googleapis.com/auth/classroom.coursework.students",
"https://www.googleapis.com/auth/classroom.coursework.me",
]);


// $service implements the client interface, has to be set before auth call
$service = new Google_Service_Classroom($client);

$text="some text";
$link="http://someurl";

$glink = new Google_Service_Classroom_Link($link);
$glink->setUrl($link);
$params = [
"text" => $text,
"materials" => [
"link" => $glink,
],
];
$params_obj = new Google_Service_Classroom_Announcement($params);

$service->courses_announcements->create($course_classid, $params_obj);

//tried also with:
$params = [
"text" => $text,
"materials" => [
"link" => ((new Google_Service_Classroom_Material())->setLink($glink)) ,
],
];

Ошибка:

"message": "materials: Link materials must have a URL.",

0

Решение

Так что, сверху, кажется странным, что вы вообще создаете ассоциативные массивы params. В PHP-клиенте есть методы для добавления всех параметров вплоть до конечного уровня. Таким образом, вы не должны видеть никаких массивов в вашем коде. Продолжайте использовать методы вместо этого, и это поможет очистить вещи. Если у вас все еще есть проблемы, возможно, у меня будет время покопаться в этом конкретном предмете.

0

Другие решения

Your limk must be array with three entry

$params = [
"text" => 'Please, do your homeworks until Monday',
"materials"=>['link'=>['url'=>'https://www.examaker.com',
'title'=>'HW',
'thumbnailUrl'=>'https://examaker.com/apps/imgs/logo_40.png']
]
];
-1

По вопросам рекламы [email protected]