https://ytsave.appИзградете преземања со YTSave
Разрешете јавен медиумски URL, изберете точен формат, создадете асинхрона задача и предадете го потпишаниот резултат на вашиот корисник. Истиот ограничен производствен процес го напојува веб-сајтот YTSave.
Брз почеток
YTSave го ракува API домаќинот со прво идентификување на активираните креденцијали за поддршка. Потоа следи доделен краен точка на закупец и го одржува патот на повик само за сервер во вид.
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"}'За да се објасни безбедноста на акредитивите, YTSave го одделува серверското тајно складирање од немање вградување на клиентски пакет. Записот за докази не му дава посебно место на јавните записи или репозиториуми.
Решете врска
YTSave ракува со операцијата Resolve со прво идентификување на откривање на извор. Следува со формати од една поднесена URL и не чува измислени излези во поглед.
/v1/resolveОпсег: решавање| Поле | Тип на датотека | Задолжително | Опис |
|---|---|---|---|
url | HTTPS адреса | Да | Јавна или овластена страница на медиумите за анализа. |
tenant | низа | Не. | Доделен домен на закупецот.Обично се испушта. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}За да се објасни идентификаторот на формат, YTSave го одделува вратениот вредност непроменет од достапноста по врска. Записот за докази не му дава посебно место на претпоставената ознака за квалитет.
Креирајте и следете работа за преземање
За креирање на работа, YTSave започнува со асинхрона подготовка.Неговиот доказен запис го парира тоа со кратко барање HTTP и завршува со ограничено извршување на работниците.
/v1/jobsОпсег: работни места| Поле | Тип на датотека | Задолжително | Опис |
|---|---|---|---|
url | HTTPS адреса | Да | Истиот нормализиран извор поднесен за решавање. |
format_id | низа | Да | Точен ID од одговорот за решавање. |
tenant | низа | Не. | Доделен домен на закупецот.Обично се испушта. |
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} со истиот клуч.| Статус | Значење | Дејство на клиентот |
|---|---|---|
queued | Прифатено во ограничената редица. | Анкета повторно со повраток. |
extracting | Освежување на изворните метаподатоци или рутата. | Продолжете со анкетирање. |
processing | Преземање, ремуксирање или спојување. | Прикажи напредок на серверот. |
ready | Потпишано преземање е достапно. | Испратете го URL-то до корисникот. |
failed | Грешка во структурата на терминалот. | Прочитај error_code.Повторете го обидот само кога ќе бидете советувани. |
expired | Привремениот излез беше отстранет. | Креирајте нова работа. |
curl https://ytsave.app/v1/jobs/JOB_ID \
-H "X-API-Key: $YTSAVE_API_KEY"YTSave го прави гласањето за работа лесно за скенирање.Страницата започнува со почетно чекање од една секунда, се префрла на ограничено заостанување и јасно наведува привремена потпишана испорака.
Предвидливи грешки
За Грешка договор, YTSave проверува еден не-2xx плик пред барање за поддршка ID.Овој доказ рекорд, исто така, прави предвидлив клиент ракување јасно.
{
"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 | Типично значење | Акција |
|---|---|---|
| 400 | Невалидна URL, тело или недостапен формат. | Поправете го барањето. Обидете се повторно за формати. |
| 401 | Клучот недостасува, е невалиден, истечен или со погрешен опсег. | Проверете ги акредитивите на страната на серверот. |
| 403 | Политиката на станарот или изворот го одби барањето. | Не заобиколувајте ја политиката.Контактирајте со поддршката. |
| 404 | Непозната или истечена работа. | Креирајте нова работа ако е соодветно. |
| 429 | Достигнато е ограничувањето на барањето или активната задача. | Чест. retry_after_seconds. |
| 503 | Ред/капацитет или горен тек привремено недостапен. | Повторете со експоненцијално повлекување и треперење. |
Договор за работење
YTSave издава оперативна квота со секое одобрување за да се заштити API потрошувачот и медиумските услуги нагоре.
- Користете идемпотентна логика на апликацијата и никогаш не започнувајте дупликатни задачи за истиот клик на корисникот.
- Кешот ги решава метаподатоците накратко, но секогаш ги третира потпишаните URL-адреси за преземање како истекување.
- Користете ограничен експоненцијален поврат со тресење за
429,503и повторливи грешки. - Обработувајте само јавни медиуми или медиуми до кои имате овластување за пристап. DRM и контролите на пристап не се заобиколуваат.
- Чувајте ги идентификаторите на барања и идентификаторите на задачи во приватни оперативни дневници. Не ги запишувајте испратените URL-адреси непотребно.
YTSave го ракува пристапот до Шема со прво идентификување на активирањето пред истражувањето. Следи доделена автентикација и ги држи документираните форми на барање во преглед. Референца за OpenAPI
Побарајте го вашиот API клуч
Документирајте го корисникот на API, неговата месечна проценка на барања и поддржаните барања за платформа. YTSave прегледува дали решавањето, поднесувањето на работа или двете се оправдани пред издавање на клуч кој се гледа еднаш.
Барање за пристап до API Клучевите се со опсег на закупец, се отповикливи и се издаваат преку формуларот за контакт. Анонимните скрипти не можат да извршат работа на преземач.