Buzzsprout API подкаст нийтлэх ажлыг кодоор бүрэн удирдуулна

|Зохиогч: QUASA редакцын баг|5 мин уншина
Buzzsprout API подкаст нийтлэх ажлыг кодоор бүрэн удирдуулна

Buzzsprout 10-р сарын 9-ний мэдэгдэлдээ API-аа өргөтгөж, подкастын дугаар байршуулах, бичвэр засах, лавлах дахь бүртгэлийг удирдах боломж нэмснээ зарлав. Ингэснээр бүтээгч, студи, хөгжүүлэгчид дугаар бэлтгэхээс нийтлэх хүртэлх үндсэн үйлдлүүдийг өөрийн программаас дараалуулан гүйцэтгэх боломжтой болсон.

Шинэ API-гаар дугаарыг эхлээд хувийн төлөвт үүсгэж, медиа файлыг хавсарган боловсруулсны дараа нийтэд нээлттэй болгоно. RYM Magazine-ийн нийтлэлд дугаар байршуулах, бичвэр засах, лавлахын бүртгэл удирдах API боломжуудыг мөн дурдсан. Тэнд тайлбарласан вэб засварлагчийн үг автоматаар солих функц нь бичвэрийн өгөгдлийг API-гаар авах, солих үйлдлээс тусдаа шинэчлэл юм.

Хувийн дугаараас нийтлэгдсэн дугаар хүртэл

Buzzsprout API-ийн баримт бичигт подкастын ID авах, хувийн дугаар үүсгэх, медиа дамжуулах, боловсруулалтыг хүлээх, эцэст нь нийтлэх дарааллыг заасан. Энэ дараалал нэг хүсэлтээр бүхнийг хийхээс ялгаатай: файл байршсан байлаа ч дугаарт хавсаргах болон нийтэд нээх үйлдэл тус бүрдээ гүйцэтгэгдэнэ. Автоматжуулалт аль шат амжилттай дууссаныг мэдэж байж дараагийнх руу шилжих шаардлагатай.

Эхлээд GET /api/podcasts хүсэлтээр подкастын тоон ID-г авна. Үүнийг ашиглан POST /api/:podcast_id/episodes хүсэлтэд гарчиг болон private: true төлөв өгч дугаар үүсгэнэ. published_at талбарыг орхивол дугаар анхнаасаа хувийн төлөвтэй байна. Ийм үед гарчиг, тайлбар болон бусад мэдээллийг бэлтгэх ажил сонсогчдод харагдах нийтлэлээс тусдаа явагдана.

Медиа файл дугаар үүсгэх хүсэлтэд хамт очихгүй. POST /api/:podcast_id/episodes/:episode_id/uploads хүсэлтээр файлын нэр, байтын хэмжээ, медиа төрлийг дамжуулж байршуулах хаяг авна. Аудио эсвэл видеоны байтуудыг буцаасан хаяг руу PUT хүсэлтээр илгээхдээ зарласан хэмжээтэй яг тааруулах ёстой. Энэ дамжуулалтад Buzzsprout-ийн токентой Authorization толгой хэсгийг нэмж болохгүй.

Файл дамжуулсны дараа POST /api/:podcast_id/episodes/:episode_id/uploads/:upload_id/complete хүсэлтээр байршуулах үйлдлийг дуусгана. Энэ хүсэлт л медиаг дугаарт хавсаргаж, боловсруулалтыг эхлүүлдэг; үүнийг орхивол байршуулсан файл дугаарын медиа болохгүй. Том файлд хэсэгчлэн дамжуулах сонголт бий. Хэсэг бүрийг заасан хаягт нь илгээсний дараа мөн адил complete хүсэлт хийх ёстой.

Боловсруулалт үргэлжилж байх үед GET /api/:podcast_id/episodes/:id хүсэлтээр дугаарын төлөвийг уншина. Үргэлжлэх хугацааг илэрхийлэх duration эерэг бүхэл тоо болсны дараа PATCH /api/:podcast_id/episodes/:id хүсэлтэд private: false өгч нийтэлнэ. published_at талбарт ирээдүйн цаг заавал товлосон нийтлэл болно; цагийн бүсийн утга өгөөгүй бол подкастын тохируулсан цагийн бүс хэрэглэгдэнэ. Файлын боловсруулалт дуусах үе ба сонсогчдод хүрэх үеийг ийнхүү тусад нь удирддаг.

Бичвэр болон ивээн тэтгэгчийн холбоос

Бичвэрийн API нь өөр зориулалттай хоёр нөөцтэй. Buzzsprout боловсруулсан дугаартаа үг, хэсгийн цагийн тэмдэглэгээтэй бичвэр үүсгэсэн бол түүнийг GET /api/:podcast_id/episodes/:episode_id/high_fidelity_transcript хүсэлтээр авч, зассан хэсгүүдээр PUT эсвэл PATCH хүсэлтээр сольж болно. Энэ замаар байхгүй бичвэрийг шинээр үүсгэх боломжгүй. Тиймээс аудио боловсруулалт дууссан эсэх болон засах бичвэр үнэхээр байгаа эсэх нь өөр өөр нөхцөл юм.

Өөрөө бэлтгэсэн, нийтэд харагдах бичвэрийг POST /api/:podcast_id/episodes/:episode_id/transcript хүсэлтээр файл болгон байршуулж эсвэл сольдог. Баримт бичиг энэ файлд SRT болон JSON форматыг зөвшөөрсөн. Ийм файл Buzzsprout-ийн хэсэгчлэн засварладаг бичвэрийг устгахгүй; нийтэд үзүүлэх хувилбарыг нь орлоно. Харин custom бичвэрийг устгавал боловсруулсан эх бичвэр тусдаа үлдэнэ. Нэг дугаарт бичвэр оруулахдаа аль нөөцийг өөрчилж байгаагаас харагдах үр дүн нь хамаарна.

Дугаарын нэмэлт мэдээлэлд бүлэг, оролцогчийн нэр ба үүрэг, хавтасны зураг оруулах боломж мөн бий. API-ийн brand affiliations нөөцөөр ивээн тэтгэгч эсвэл түншийн холбоосыг удирдаж, дугаарт оноож болно. Энэ нь дугаарын мэдээлэлтэй холбогдох холбоосын удирдлага болохоос аудио файлд зар сурталчилгааны хэсэг автоматаар оруулна гэсэн үг биш. Бичвэр, холбоос, оролцогчийн мэдээллийг нийтлэхээс өмнө бэлтгэх нь дугаар нээлттэй болох мөчид тэдгээрийг хамт хүргэх боломж өгнө.

Лавлахын бүртгэлд тусдаа эрх, нөхцөл үйлчилнэ

GET /api/:podcast_id/listings хүсэлт подкастын лавлах бүртгэлүүдийг төлөвийн хамт буцаана. Төлөв нь бүртгэгдсэн, илгээгдсэн, бүртгэлгүй эсвэл амжилтгүй болсон эсэхийг ялгадаг. Иймээс автомат урсгал хүсэлт илгээхээс өмнө подкаст аль лавлахад хэдийн бүртгэлтэйг харж чадна. Энэ нөөц лавлах дотор подкаст хайх зориулалттай биш; өөрийн подкастын бүртгэлийн байдлыг уншдаг.

Үлдсэн нэг товшилтоор бүртгэх боломжтой лавлахуудад POST /api/:podcast_id/listings/submit_all хүсэлт ашиглана. Үүнийг зөвхөн подкастын эзэмшигч эсвэл администратор илгээх эрхтэй. Мөн хэрэглэгчийн имэйл баталгаажаагүй, эсвэл подкастад нийтлэгдсэн дугаар, зураг, тайлбар, зохиогч, ангилал зэрэг шаардлагатай мэдээлэл дутуу бол илгээх боломжгүй. Иймээс дугаар нийтлэх урсгал амжилттай болсон эсэх нь лавлах руу бүртгүүлэх эрхийг дангаараа шийдэхгүй.

Лавлах руу хүсэлт хүлээн авсан нь бүртгэл шууд нийтлэгдсэн гэсэн үг биш. Зарим лавлах гар ажиллагаа шаарддаг тул submit_all тэдгээрийг алгасана; бусдын төлөв дараа нь бүртгэгдсэн эсвэл амжилтгүй болсон гэж өөрчлөгдөж болно. Энэ ялгаа студид нэг подкастыг хэд хэдэн газарт түгээх ажлыг төлөвлөхөд чухал: API хүсэлт илгээх хэсгийг автоматжуулдаг ч тухайн лавлахын эцсийн шийдвэрийг орлохгүй.

Токен ба минутын хязгаар

Buzzsprout-ийн хүсэлтүүд HTTPS ашиглана. Хэрэглэгч Profile → API хэсгээс авсан токеноо Authorization: Token token=... толгой хэсгээр дамжуулж, хүсэлт бүрт программыг таних User-Agent утга өгнө. Сангийн ерөнхий User-Agent утгыг ашиглавал хүсэлт хаагдаж болзошгүй. Файлын байтуудыг тусгай байршуулах хаяг руу илгээх PUT хүсэлтэд токен дамжуулахгүй гэсэн ялгааг энд хадгалах хэрэгтэй.

Нэг баталгаажуулалтын утгад минутанд 60 хүсэлт ногдож, хязгаар давсан хүсэлт 429 хариу авна. API нь webhook ашиглахгүй тул медиа боловсруулалт болон лавлахын төлөвийг дахин хүсэлт илгээж шалгана. Хариунд ETag эсвэл Last-Modified байвал дараагийн уншилтад ашиглаж, өөрчлөгдөөгүй мэдээллийг дахин татахгүй байж болно. Ийм шалгалтын давтамж нь нэг токеноор олон дугаар боловсруулдаг багт шууд нөлөөлнө.

Хязгаар хэтэрсэн эсвэл түр зуурын серверийн алдаа гарсан хүсэлтийг завсарлагаа аажмаар уртасган дахин оролдохоор баримт бичигт заасан. Харин буруу талбар эсвэл эрхийн алдааг өөрчлөлтгүй хүсэлтээр давтах нь дугаарыг урагшлуулахгүй. Монгол хэлээр подкаст үйлдвэрлэдэг багийн хувьд автомат нийтлэлийн шийдвэрлэх зааг нь тодорхой: файл дамжуулалт, хавсаргалт, боловсруулалт дууссаны дараа л хувийн дугаарыг нийтэд нээх хүсэлт очно.

Мөн уншаарай:

Хуваалцах:

Мэдээллийн товхимолд бүртгүүлэх

Web3, AI болон криптоны шинэ мэдээг шууд имэйл хайрцагтаа аваарай.

0