PHP code example of eduskit / server-sdk-php

1. Go to this page and download the library: Download eduskit/server-sdk-php library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

eduskit / server-sdk-php example snippets


use Eduskit\Eduskit;
use Eduskit\EduskitError;

$sdk = new Eduskit([
    'timeoutMs' => 10000,
    'lang' => 'zh-CN',
    'client' => [
        'baseUrl' => 'http://localhost:3112',
        'appId' => getenv('EDU_APP_ID'),
        'appKey' => getenv('EDU_APP_KEY'),
        'appSecret' => getenv('EDU_APP_SECRET'),
    ],
    'whiteboardClient' => [
        'baseUrl' => 'http://localhost:3012',
        'appId' => getenv('WB_APP_ID'),
        'appKey' => getenv('WB_APP_KEY'),
        'appSecret' => getenv('WB_APP_SECRET'),
    ],
]);

$user = $sdk->client->users->register([
    'originId' => 'stu_001',
    'nickname' => '小明',
    'avatar' => 'https://example.com/a.png',
]);
$token = $sdk->client->auth->issueToken(['eduUserId' => $user['eduUserId'], 'originId' => 'stu_001']);
$classroom = $sdk->client->classrooms->create([
    'name' => '一年级数学',
    'startsAt' => '2026-08-17T10:00:00.000Z',
    'endsAt' => '2026-08-17T11:00:00.000Z',
    'teacherEduUserId' => $user['eduUserId'],
]);
$id = $classroom['classroomId'];
$sdk->client->classrooms->start($id);
$sdk->client->classrooms->members->add($id, ['eduUserId' => $user['eduUserId'], 'role' => 'student']);
$sdk->client->classrooms->members->replaceStudents($id, ['eduUserIds' => [$user['eduUserId']]]);
$sdk->client->classrooms->permissions->set($id, $user['eduUserId'], [
    'permission' => 'camera',
    'effect' => 'grant',
    'operatorEduUserId' => $user['eduUserId'],
]);
$sdk->client->classrooms->coursewares->bind($id, ['coursewareIds' => ['cw_xxx']]);
$sdk->client->app->getUiConfig();

$sdk->whiteboardClient->auth->issueRoomToken([
    'roomId' => 'room_1',
    'userId' => $user['eduUserId'],
    'role' => 'host',
    'expiresIn' => 3600,
]);
$session = $sdk->whiteboardClient->recordings->start('room_1', ['externalRef' => 'lesson_001']);
$sdk->whiteboardClient->recordings->enqueueVideoExport($session['recordingId'], ['profile' => 'hd']);
$sdk->whiteboardClient->files->convert(['sourceUrl' => 'https://cdn.example.com/lesson.pptx']);
$sdk->whiteboardClient->files->getConvertJob('job_xxx');

try {
    $sdk->client->auth->issueToken(['eduUserId' => '']);
} catch (EduskitError $e) {
    error_log($e->errorCode . ' ' . $e->status . ' ' . $e->traceId);
}
bash
composer 
bash
php tests/EduskitTest.php