Selaa kehittäjien asiakirjoja

REST API

Lataa ja jaa tiedostoja

Tämä opetusohjelma ottaa yhden paikallisen tiedoston nimeltä demo.mp4 ja muuttaa sen toimivaksi osuudeksi URL. Suorita vaiheet järjestyksessä; jokainen vastaus antaa seuraavan pyynnön käyttämän arvon.

1

Luo ja tallenna API-avain

Avaa Kehittäjäasetukset, valitse uploads:write, files:read, shares:write ja shares:read ja luo avain. Kopioi se nyt – koko salaisuus näytetään vain kerran.

Saatavilla olevat kiikarit: uploads:write, files:read, shares:write ja shares:read.

Odotettu tulos:Sinulla on salaisuus, joka alkaa avaimen etuliitteellä Video2URL. Pidä se yksityisenä.
2

Valmistele terminaali

Aseta avain ympäristömuuttujaan, jotta se ei näy jokaisessa komennossa tai komentotulkkihistoriassasi. Vaihda paikkamerkki ennen Enter-näppäintä.

Terminal
read -s VIDEO2URL_API_KEY
echo "key loaded"
Odotettu tulos:Komento tulostaa avaimen ladatun, ei itse salaisuutta.
3

Luo lähetystyö

Kerro Video2URL:lle tarkka tiedostonimi, MIME-tyyppi ja tavukoko. Tämä palauttaa väliaikaisen R2-latauksen URL; se ei lataa videota vielä.

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}'
Odotettu tulos:JSON-vastaus, joka sisältää data.uploadId:n ja data.upload.url.:n Tallenna molemmat arvot seuraavia vaiheita varten.
Save response values
export UPLOAD_ID="paste data.uploadId here"
export UPLOAD_URL="paste data.upload.url here"
4

Lähetä videotavut

Lataa demo.mp4 suoraan väliaikaiseen URL:ään. Älä lisää avainta Video2URL API tähän PUT-pyyntöön. Käytä Create-upload-vastauksen palauttamaa sisältötyyppiä. Lataa raakatiedosto valmiiksi allekirjoitettuun URL-tiedostoon käyttämällä palautettua sisältötyyppiä.

curl · PUT
curl --fail-with-body -X PUT "$UPLOAD_URL" \
  -H "Content-Type: video/mp4" \
  --data-binary @demo.mp4
Odotettu tulos:Latauspalvelin palauttaa HTTP 200. Tyhjä vastausteksti on normaalia.
5

Viimeistele ja vahvista lataus

Kun PUT onnistuu, pyydä Video2URL:tä vahvistamaan tallennettu objekti ja luomaan tiedostotietue. Älä kutsu tätä vaihetta ennen kuin PUT on valmis.

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"
Odotettu tulos:Vastaus sisältää data.file.fileId. Tallenna FILE_ID; se tunnistaa valmiin tiedoston.
Save FILE_ID
export FILE_ID="paste data.file.fileId here"
6

Luo lopullinen jako URL

Luo piilotettu linkki kohteesta FILE_ID. Listaamaton tarkoittaa, että kuka tahansa, jolla on URL, voi avata sen, mutta sitä ei sijoiteta julkiseen hakemistoon.

  • Otsikko on valinnainen.
  • Salasana on valinnainen.
  • Näkyvyys on valinnainen.
  • Näkyvyys on oletusarvoisesti piilotettu.

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"}"
Odotettu tulos:Vastaus sisältää osuustietueen ja URL. Tarkista se avaamalla SHARE_URL yksityisessä selainikkunassa.
Open SHARE_URL
export SHARE_URL="paste the returned share URL here"
open "$SHARE_URL" # macOS; use xdg-open on Linux

JavaScript & Python

Luo kapein tarvitsemasi avain. Kierrä luomalla ja ottamalla käyttöön korvaava, ennen kuin peruutat vanhan avaimen. Jos maksullinen käyttö päättyy, avaimet pysyvät tallennettuina, mutta puhelut keskeytyvät. kelvollisen suunnitelman uusiminen palauttaa käyttöoikeuden.

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