Mag-browse ng mga doc ng developer

REST API

Mag-upload at magbahagi ng mga file

Ang tutorial na ito ay tumatagal ng isang lokal na file na pinangalanang demo.mp4 at ginagawa itong gumaganang bahagi URL. Kumpletuhin ang mga hakbang sa pagkakasunud-sunod; ang bawat tugon ay nagbibigay ng isang halaga na ginagamit ng susunod na kahilingan.

1

Gumawa at mag-save ng API key

Buksan ang mga setting ng Developer, piliin ang mga upload: magsulat, files:read, shares:write, at shares:read, pagkatapos ay gawin ang key. Kopyahin ito ngayon—isang beses lang ipinapakita ang buong lihim.

Mga available na saklaw: uploads:write, files:read, shares:write, at shares:read.

Inaasahang resulta:Mayroon kang lihim na nagsisimula sa Video2URL key prefix. Panatilihin itong pribado.
2

Ihanda ang iyong terminal

Ilagay ang key sa isang environment variable para hindi ito lumabas sa bawat command o sa iyong kasaysayan ng shell. Palitan ang placeholder bago pindutin ang Enter.

Terminal
read -s VIDEO2URL_API_KEY
echo "key loaded"
Inaasahang resulta:Ang command prints key load, hindi ang sikreto mismo.
3

Gumawa ng trabaho sa pag-upload

Sabihin sa Video2URL ang eksaktong filename, uri ng MIME, at laki ng byte. Nagbabalik ito ng pansamantalang pag-upload ng R2 URL; hindi pa nito ina-upload ang video.

POST /api/v1/uploads

curl
curl -sS -X POST https://video2url.com/api/v1/uploads \
  -H "Authorization: Bearer $VIDEO2URL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"filename":"demo.mp4","mimeType":"video/mp4","sizeBytes":1048576}'
Inaasahang resulta:Isang JSON na tugon na naglalaman ng data.uploadId at data.upload.url. I-save ang parehong mga halaga para sa mga susunod na hakbang.
Save response values
export UPLOAD_ID="paste data.uploadId here"
export UPLOAD_URL="paste data.upload.url here"
4

Ipadala ang video byte

Direktang mag-upload ng demo.mp4 sa pansamantalang URL. Huwag idagdag ang Video2URL API na susi sa PUT na kahilingang ito. Gamitin ang Uri ng Nilalaman na ibinalik ng tugon sa paggawa-pag-upload. I-upload ang raw file sa itinakdang URL gamit ang ibinalik na uri ng nilalaman.

curl · PUT
curl --fail-with-body -X PUT "$UPLOAD_URL" \
  -H "Content-Type: video/mp4" \
  --data-binary @demo.mp4
Inaasahang resulta:Ang server ng pag-upload ay nagbabalik ng HTTP 200. Normal ang isang walang laman na katawan ng tugon.
5

Kumpletuhin at i-verify ang pag-upload

Pagkatapos magtagumpay ang PUT, sabihin sa Video2URL na i-verify ang nakaimbak na bagay at gawin ang talaan ng file. Huwag tawagan ang hakbang na ito bago matapos ang PUT.

POST /api/v1/uploads/{uploadId}/complete · GET /api/v1/uploads/{uploadId}

curl
curl -sS -X POST "https://video2url.com/api/v1/uploads/$UPLOAD_ID/complete" \
  -H "Authorization: Bearer $VIDEO2URL_API_KEY"
Inaasahang resulta:Ang tugon ay naglalaman ng data.file.fileId. I-save ang FILE_ID; kinikilala nito ang nakumpletong file.
Save FILE_ID
export FILE_ID="paste data.file.fileId here"
6

Lumikha ng huling bahagi URL

Gumawa ng hindi nakalistang link mula sa FILE_ID. Ang ibig sabihin ng hindi nakalista ay mabubuksan ito ng sinumang may URL, ngunit hindi ito inilalagay sa isang pampublikong direktoryo.

  • Opsyonal ang pamagat.
  • Opsyonal ang password.
  • Opsyonal ang visibility.
  • Nagde-default ang visibility sa hindi nakalista.

POST /api/v1/shares · GET / DELETE /api/v1/shares/{shareId}

curl
curl -sS -X POST https://video2url.com/api/v1/shares \
  -H "Authorization: Bearer $VIDEO2URL_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{"fileId":"$FILE_ID","visibility":"unlisted"}"
Inaasahang resulta:Ang tugon ay naglalaman ng talaan ng pagbabahagi at URL. Buksan ang SHARE_URL sa isang pribadong browser window upang i-verify ito.
Open SHARE_URL
export SHARE_URL="paste the returned share URL here"
open "$SHARE_URL" # macOS; use xdg-open on Linux

JavaScript & Python

Lumikha ng pinakamaliit na susi na kailangan mo. I-rotate sa pamamagitan ng paggawa at pag-deploy ng kapalit bago bawiin ang lumang key. Kung matatapos ang bayad na pag-access, mananatiling naka-save ang mga susi ngunit naka-pause ang mga tawag; ang pag-renew ng isang karapat-dapat na plano ay nagpapanumbalik ng access.

JavaScript
const response = await fetch('https://video2url.com/api/v1/uploads', {
  method: 'POST',
  headers: { Authorization: `Bearer ${process.env.VIDEO2URL_API_KEY}`, 'Content-Type': 'application/json' },
  body: JSON.stringify({ filename: 'demo.mp4', mimeType: 'video/mp4', sizeBytes: file.size }),
});
const created = await response.json();
Python
import os, requests
headers = {"Authorization": f"Bearer {os.environ['VIDEO2URL_API_KEY']}"}
created = requests.post("https://video2url.com/api/v1/uploads", headers=headers, json={"filename": "demo.mp4", "mimeType": "video/mp4", "sizeBytes": 1048576})
created.raise_for_status()
with open("demo.mp4", "rb") as video:
    requests.put(created.json()["data"]["upload"]["url"], data=video).raise_for_status()