https://ytsave.appИзграждане на изтегляния с YTSave
Разрешете адрес на публична медия, изберете точен формат, създайте асинхронно задание и предайте подписания резултат на вашия потребител Същият ограничен производствен тръбопровод захранва уебсайта 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 отделя върнатата стойност без промяна от наличността на връзка. Записът на доказателство не дава собствено място на предположителна етикета за качество.
Създаване и проследяване на задача за изтегляне
За създаване на Job, YTSave започва с асинхронна подготовка. Неговият запис на доказателства съчетава това с кратка HTTP заявка и завършва с ограничено изпълнение на работник.
/v1/jobsОбхват: работни места| Поле | Тип | Задължително | Описание на продукта |
|---|---|---|---|
url | HTTPS адрес | Да | Същият нормализиран източник, подаден за разрешаване. |
format_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 | Подписано изтегляне е налично. | Изпратете адреса на потребителя. |
failed | Терминална структурирана грешка. | Прочетете error_codeПовторете опита само когато ви бъде препоръчано. |
expired | Временният изход беше премахнат. | Създаване на нова работа. |
curl https://ytsave.app/v1/jobs/JOB_ID \
-H "X-API-Key: $YTSAVE_API_KEY"YTSave улеснява сканирането на Job polling. Страницата започва с едносекундно първоначално изчакване, преминава към ограничено обратно изчакване и ясно посочва временно подписана доставка.
Предсказуеми грешки
За грешка в договора, YTSave проверява един конверт, който не е 2xx, преди идентификатора на заявката за поддръжка. Този запис на доказателство също прави ясна предвидимата обработка от клиента.
{
"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 | Невалиден адрес, тяло или недостъпен формат. | Коригирайте заявката. Решете отново за формати. |
| 401 | Липсва, невалиден, изтекъл или с грешен обхват ключ. | Проверете идентификационните данни от страна на сървъра. |
| 403 | Наемател или източник политика отхвърли искането. | Не заобикаляйте правилата. Свържете се с поддръжката. |
| 404 | Неизвестна или изтекла работа. | Създайте нова работа, ако е подходящо. |
| 429 | Достигане на ограничението за заявки или активни задачи. | Чест. retry_after_seconds. |
| 503 | Опашка/капацитет или нагоре по веригата временно недостъпни. | Опитайте отново с експоненциално отстъпление и трептене. |
Договор за експлоатация
YTSave издава оперативна квота с всяко одобрение, за да защити потребителя на API и медийните услуги нагоре по веригата.
- Използвайте idempotent логика на приложението и никога не започват дублирани работни места за един и същ потребител клик.
- Кешът разрешава метаданните за кратко, но винаги третира подписаните адреси за изтегляне като изтичащи.
- Използвайте ограничен експоненциален отстъп с трептене за
429,503и повторяеми грешки. - Обработвайте само публични медии или медии, до които имате разрешение за достъп. DRM и контролите за достъп не се заобикалят.
- Съхранявайте идентификационните номера на заявките и идентификационните номера на задачите в частни оперативни регистрационни файлове.
YTSave управлява достъпа до Схемата, като първо идентифицира активирането преди изследването. Следва присвоена автентикация и поддържа документирани форми на заявки в изгледа. Справка за OpenAPI
Поискайте вашия API ключ
Документирайте API потребителя, неговата месечна оценка на заявките и поддържаните изисквания за платформа. YTSave преглежда дали разрешаването, подаването на задача или и двете са оправдани преди издаване на веднъж видим ключ.
Заявка за достъп Ключовете са с обхват на наемателя, отменяеми и издадени чрез формата за връзка.Анонимните скриптове не могат да изпълняват работа за изтегляне.