Περιηγηθείτε στα έγγραφα προγραμματιστή

REST API

Μεταφόρτωση και κοινή χρήση αρχείων

Αυτό το σεμινάριο παίρνει ένα τοπικό αρχείο με το όνομα demo.mp4 και το μετατρέπει σε ένα κοινόχρηστο στοιχείο εργασίας URL. Ολοκληρώστε τα βήματα με τη σειρά. Κάθε απάντηση παρέχει μια τιμή που χρησιμοποιείται από το επόμενο αίτημα.

1

Δημιουργήστε και αποθηκεύστε ένα κλειδί API

Ανοίξτε τις ρυθμίσεις προγραμματιστή, επιλέξτε uploads:write, files:read, shares:write και shares:read και, στη συνέχεια, δημιουργήστε το κλειδί. Αντιγράψτε το τώρα—το πλήρες μυστικό εμφανίζεται μόνο μία φορά.

Διαθέσιμα πεδία: uploads:write, files:read, shares:write και shares:read.

Αναμενόμενο αποτέλεσμα:Έχετε ένα μυστικό που ξεκινά με το πρόθεμα κλειδιού Video2URL. Κρατήστε το ιδιωτικό.
2

Προετοιμάστε το τερματικό σας

Τοποθετήστε το κλειδί σε μια μεταβλητή περιβάλλοντος, ώστε να μην εμφανίζεται σε κάθε εντολή ή στο ιστορικό φλοιού σας. Αντικαταστήστε το σύμβολο κράτησης θέσης πριν πατήσετε Enter.

Terminal
read -s VIDEO2URL_API_KEY
echo "key loaded"
Αναμενόμενο αποτέλεσμα:Η εντολή εκτυπώνει το κλειδί φορτωμένο, όχι το ίδιο το μυστικό.
3

Δημιουργήστε μια εργασία μεταφόρτωσης

Πείτε Video2URL το ακριβές όνομα αρχείου, τον τύπο MIME και το μέγεθος byte. Αυτό επιστρέφει μια προσωρινή μεταφόρτωση R2 URL; δεν ανεβάζει ακόμα το βίντεο.

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}'
Αναμενόμενο αποτέλεσμα:Μια απάντηση JSON που περιέχει data.uploadId και data.upload.url. Αποθηκεύστε και τις δύο τιμές για τα επόμενα βήματα.
Save response values
export UPLOAD_ID="paste data.uploadId here"
export UPLOAD_URL="paste data.upload.url here"
4

Στείλτε τα byte του βίντεο

Μεταφορτώστε το demo.mp4 απευθείας στο προσωρινό URL. Μην προσθέτετε το κλειδί Video2URL API σε αυτό το αίτημα PUT. Χρησιμοποιήστε τον Τύπο περιεχομένου που επιστρέφεται από την απάντηση δημιουργίας μεταφόρτωσης. Μεταφορτώστε το μη επεξεργασμένο αρχείο στο προκαθορισμένο URL χρησιμοποιώντας τον τύπο περιεχομένου που επιστρέφεται.

curl · PUT
curl --fail-with-body -X PUT "$UPLOAD_URL" \
  -H "Content-Type: video/mp4" \
  --data-binary @demo.mp4
Αναμενόμενο αποτέλεσμα:Ο διακομιστής μεταφόρτωσης επιστρέφει HTTP 200. Ένα κενό σώμα απόκρισης είναι φυσιολογικό.
5

Ολοκληρώστε και επαληθεύστε τη μεταφόρτωση

Αφού το PUT επιτύχει, πείτε Video2URL να επαληθεύσει το αποθηκευμένο αντικείμενο και να δημιουργήσει την εγγραφή αρχείου. Μην καλέσετε αυτό το βήμα πριν τελειώσει το 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"
Αναμενόμενο αποτέλεσμα:Η απάντηση περιέχει data.file.fileId. Αποθήκευση FILE_ID. προσδιορίζει το ολοκληρωμένο αρχείο.
Save FILE_ID
export FILE_ID="paste data.file.fileId here"
6

Δημιουργήστε το τελικό κοινόχρηστο στοιχείο URL

Δημιουργήστε έναν μη καταχωρημένο σύνδεσμο από το FILE_ID. Μη καταχωρισμένο σημαίνει ότι οποιοσδήποτε με το URL μπορεί να το ανοίξει, αλλά δεν τοποθετείται σε δημόσιο κατάλογο.

  • Ο τίτλος είναι προαιρετικός.
  • Ο κωδικός πρόσβασης είναι προαιρετικός.
  • Η ορατότητα είναι προαιρετική.
  • Η ορατότητα ορίζεται από προεπιλογή σε μη καταχωρισμένη.

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"}"
Αναμενόμενο αποτέλεσμα:Η απάντηση περιέχει την εγγραφή κοινής χρήσης και URL. Ανοίξτε το SHARE_URL σε ένα ιδιωτικό παράθυρο προγράμματος περιήγησης για να το επαληθεύσετε.
Open SHARE_URL
export SHARE_URL="paste the returned share URL here"
open "$SHARE_URL" # macOS; use xdg-open on Linux

JavaScript & Python

Δημιουργήστε το στενότερο κλειδί που χρειάζεστε. Περιστρέψτε δημιουργώντας και αναπτύσσοντας μια αντικατάσταση πριν ανακαλέσετε το παλιό κλειδί. Εάν η πρόσβαση επί πληρωμή τερματιστεί, τα κλειδιά παραμένουν αποθηκευμένα αλλά οι κλήσεις παύουν. Η ανανέωση ενός κατάλληλου προγράμματος αποκαθιστά την πρόσβαση.

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