leedo / noembed

oEmbed gateway service with additional non-oEmbed sources
http://www.noembed.com
487 stars 89 forks source link

403 Error for YouTube links #115

Open newpen opened 3 years ago

newpen commented 3 years ago

For example: https://noembed.com/embed?callback=%3Cesi%3Ainclude%20src%3D%22%2Fesi%2Fjsonp-callback%22%2F%3E&url=https://www.youtube.com/watch?v=G68Q4lCM5pQ

komlenic commented 3 years ago

Same issue. All youtube links return 403 and cannot be embedded. Chrome, at least, goes into some kind of redirect loop where it keeps submitting the request repeatedly.

Removing the callback parameter from the request "solves" this, in that a non-403 response is returned. However, that doesn't really solve the issue.

momoko8443 commented 3 years ago

same issue!

gummyfrog commented 3 years ago

ditto. doesn't look like an issue with the provider template– maybe a youtube deprecation? still works fine for most older videos.

aariacarterweir commented 3 years ago

Some youtube urls are still working. Cached?

bettysteger commented 3 years ago

image

got the same error when calling the URL in the browser directly, when trying to fetch via JSONP, i got an 200, but the embed does not work anymore... :/

I think youtube changed something!

aariacarterweir commented 3 years ago

This was a bit of a wig out for me so I quickly pulled together this docker image based on iframely, who kindly release their software as open source. They actually have a Dockerfile in their repo that is pretty much ready to go but theirs is based on node 12 which doesn't work so great with http 2. That and I wanted something a bit more portable that cloned their repo into the actual docker image.

https://hub.docker.com/repository/docker/aariacarterweir/docker-iframely

Won't be a solution for everyone but works pretty well for me. Only thing I'd say is you reallllly gotta run it with redis or memcached so you dont hit your API limits.

If anyone wants more info on how to set this bad boy up just ping me, I'd be happy to share a few pointers.

nicolochiellini commented 3 years ago

Youtube like Vimeo now ask an API key

gummyfrog commented 3 years ago

Fixed on local install by installing Mozilla::CA and explicitly using HTTPS for YouTube URLs.

Here is the full error hiding behind 403 Forbidden: { "error": { "code": 403, "message": "SSL is required to perform this operation.", "status": "PERMISSION_DENIED" } }

gummyfrog commented 3 years ago

Seems like &scheme isn't cutting it anymore.

http://www.youtube.com/oembed/?url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DcVRyoUJyxIE&scheme=https (generated by Providers/YouTube.pm) still uses HTTP, giving us 403.

No API key required– free quota is still just fine with caching :) I'm not super familiar with Perl, so there might be a cleaner way to fix it than changing YouTube.pm 18: my $uri = URI->new("http://www.youtube.com/oembed/"); to YouTube.pm 18: my $uri = URI->new("https://www.youtube.com/oembed/"); (actually, this does seem like the cleanest way...)

Happy embedding 👍

komlenic commented 3 years ago

I know this github project is essentially abandoned, but does anyone know if noembed.com is ever updated? A lot of sites are relying on that service and have broken youtube embeds right now.

flipmcf commented 3 years ago

look at #114 - we might have to follow what @tomgross has done.

eduardopiasson-br commented 3 years ago

A temporary solution can be this, incorporates the video, the rest depends on your application.

I replaced the "https://noembed.com/embed?nowrap=on" with "https://www.youtube.com/oembed?" in the proxy configuration of the trumbowyg api.

the others that use noembed I believe it is almost the same situation.

Captura de tela 2021-01-13 103603

Hope this helps.

bettysteger commented 3 years ago

@eduardopiasson-br the problem with this is, that i would need JSONP and youtube doesn't support that :/

eduardopiasson-br commented 3 years ago

@lpsBetty Even if you pass the format to the end of the link?

Example: https://www.youtube.com/oembed?url=https://www.youtube.com/watch?v=IJ5DWUu-MlE&format=json

bettysteger commented 3 years ago

@eduardopiasson-br yes if you click the link you see that you do not have a callback function in the code - i would need to define a callback function for CKEDITOR...

theuros commented 3 years ago

I noticed that for youtube videos which gives 403 error you can use embed url to make it work. Youtube link is like https://www.youtube.com/watch?v=.... and if you click "share" and copy given url https://youtu.be/... then embed works almost fine. Embeded video height is too small

dlopez-akalam commented 3 years ago

We where facing the same problem, but It looks like youtube embed codes are working again. The examples on this issue and in our site are working back.