vimeo.js
vimeo.js copied to clipboard
Upload Acces-Control-Access-Origin Error
I am running a local server on localhost:8000 and initializing the library with the clientID, clientSecrets, and accessToken. When I make the streamingUpload API call on a video uploaded by a user, I get the following error messages in my chrome developer console.:
XMLHttpRequest cannot load https://api.vimeo.com/me/videos. Response to preflight request doesn't pass access control check: A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' header when the credentials flag is true. Origin 'http://localhost:8000' is therefore not allowed access. The credentials mode of an XMLHttpRequest is controlled by the withCredentials attribute.
Uncaught TypeError: res.setEncoding is not a function
Uncaught Error: Network error
Any idea what might be causing this?
It sounds like you are trying to use this library from your browser? Is this correct? (maybe with browserify or something).
Yes the API is being called from javascript which is running in the browser. Is that not supported?
For some more information: the web app has a django backend and is using webpack to build the javascript files (react frontend) to then be loaded in the html templates.
Correct, we don't currently support using this library in the client. I believe we have seen this error in the past though, so I'll have our developers dig in further and see why you can't make an AJAX call to /me/videos.
So if I want a user to upload a video from our website, would I have to upload the video to our server and then upload it through the API on the server side?
That's the currently 100% supported flow. We will be releasing client side logic in the future, but for now the closest option is https://github.com/websemantics/vimeo-upload. This library has client side upload, but transmits the access token to the client. Really only the upload url should be transmitted to the client.
As per vimeo official guide video upload is supported through HTTP PUT
directly from client, you can get secure upload url from node server so you don't need to pass access token to client.
https://developer.vimeo.com/api/upload/videos#resumable-http-put-uploads
Any news on this? I encountered the same problem. I need to upload a video via my SPA website. I also get the same error even on production whenever I do a PATCH
request. The initial POST
/me/videos
is working though.
I tried vimeo_upload
and it seems like it's not compatible with latest 3.4
accounts Issue 31. Went back here and found this PR #86. I tested it and it's pretty much solves my problem of uploading videos via my client SPA website.