Geliştirici belgelerine göz atın

REST API

Dosyaları yükleyin ve paylaşın

Bu eğitimde demo.mp4 adlı bir yerel dosya alınır ve bu dosya URL adlı çalışan bir paylaşıma dönüştürülür. Adımları sırasıyla tamamlayın; her yanıt bir sonraki istek tarafından kullanılan bir değeri sağlar.

1

API anahtarı oluşturma ve kaydetme

Geliştirici ayarlarını açın, yüklemeler:yazma, dosyalar:okuma, paylaşımlar:yazma ve paylaşımlar:okumayı seçin, ardından anahtarı oluşturun. Şimdi kopyalayın; sırrın tamamı yalnızca bir kez gösterilir.

Kullanılabilir kapsamlar: yüklemeler:yazma, dosyalar:okuma, paylaşımlar:yazma ve paylaşımlar:okuma.

Beklenen sonuç:Video2URL anahtar önekiyle başlayan bir sırrınız var. Bunu özel tut.
2

Terminalinizi hazırlayın

Anahtarı bir ortam değişkenine koyun, böylece her komutta veya kabuk geçmişinizde görünmez. Enter tuşuna basmadan önce yer tutucuyu değiştirin.

Terminal
read -s VIDEO2URL_API_KEY
echo "key loaded"
Beklenen sonuç:Komut, sırrın kendisini değil, yüklenen anahtarı yazdırır.
3

Yükleme işi oluşturma

Video2URL'a tam dosya adını, MIME türünü ve bayt boyutunu söyleyin. Bu, geçici bir R2 yüklemesi URL döndürür; henüz videoyu yüklemiyor.

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}'
Beklenen sonuç:data.uploadId ve data.upload.url içeren bir JSON yanıtı. Sonraki adımlar için her iki değeri de kaydedin.
Save response values
export UPLOAD_ID="paste data.uploadId here"
export UPLOAD_URL="paste data.upload.url here"
4

Video baytlarını gönder

Demo.mp4 dosyasını doğrudan geçici URL'ye yükleyin. Bu PUT isteğine Video2URL API anahtarını eklemeyin. Create-upload yanıtının döndürdüğü İçerik Türünü kullanın. Döndürülen içerik türünü kullanarak ham dosyayı önceden imzalanmış URL dosyasına yükleyin.

curl · PUT
curl --fail-with-body -X PUT "$UPLOAD_URL" \
  -H "Content-Type: video/mp4" \
  --data-binary @demo.mp4
Beklenen sonuç:Yükleme sunucusu HTTP 200'ü döndürür. Yanıt gövdesinin boş olması normaldir.
5

Yüklemeyi tamamlayın ve doğrulayın

PUT başarılı olduktan sonra, Video2URL'a depolanan nesneyi doğrulamasını ve dosya kaydını oluşturmasını söyleyin. PUT bitmeden bu adımı çağırmayın.

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"
Beklenen sonuç:Yanıt data.file.fileId'yi içeriyor. FILE_ID'yi kaydet; tamamlanan dosyayı tanımlar.
Save FILE_ID
export FILE_ID="paste data.file.fileId here"
6

Son paylaşımı oluşturun URL

FILE_ID dosyasından listelenmemiş bir bağlantı oluşturun. Listelenmemiş, URL'ye sahip herkesin onu açabileceği, ancak genel bir dizine yerleştirilmediği anlamına gelir.

  • Başlık isteğe bağlıdır.
  • Şifre isteğe bağlıdır.
  • Görünürlük isteğe bağlıdır.
  • Görünürlük varsayılan olarak liste dışıdır.

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"}"
Beklenen sonuç:Yanıt, paylaşım kaydını ve URL öğesini içerir. Doğrulamak için SHARE_URL dosyasını özel bir tarayıcı penceresinde açın.
Open SHARE_URL
export SHARE_URL="paste the returned share URL here"
open "$SHARE_URL" # macOS; use xdg-open on Linux

JavaScript & Python

İhtiyacınız olan en dar anahtarı oluşturun. Eski anahtarı iptal etmeden önce yenisini oluşturup dağıtarak rotasyon yapın. Ücretli erişim sona ererse anahtarlar kayıtlı kalır ancak aramalar duraklatılır; uygun bir planın yenilenmesi erişimi geri yükler.

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