vue-vimeo-player icon indicating copy to clipboard operation
vue-vimeo-player copied to clipboard

Private Videos

Open ghost opened this issue 5 years ago • 21 comments

Hey, I love your package, but I do need to be able to embed our private company videos, not just public ones. Is this possible with this package or will I need to look for another solution?

I looked through your code and I don't see a way to authenticate.

Thanks.

ghost avatar Sep 27 '18 06:09 ghost

I need to check how vimeo api does it and can add the feature

dobromir-hristov avatar Sep 27 '18 06:09 dobromir-hristov

Could you tell me what error you are getting? I think this is an overall issue with vimeo/player.js, at least from what I saw on their GitHub repo.

dobromir-hristov avatar Sep 27 '18 07:09 dobromir-hristov

I'm just getting a 404 nothing else.

ghost avatar Sep 27 '18 08:09 ghost

Hi @19peaches, how were you able to go about doing so? There's a whitelisting feature in vimeo. I'm assuming that vimeo will take care of everything. Just curious if you've encountered a certain problem.

vycoder avatar Nov 12 '18 03:11 vycoder

@josephharveyangeles

I wasn't able to. I switched to a different package and player.

ghost avatar Nov 12 '18 15:11 ghost

@19peaches are you still using vimeo? You can share a link to what you chose for future users.

dobromir-hristov avatar Nov 12 '18 15:11 dobromir-hristov

@dobromir-hristov yes I'm still using Vimeo via the Plyr package here: https://github.com/sampotts/plyr

I'm not entirely happy with it, but it works pretty well.

ghost avatar Nov 12 '18 15:11 ghost

Also, won't the whitelisting work out of the box? Just add the domain on the whitelist. Oh, but yeah you won't be able to see it on localhost...

vycoder avatar Nov 12 '18 15:11 vycoder

Whitelisting the domain did not work for me, hence the reason I switched players.

ghost avatar Nov 12 '18 15:11 ghost

Yes, they use a different player, not the vimeo official one. Sad vimeo dont fix their own stuff... This package uses the official player from Vimeo, so nothing I can do guys, sorry.

dobromir-hristov avatar Nov 12 '18 15:11 dobromir-hristov

@19peaches can you share what particular issue you encountered about the whitelisting? I just finished embedding videos on my app. Was about to upgrade to vimeo pro tomorrow.

vycoder avatar Nov 12 '18 15:11 vycoder

@josephharveyangeles

I already answered this earlier, I received a 404 not found when attempting to embed a private video. This includes domain protected videos. Nothing further to add really.

ghost avatar Nov 12 '18 15:11 ghost

Oh okay thanks, I thought it was only on localhost. I'll keep this in mind when i started working on the private videos. Thanks @19peaches

vycoder avatar Nov 12 '18 15:11 vycoder

@19peaches If you want to play domain protected videos at outside, you have to build a proxy script in your allowed domain.

You can build a player page in your domain; then you may call that page inside an iframe from wherever you want...

There is no way else...

mesaglam avatar Feb 01 '19 09:02 mesaglam

The problem is that unlisted videos have an additional STRING element in the identifier:

"NOTE: When you want to embed a video with the unlisted privacy setting, be sure to send the entire URL, not just the portion with the video ID. The URL of an unlisted video contains an additional string of characters that you must include with your GET request to receive embed data of any kind."

DiAvisoo avatar Apr 15 '20 22:04 DiAvisoo

I'm missing the issue here, you just add your local domain to the domain exclusion list? Definitely not an issue with this package as I'm using this exact setup with no issue, if I remove my local domain, then the video 404's as you've mentioned.

Try a proxy.

CHEWX avatar Jun 02 '20 13:06 CHEWX

@19peaches I managed to use the component and play private videos using the api, something like that <vimeo-player ref="player" :options="options" video-url="https://player.vimeo.com/video/{video_id}" :video-id="null" :autoplay="false" :player-height="320" :player-width="640"> </vimeo-player>

You get the url by clicking on the video > insert code.

seguce92 avatar Sep 22 '20 00:09 seguce92

@dobromir-hristov There's a bug in the implementation of it, it appears. The Vimeo API expects a video ID or a video URL. Not both. When I pass both, I get a 404 error. When I only pass the URL, it works - but I get a nasty warning in the console saying that the ID is required. Either don't make the ID property required, or don't pass the ID to the vimeo player when passing the URL.

pongstylin avatar Feb 03 '21 19:02 pongstylin

Great find, care to make a PR? I am not using the package anymore so such things might happen.

dobromir-hristov avatar Feb 03 '21 19:02 dobromir-hristov

I don't think I can put the level of TCL that would be required with the change. I see that you have branches for vue2 and vue3 and the change would need to be applied and tested in both. But I'm just working with vue2 right now. Also, the recent pull request that fixes the "update" method to support options needs to be taken into consideration as well to ensure both ID and URL based configuration works appropriately.

pongstylin avatar Feb 03 '21 19:02 pongstylin

For reference: This has been fixed in v1.0.4. It's now possible to pass only a video-url in the props which works with unlisted (private) videos:

<vimeo-player video-url="https://vimeo.com/video/{video_id}/{hash}" />

rangermeier avatar May 05 '22 10:05 rangermeier