https://ytsave.appKurkite atsisiuntimus su YTSave
Išspręskite viešosios medijos URL, pasirinkite tikslų formatą, sukurkite asinchroninį darbą ir perduokite pasirašytą rezultatą savo vartotojui. Tas pats apribotas gamybos vamzdynas maitina YTSave svetainę.
Greita pradžia
YTSave tvarko API prieglobą, pirmiausia identifikuodamas palaikymą aktyvinančius kredencialus. Tada seka priskirtas nuomininko galinis taškas ir išlaiko tik serverio skambučio kelią matomą.
X-API-Key: ys_live_…YTSaveClientv1# Available only after support activation
export YTSAVE_API_KEY="issued-after-review"
curl -X POST https://ytsave.app/v1/resolve \
-H "X-API-Key: $YTSAVE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.youtube.com/watch?v=VIDEO_ID"}'Paaiškinant kredencialų saugumą, YTSave atskiria serverio pusės slaptą saugyklą nuo jokio kliento paketo įterpimo. Įrodymų įrašas nesuteikia viešiems žurnalams ar saugykloms atskiros vietos.
Nuorodos išsprendimas
YTSave tvarko Išspręsti operaciją pirmiausia nustatydamas šaltinio aptikimą. Toliau seka formatai iš vieno pateikto URL ir nerodo išrengtų išvesties duomenų rodinyje.
/v1/resolveTaikymo sritis: išspręsti| Laukas | Tipas | Būtinas | Aprašymas |
|---|---|---|---|
url | HTTPS URL | Taip | Viešas arba įgaliotas žiniasklaidos puslapis analizuoti. |
tenant | eilutė | Ne | Priskirtas nuomotojo domenas. Paprastai praleidžiamas. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Paaiškinant formato identifikatorių, YTSave grąžintą reikšmę atskiria nepakitusią nuo prieigos per nuorodą. Įrodymų įrašas nesuteikia spėjamai kokybės etiketei atskiros vietos.
Atsisiuntimo užduoties kūrimas ir sekimas
Darbo kūrimui YTSave pradeda nuo asinchroninio paruošimo. Jo įrodymų įrašas derina tai su trumpu HTTP užklausa ir baigiasi riboto darbininko vykdymu.
/v1/jobsTaikymo sritis: darbo vietos| Laukas | Tipas | Būtinas | Aprašymas |
|---|---|---|---|
url | HTTPS URL | Taip | Tas pats normalizuotas šaltinis pateiktas išspręsti. |
format_id | eilutė | Taip | Tikslus ID iš atsakymo į sprendimą. |
tenant | eilutė | Ne | Priskirtas nuomotojo domenas. Paprastai praleidžiamas. |
curl -X POST https://ytsave.app/v1/jobs \
-H "X-API-Key: $YTSAVE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.youtube.com/watch?v=VIDEO_ID","format_id":"18"}'job_id.GET /v1/jobs/{job_id} tuo pačiu raktu.| Būsena | Reikšmė | Kliento veiksmas |
|---|---|---|
queued | Priimtas į ribotą eilę. | Apklausa vėl su atgal. |
extracting | Atnaujinami šaltinio metaduomenys arba maršrutas. | Tęskite apklausą. |
processing | Parsisiuntimas, remiksas ar sujungimas. | Rodyti serverio pažangą. |
ready | Pasirašytas atsisiuntimas yra prieinamas. | Siųsti URL vartotojui. |
failed | Terminalo struktūrinė klaida. | Skaityti error_codeBandykite dar kartą tik tada, kai patartina. |
expired | Laikinas išėjimas buvo pašalintas. | Sukurkite naują darbą. |
curl https://ytsave.app/v1/jobs/JOB_ID \
-H "X-API-Key: $YTSAVE_API_KEY"YTSave palengvina užduočių tikrinimą. Puslapis prasideda vienos sekundės pradiniu laukimu, pereina prie riboto atidėjimo ir aiškiai nurodo laikinas pasirašytas pristatymas.
Numatomos klaidos
Klaidos sutarties atveju YTSave tikrina vieną ne 2xx aplanką prieš palaikymo užklausos ID. Šis įrodymų įrašas taip pat aiškiai nurodo numatomą kliento tvarkymą.
{
"success": false,
"error": {
"code": "RATE_LIMITED",
"category": "rate_limited",
"message": "Too many requests. Please try again shortly.",
"retryable": true,
"details": {"retry_after_seconds": 20}
},
"request_id": "…"
}| HTTP | Tipiška reikšmė | Veiksmas |
|---|---|---|
| 400 | Netinkamas URL, tekstas arba negalimas formatas. | Ištaisykite užklausą. Išspręskite dar kartą formatams. |
| 401 | Trūksta, negalioja, pasibaigė galiojimo laikas arba neteisingos apimties raktas. | Patikrinkite serverio pusės kredencialus. |
| 403 | Nuomininkas arba šaltinio strategija atmetė užklausą. | Neaplenkite politikos. Susisiekite su palaikymo tarnyba. |
| 404 | Nežinomas arba pasibaigęs darbas. | Jei reikia, sukurkite naują darbą. |
| 429 | Pasiektas užklausos arba aktyvių užduočių limitas. | Garbė retry_after_seconds. |
| 503 | Eilė / talpa arba priešsroviui laikinai neprieinama. | Bandykite dar kartą su eksponentiniu atgal ir drebėjimu. |
Veiklos sutartis
YTSave kiekvieno patvirtinimo metu išduoda veiklos kvotą, siekiant apsaugoti API vartotoją ir aukštesnio lygio medijos paslaugas.
- Naudokite idempotentinę programos logiką ir niekada nepradėkite pasikartojančių užduočių tam pačiam vartotojo paspaudimui.
- Talpykloje trumpai išsprendžiami metaduomenys, tačiau visada pasirašyti atsisiuntimo URL laikomi pasibaigusiais.
- Naudokite ribotą eksponentinį atgalinį atmetimą su drebėjimu, kad
429,503ir pakartotinai bandomos klaidos. - Apdorokite tik viešąją laikmeną arba laikmeną, prie kurios turite prieigą. DRM ir prieigos kontrolės priemonės nebus apeitos.
- Saugokite užklausų ID ir užduočių ID privačiuose veiklos žurnaluose. Nereikia registruoti pateiktų URL be reikalo.
YTSave tvarko Schema prieigą, pirmiausia nustatydamas aktyvavimą prieš tyrimą. Tada vykdo priskirtą autentifikaciją ir laiko dokumentuotus užklausų formatus rodinyje. OpenAPI nuoroda
Užklauskite savo API rakto
Dokumentuokite API vartotoją, jo mėnesinį užklausų skaičiaus įvertinimą ir palaikomus platformos reikalavimus. YTSave peržiūri, ar sprendimas, užduoties pateikimas ar abu yra pagrįsti prieš išduodant vienkartinį matomą raktą.
Užklausa API prieigai Raktai yra nuomininko apimties, atšaukiami ir išduodami per Susisiekite formą. Anoniminiai scenarijai negali vykdyti atsisiuntimo programos darbo.