Read.Course.Files
Gets the list of folders and files belonging to the specified course's subdirectory. The course can be selected by specifying the course id or course sync key. The method uses time-based caching of provided results. The cache expires after 30 minutes.
Input parameters
Name | Description | Type | Mandatory/Optional |
---|---|---|---|
SiteId | Site where action will be executed. | Integer | Optional |
VendorId | VendorId. Currently not used. | Text | Optional |
CourseId | Identifier of the course to get the files and folders for. | Integer | Mandatory, when CourseSyncKey is not specified |
CourseSyncKey | SyncKey of the course to get the files and folders for. | String | Mandatory, when CourseId is not specified |
Path | Path to the directory which contents will be listed. If unspecified, root directory is assumed. Example: /folder1/folder2 | String | Optional |
Output | Output type. Can be set to 'Element' for listing files only or 'Folder'. If unspecified, all contents are listed. | Enum | Optional |
Example request
<
soapenv
:Envelope
xmlns:soapenv
=
"http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem
=
"http://tempuri.org/"
xmlns:its
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities.CourseFile"
>
<
soapenv
:Header/>
<
soapenv
:Body>
<
tem
:ReadCourseFiles>
<
tem
:request>
<
its
:CourseId>55</
its
:CourseId>
<
its
:Output>Folder</
its
:Output>
<
its
:Path>abc\def</
its
:Path>
</
tem
:request>
</
tem
:ReadCourseFiles>
</
soapenv
:Body>
</
soapenv
:Envelope>
Output parameters
Name | Description | Type |
---|---|---|
CourseFile | Represents a single course file. | Parent element |
CourseFile / Name | Name of the file, including extension. | String |
CourseFile / Path | Relative path to the file. | String |
CourseFile / URL | URL to the file. | String |
CourseFolder | Represents a single course folder. | Parent element |
CourseFolder / Name | Name of the folder. | String |
CourseFolder / Path | Relative path to the folder. | String |
Example response
<
s
:Envelope
xmlns:s
=
"http://schemas.xmlsoap.org/soap/envelope/"
xmlns:u
=
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
>
<
s
:Header>
<
o
:Security
s:mustUnderstand
=
"1"
xmlns:o
=
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
>
<
u
:Timestamp
u:Id
=
"_0"
>
<
u
:Created>2012-12-12T12:49:47.562Z</
u
:Created>
<
u
:Expires>2012-12-12T12:54:47.562Z</
u
:Expires>
</
u
:Timestamp>
</
o
:Security>
</
s
:Header>
<
s
:Body>
<
ReadCourseFilesResponse
xmlns
=
"http://tempuri.org/"
>
<
ReadCourseFilesResult
xmlns:a
=
"http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities.CourseFile"
xmlns:i
=
"http://www.w3.org/2001/XMLSchema-instance"
>
<
a
:Files>
<
a
:CourseFile>
<
a
:Name>1.log</
a
:Name>
<
a
:Path>\1.log</
a
:Path>
<
a
:Url>
https://localhost/data/2/C3/1.log
</
a
:Url>
</
a
:CourseFile>
</
a
:Files>
<
a
:Folders>
<
a
:CourseFolder>
<
a
:Name>A</
a
:Name>
<
a
:Path>\A</
a
:Path>
</
a
:CourseFolder>
</
a
:Folders>
</
ReadCourseFilesResult
>
</
ReadCourseFilesResponse
>
</
s
:Body>
</
s
:Envelope>
Error states
In the following cases the service will return an error:
- The requested course does not exist.
- The requested course has been deleted.
- The requested course exists, but belongs to an organisation the requester does not have access to.
- Course does not have "Use files in course" setting activated.
- The specified path does not exist within a course.
- The requester supplied both a CourseId and CourseSyncKey.
Example error message response
<
s
:Envelope
xmlns:s
=
"http://schemas.xmlsoap.org/soap/envelope/"
xmlns:u
=
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
>
<
s
:Header>
<
o
:Security
s:mustUnderstand
=
"1"
xmlns:o
=
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
>
<
u
:Timestamp
u:Id
=
"_0"
>
<
u
:Created>2012-12-10T08:50:38.477Z</
u
:Created>
<
u
:Expires>2012-12-10T08:55:38.477Z</
u
:Expires>
</
u
:Timestamp>
</
o
:Security>
</
s
:Header>
<
s
:Body>
<
s
:Fault>
<
faultcode
>s:Client</
faultcode
>
<
faultstring
xml:lang
=
"nb-NO"
>Course with specified CourseId/CourseSyncKey is not valid.</
faultstring
>
</
s
:Fault>
</
s
:Body>
</
s
:Envelope>