Procházet dokumenty pro vývojáře

REST API

Nahrávejte a sdílejte soubory

Tento výukový program vezme jeden místní soubor s názvem demo.mp4 a převede jej na pracovní sdílenou složku URL. Dokončete kroky v pořadí; každá odpověď poskytuje hodnotu použitou v dalším požadavku.

1

Vytvořte a uložte klíč API

Otevřete Nastavení vývojáře, vyberte uploads:write, files:read, sharing:write a share:read a poté vytvořte klíč. Zkopírujte jej nyní – úplné tajemství se zobrazí pouze jednou.

Dostupné rozsahy: odesílání:zápis, soubory:čtení, sdílení:zápis a sdílení:čtení.

Očekávaný výsledek:Máte tajemství, které začíná předponou klíče Video2URL. Udržujte to v soukromí.
2

Připravte si terminál

Vložte klíč do proměnné prostředí, aby se neobjevil v každém příkazu nebo v historii shellu. Před stisknutím klávesy Enter nahraďte zástupný symbol.

Terminal
read -s VIDEO2URL_API_KEY
echo "key loaded"
Očekávaný výsledek:Příkaz vypíše načtený klíč, nikoli samotný tajný klíč.
3

Vytvořte úlohu nahrávání

Řekněte Video2URL přesný název souboru, typ MIME a velikost bajtu. To vrátí dočasné R2 upload URL; ještě nenahraje 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}'
Očekávaný výsledek:Odpověď JSON obsahující data.uploadId a data.upload.url. Uložte obě hodnoty pro další kroky.
Save response values
export UPLOAD_ID="paste data.uploadId here"
export UPLOAD_URL="paste data.upload.url here"
4

Pošlete bajty videa

Nahrajte demo.mp4 přímo do dočasného URL. K tomuto požadavku PUT nepřidávejte klíč API Video2URL. Použijte Content-Type vrácený odpovědí vytvoření-nahrání. Nahrajte nezpracovaný soubor do předem podepsaného URL pomocí vráceného typu obsahu.

curl · PUT
curl --fail-with-body -X PUT "$UPLOAD_URL" \
  -H "Content-Type: video/mp4" \
  --data-binary @demo.mp4
Očekávaný výsledek:Server pro nahrávání vrátí HTTP 200. Prázdné tělo odpovědi je normální.
5

Dokončete a ověřte nahrávání

Po úspěšném PUT řekněte Video2URL, aby ověřil uložený objekt a vytvořil záznam souboru. Nevolejte tento krok před dokončením 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"
Očekávaný výsledek:Odpověď obsahuje data.file.fileId. Uložit FILE_ID; identifikuje dokončený soubor.
Save FILE_ID
export FILE_ID="paste data.file.fileId here"
6

Vytvořte poslední sdílení URL

Vytvořte neuvedený odkaz ze souboru FILE_ID. Neuvedené znamená, že jej může otevřít kdokoli s URL, ale není umístěn ve veřejném adresáři.

  • Název je volitelný.
  • Heslo je volitelné.
  • Viditelnost je volitelná.
  • Výchozí nastavení viditelnosti je neuvedené.

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"}"
Očekávaný výsledek:Odpověď obsahuje záznam o sdílení a URL. Otevřete SHARE_URL v soukromém okně prohlížeče a ověřte to.
Open SHARE_URL
export SHARE_URL="paste the returned share URL here"
open "$SHARE_URL" # macOS; use xdg-open on Linux

JavaScript & Python

Vytvořte nejužší klíč, který potřebujete. Otočte vytvořením a nasazením náhrady před odvoláním starého klíče. Pokud placený přístup skončí, klíče zůstanou uloženy, ale hovory se pozastaví; obnovení způsobilého plánu obnoví přístup.

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()