https://savetk.appสร้างการดาวน์โหลดด้วย SaveTK
SaveTK แสดงแผน API สำหรับการรวมเครื่องมือผู้สร้าง แต่ไม่ยอมรับการประมวลผลที่ไม่ได้รับการยืนยัน การอนุมัติ จัดหาทั้งกุญแจและขีด จำกัด การทำงานของมัน
การเริ่มต้นอย่างรวดเร็ว
SaveTK นำเสนอสามจุดปฏิบัติสำหรับโฮสต์ API จุดแรกคือข้อมูลรับรองที่เปิดใช้งานโดยการสนับสนุน กระบวนการบันทึกจากนั้นครอบคลุมจุดสิ้นสุดผู้เช่าเฉพาะ จุดสุดท้ายคือเส้นทางการเรียกใช้เฉพาะเซิร์ฟเวอร์
X-API-Key: pending_activation_…SaveTkCreatorv1# Available only after support activation
export SAVETK_CREATOR_KEY="issued-after-review"
curl -X POST https://savetk.app/v1/resolve \
-H "X-API-Key: $SAVETK_CREATOR_KEY" \
-H "Content-Type: application/json" \
-d '{"creator_link":"https://www.youtube.com/watch?v=VIDEO_ID"}'SaveTK ทำให้ความปลอดภัยของข้อมูลรับรองง่ายต่อการสแกน หน้าเว็บเริ่มต้นด้วยการจัดเก็บความลับฝั่งเซิร์ฟเวอร์ ไม่มีการฝังชุดข้อมูลฝั่งลูกค้า และระบุอย่างชัดเจนว่าไม่มีบันทึกสาธารณะหรือที่เก็บข้อมูล
แก้ไขปัญหาการเชื่อมโยง
SaveTK นำเสนอสามจุดปฏิบัติสำหรับการทำงานของ Resolve จุดแรกคือการตรวจจับแหล่งที่มา กระบวนการบันทึกครอบคลุมรูปแบบจาก URL ที่ส่งมาเพียงหนึ่งเดียว จุดสุดท้ายคือไม่มีผลลัพธ์ที่ประดิษฐ์ขึ้น
/v1/resolveขอบเขต: แก้ไข| ช่องข้อมูล | ชนิด | ต้องการ | คำอธิบาย |
|---|---|---|---|
creator_link | ที่อยู่ URL แบบ HTTPS | ใช่ | หน้าสื่อสาธารณะหรือที่ได้รับอนุญาตให้วิเคราะห์ |
tenant | ข้อความ | ไม่มี | โดเมนผู้เช่าที่ได้รับมอบหมาย โดยปกติจะถูกละเว้น |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}SaveTK ทำให้ตัวระบุรูปแบบง่ายต่อการสแกน หน้าเริ่มต้นด้วยค่าที่ส่งกลับโดยไม่เปลี่ยนแปลง ไปยังการมีอยู่ต่อแต่ละลิงก์ และระบุอย่างชัดเจนว่าไม่มีป้ายคุณภาพที่คาดเดาได้
สร้างและติดตามงานดาวน์โหลด
การสร้างงานเริ่มต้นด้วยการเตรียมแบบอะซิงโครนัสบน SaveTK กระบวนการบันทึกนี้จะแสดงคำขอ HTTP สั้น ข้อเท็จจริงสุดท้ายคือการดำเนินการของผู้ปฏิบัติงานที่มีขอบเขต
/v1/jobsขอบเขต: งาน| ช่องข้อมูล | ชนิด | ต้องการ | คำอธิบาย |
|---|---|---|---|
creator_link | ที่อยู่ URL แบบ HTTPS | ใช่ | เดียวกันแหล่งที่มาปกติยื่นให้แก้ไข |
save_option | ข้อความ | ใช่ | หมายเลข ID ที่แน่นอนจากคำตอบการแก้ไข |
tenant | ข้อความ | ไม่มี | โดเมนผู้เช่าที่ได้รับมอบหมาย โดยปกติจะถูกละเว้น |
curl -X POST https://savetk.app/v1/jobs \
-H "X-API-Key: $SAVETK_CREATOR_KEY" \
-H "Content-Type: application/json" \
-d '{"creator_link":"https://www.youtube.com/watch?v=VIDEO_ID","save_option":"18"}'save_task.GET /v1/jobs/{save_task} ด้วยกุญแจเดียวกัน| สถานะ | ความหมาย | การกระทำของไคลเอนต์ |
|---|---|---|
queued | รับเข้าคิวที่กำหนดขอบเขต | โพลอีกครั้งด้วยการถอยหลัง |
extracting | กำลังรีเฟรชเมตาข้อมูลแหล่งหรือเส้นทาง | ทำการโพลต่อไป |
processing | การดาวน์โหลด รีมูซ หรือการรวม | แสดงความคืบหน้าของเซิร์ฟเวอร์ |
ready | ดาวน์โหลดที่ลงนามมีให้ | ส่ง URL ไปยังผู้ใช้ |
failed | ข้อผิดพลาดของโครงสร้างเทอร์มินัล | อ่านแล้ว error_codeลองใหม่เมื่อได้รับคำแนะนำเท่านั้น |
expired | ผลลัพธ์ชั่วคราวถูกลบออก | สร้างงานใหม่ |
curl https://savetk.app/v1/jobs/SAVE_TASK \
-H "X-API-Key: $SAVETK_CREATOR_KEY"SaveTK จัดการการโพลล์งานโดยระบุการรอเริ่มต้นหนึ่งวินาทีเป็นครั้งแรก มันตามด้วย capped backoff และรักษาการส่งมอบที่เซ็นชื่อชั่วคราวไว้ในมุมมอง
ความผิดพลาดที่คาดการณ์ได้
สัญญาข้อผิดพลาดเริ่มต้นด้วยซองจดหมายที่ไม่ใช่ 2xx หนึ่งซองบน SaveTK มุมมองถัดไปครอบคลุมคำขอสนับสนุน 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": "…"
}| ข้อความ | ความหมายโดยทั่วไป | การกระทำ |
|---|---|---|
| 400 | URL ไม่ถูกต้อง, ส่วนตัว หรือ รูปแบบที่ไม่สามารถใช้ได้. | แก้ไขคำขอ แก้ไขอีกครั้งสำหรับรูปแบบ |
| 401 | คีย์หายไป ไม่ถูกต้อง หมดอายุ หรือมีขอบเขตไม่ถูกต้อง | ตรวจสอบข้อมูลประจำตัวด้านเซิร์ฟเวอร์ |
| 403 | นโยบายผู้เช่าหรือแหล่งที่มาปฏิเสธคำขอ | อย่าข้ามนโยบาย ติดต่อฝ่ายสนับสนุน |
| 404 | งานที่ไม่รู้จักหรือหมดอายุแล้ว | สร้างงานใหม่หากเหมาะสม |
| 429 | ถึงขีด จำกัด การร้องขอหรืองานที่ทำงานอยู่แล้ว | เกียรติ retry_after_seconds. |
| 503 | คิว/ความจุ หรือแหล่งข้อมูลต้นทางไม่พร้อมใช้งานชั่วคราว | ลองใหม่ด้วย backoff และ jitter แบบเอกซ์โพเนนเชียล |
สัญญาการดำเนินงาน
SaveTK ตั้งค่าค่าตอบแทนผู้สร้าง-กระบวนการทำงานหลังจากตรวจสอบการจราจรที่คาดการณ์ไว้และแพลตฟอร์มการโพสต์ในขอบเขต
- ใช้ตรรกะการใช้งาน idempotent และไม่เคยเริ่มงานซ้ำสำหรับคลิกเดียวกันของผู้ใช้
- แคชแก้ปัญหาข้อมูลกำกับโดยสั้น ๆ แต่มักจะปฏิบัติต่อ URL ดาวน์โหลดที่ลงนามว่าหมดอายุ
- ใช้ backoff แบบเอกซ์โพเนนเชียลที่มีขอบเขตด้วย jitter สำหรับ
429,503และความผิดพลาดที่สามารถลองใหม่ได้ - ประมวลผลเฉพาะสื่อสาธารณะหรือสื่อที่คุณได้รับอนุญาตให้เข้าถึง DRM และการควบคุมการเข้าถึงไม่ถูกข้าม
- เก็บหมายเลข ID คำขอและหมายเลข ID งานในบันทึกการทำงานส่วนตัว อย่าบันทึก URL ที่ส่งมาโดยไม่จำเป็น
SaveTK นำเสนอสามจุดปฏิบัติสำหรับการเข้าถึง Schema จุดแรกคือการเปิดใช้งานก่อนการสำรวจ กระบวนการบันทึกจากนั้นครอบคลุมการตรวจสอบสิทธิ์ที่กำหนด จุดสุดท้ายคือรูปแบบคำขอที่มีเอกสาร
กระตุ้นผ่านการสนับสนุน
ระบุว่าไคลเอนต์ SaveTK ทำอะไร คาดหวังการเรียกกี่ครั้ง และบริการโพสต์ใดที่จำเป็น การตรวจสอบการสนับสนุนเลือกขอบเขต จากนั้นส่งคืนข้อมูลรับรองที่ไม่สามารถกู้คืนได้ซึ่งแสดงเพียงครั้งเดียว
ขอให้เปิดใช้งาน กุญแจมีขอบเขตของผู้เช่าสามารถยกเลิกได้และออกโดยผ่านแบบฟอร์มติดต่อสคริปต์นิรนามไม่สามารถประมวลผลงานดาวน์โหลดได้