Bonjour à tous,
Je travaille sur une fonctionnalité d'upload résumable de vidéos vers YouTube à l'aide de leur API, et je rencontre un problème spécifique avec les CORS (Cross-Origin Resource Sharing).
Contexte :
Problème :
Lors du dernier chunk (vers 96% de progression), je reçois une erreur liée aux CORS :
Le corps de la réponse n’est pas disponible aux scripts (raison : CORS Missing Allow Origin).
Observations :
NB: j'ai pensé que faire un upload coté front me permet de ne pas surcharger mon serveur avec les fichiers qui peuvent être volumineux.
Auriez-vous des suggestions pour contourner ou résoudre ce problème s'il vous plaît ?
Une petite question ?
Une autre petite question, l'api Youtube ne permet que 10000 unités par jour, mais l'upload de vidéo consomme 1600 unités, donc on se retrouve très vite limité en mode développement je n'ai pas beaucoup de marge pour tester. Avez-vous des solutions pour pouvoir tester sans consommer d'unités si c'est possible ?
pour résoudre le problème CORS, je recommande de vérifier les en-têtes de la réponse, potentiellement ajuster la gestion des requêtes dans votre code
par ex.
fetch(uploadUrl, {
method: 'PUT',
headers: {
'Content-Type': 'application/octet-stream',
'Authorization': 'Bearer ' + accessToken,
// Autres en-têtes nécessaires
},
body: chunkData,
credentials: 'include', // Ajout des cookies si nécessaire
})
.then(response => response.json())
.then(data => {
if (data.status === 'finalize') {
// Finalisation de l'upload
}
})
.catch(error => console.error('Upload failed:', error));