Skip to Content

Videot API

Videot API on pääsyynä video sisällön hakemiseksi. Se tukee voimakasta suodattamista, järjestämistä ja tageja.

Listaa videot

Hakee sivutettua lista videot. Tämä pääsy on hyvin sovellettavissa ja hyväksyy useita kyselyparametrejä tulosten muokkaamiseksi. Vastaus sisältää videoiden VideoSummary-objektien joukon.

GET /videos

Kyselyparametrit

NimiTyyppiKuvaus
pathstringVaihtoehtoinen. Suodattaa videot tiettyyn kokoelmaan polkuun, esim. root/movies.
filtersobjectVaihtoehtoinen. Suodatetaan metadatan perusteella. Katso Filtering Esimerkit alla olevasta syntaksista.
tagsstringVaihtoehtoinen. Komma-erottimen välillä listattuina tagit, joita suodatetaan (esim. laravel,api). Etsii videot, jotka sisältävät kaikki määritellyt tagit.
sortstringVaihtoehtoinen. Järjestää tulokset. Käytä - prefiksi laskevan järjestyksen saavuttamiseksi. Sallittuja kenttiä ovat created_at, title, duration_in_seconds. Oletus: -created_at.
per_pageintegerVaihtoehtoinen. Tuloksia sivulla olevien määrän määrittely. Oletus: 15, Maksimi: 100.

Filtering Esimerkit

Kyselyn filters parametria käytetään suodattamiseen. Syntaksi on filters[field_name][operator]=value.

Suodattele kokoelmaan

Tämä löytää kaikki videot sisältävän education/php kokoelman.

GET /api/client/v1/videos?path=root/education/php

Suodattele yksittäiseen metadatan kenttään (Yhtälö)

Tämä löytää kaikki videot, joissa genre on ‘Action’, kohde ei ole huomioon otettu. Käyttämällä suora arvo on lyhyempi versio eq (yhtälö) operaattorista.

GET /api/client/v1/videos?filters[genre]=Action

Suodattele polkuun ja metadatan

Tämä löytää kaikki ‘alkeis’ videot, jotka ovat erityisesti ‘liikunta/yoga’ kokoelmaan.

GET /api/client/v1/videos?path=root/fitness/yoga&filters[difficulty]=beginner

Suodattele “Suurempi kuin” (gt)

Tämä löytää kaikki videot, jotka ovat pidempiä 10 minuuttia (600 sekuntia).

GET /api/client/v1/videos?filters[duration_in_seconds][gt]=600

Suodattele “Vähemmän tai yhtä suuri kuin” (lte)

Tämä löytää kaikki videot, joissa arvoksi on 3 tai vähemmän.

GET /api/client/v1/videos?filters[rating][lte]=3

Suodattele “Luettelossa” (in)

Tämä löytää kaikki videot, joissa vaikeus on joko ‘alkeis’ tai ‘keskitaso’. Se toimii sekä yksittäiskenttien että monivalintakenttien kohdalla.

GET /api/client/v1/videos?filters[difficulty][in]=beginner,intermediate

Suodattele “Ei ole yhtä” (neq)

Tämä löytää kaikki videot, joissa esittäjänä ei ole ‘Jane Doe’.

GET /api/client/v1/videos?filters[presenter][neq]=Jane Doe

Järjestys- ja tageja Esimerkit

Suodattele tagit

Tämä löytää kaikki videot, jotka on merkitty sekä ‘yoga’ että ‘alkeis’.

GET /api/client/v1/videos?tags=yoga,beginner

Järjestä nimellä (Nouseva)

Tämä listaa kaikki videot järjestyksessä nimen mukaan.

GET /api/client/v1/videos?sort=title

Järjestä päivämäärällä (Laskeva)

Tämä listaa kaikki videot, joissa uusimmat ovat ensimmäisinä. Tämä on oletustila ja vastaa sitä, että ei ole määritetty sort parametria.

GET /api/client/v1/videos?sort=-created_at

Koko Vastaus: GET /videos

Tämä on täysin muotoiltu, ei leikattu esimerkki sivutetusta vastauksesta.

Vastaus: 200 OK
{ "data": [ { "id": "9c1a9e3e-6c9b-4f8a-8e2d-9b3c1d4e0f6a", "title": "Advanced API Design in Laravel", "description": "A deep dive into building robust APIs.", "duration_in_seconds": 3620, "thumbnail_url": "https://your-cdn.com/path/to/thumb1.jpg", "created_at": "2024-08-10T12:00:00Z", "metadata": { "difficulty": "advanced", "presenter": "Jane Doe" } }, { "id": "9c1a9e3e-7d8c-5g9b-9f1c-8a2b0c3d9e8f", "title": "Introduction to Yoga", "description": "A beginner's guide to basic yoga poses.", "duration_in_seconds": 1800, "thumbnail_url": "https://your-cdn.com/path/to/thumb2.jpg", "created_at": "2024-08-09T10:00:00Z", "metadata": { "difficulty": "beginner", "presenter": "John Smith" } } ], "links": { "first": "https://your-app.com/api/client/v1/videos?page=1", "last": "https://your-app.com/api/client/v1/videos?page=5", "prev": null, "next": "https://your-app.com/api/client/v1/videos?page=2" }, "meta": { "current_page": 1, "from": 1, "last_page": 5, "links": [ { "url": null, "label": "« Previous", "active": false }, { "url": "https://your-app.com/api/client/v1/videos?page=1", "label": "1", "active": true }, { "url": "https://your-app.com/api/client/v1/videos?page=2", "label": "2", "active": false }, { "url": "https://your-app.com/api/client/v1/videos?page=3", "label": "3", "active": false }, { "url": "https://your-app.com/api/client/v1/videos?page=4", "label": "4", "active": false }, { "url": "https://your-app.com/api/client/v1/videos?page=5", "label": "5", "active": false }, { "url": "https://your-app.com/api/client/v1/videos?page=2", "label": "Next »", "active": true } ], "path": "https://your-app.com/api/client/v1/videos", "per_page": 2, "to": 2, "total": 10 } }

Hae yksittäinen video

Hakee täysin muotoiltu, yksityiskohtainen tieto yhdestä videosta, joka on sopiva sovellus. Vastaus sisältää yhden Video-objektin.

GET /videos/{videoId}

Polku parametrit

NimiTyyppiKuvaus
videoIduuidVaadittu. Videon yksilöivä tunniste.

Esimerkki pyyntö

GET /api/client/v1/videos/9c1a9e3e-6c9b-4f8a-8e2d-9b3c1d4e0f6a

Koko Vastaus: GET /videos/{videoId}

Vastaus: 200 OK
{ "data": { "id": "9c1a9e3e-6c9b-4f8a-8e2d-9b3c1d4e0f6a", "title": "Advanced API Design in Laravel", "description": "A deep dive into building robust APIs.", "duration_in_seconds": 3620, "created_at": "2024-08-10T12:00:00Z", "manifest": { "hls_url": "https://your-cdn.com/path/to/master.m3u8", "dash_url": "https://your-cdn.com/path/to/manifest.mpd" }, "captions": [ { "label": "English", "language": "en", "is_default": true, "url": "https://your-cdn.com/path/to/en.vtt" }, { "label": "Español", "language": "es", "is_default": false, "url": "https://your-cdn.com/path/to/es.vtt" } ], "transcript": { "type": "vtt", "url": "https://your-cdn.com/path/to/transcript.vtt" }, "thumbnails": [ { "url": "https://your-cdn.com/path/to/thumb1.jpg" }, { "url": "https://your-cdn.com/path/to/thumb2.jpg" } ], "tags": ["laravel", "api", "php"], "metadata": { "difficulty": "advanced", "presenter": "Jane Doe", "related_course": "API Mastery", "language": "en-US" } } }