WordPress.org

Make WordPress Core

Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#18928 closed defect (bug) (fixed)

Vimeo oEmbed API URL incorrect causing Vimeo oEmbed to not function

Reported by: l3rady Owned by: nacin
Milestone: 3.3 Priority: normal
Severity: minor Version: 3.3
Component: Embeds Keywords: has-patch
Focuses: Cc:

Description

'#http://(www\.)?vimeo\.com/.*#i' => array( 'http://www.vimeo.com/api/oembed.{format}', true ),

Vimeo is registered as above (/wp-includes/class-oembed.php line 36). but looking at vimeo's API their API URL is without the www.

Because the wrong URL is used embed for vimeo videos does not work.

Attachments (2)

18928.diff (1.1 KB) - added by justindgivens 3 years ago.
vimeo-oembed.php (424 bytes) - added by gluten 3 years ago.
Plugin to fix vimeo oembed provider

Download all attachments as: .zip

Change History (10)

comment:1 l3rady3 years ago

  • Cc l3rady added

justindgivens3 years ago

comment:2 justindgivens3 years ago

  • Keywords has-patch added

comment:3 SergeyBiryukov3 years ago

  • Milestone changed from Awaiting Review to 3.3

Confirmed.
Vimeo tries to redirect to a URL without www, but apparently double-encodes query args in the process.

This works:

http://vimeo.com/api/oembed.json?maxwidth=584&maxheight=600&url=http%3A%2F%2Fvimeo.com%2F30230507&format=json

This doesn't:

http://www.vimeo.com/api/oembed.json?maxwidth=584&maxheight=600&url=http%3A%2F%2Fvimeo.com%2F30230507&format=json

Full URL after redirect:

http://vimeo.com/api/oembed.json?maxwidth=584&maxheight=600&url=http%253A%252F%252Fvimeo.com%252F30230507&format=json

Note the double-encoded video URL: http%253A%252F%252Fvimeo.com%252F30230507.

Last edited 3 years ago by SergeyBiryukov (previous) (diff)

gluten3 years ago

Plugin to fix vimeo oembed provider

comment:4 gluten3 years ago

I whipped together a quick plugin as a hotfix for anyone who needs to fix this problem immediately.

comment:5 swissspidy3 years ago

  • Cc hello@… added

Can definitely confirm this issue. Tried to include a video for at least 30 minutes. Maybe we should tell Vimeo to fix their redirect (regarding the double encoding) since it isn't really a bug in WordPress itself?

comment:6 nacin3 years ago

  • Owner set to nacin
  • Status changed from new to accepted

The temp fix (removing www) was deployed to WordPress.com yesterday.

Let's go ahead and change this in core, since it's clear that vimeo.com is their preferred endpoint.

I'm working with Vimeo on this to ensure the old endpoint works.

comment:7 ryan3 years ago

  • Resolution set to fixed
  • Status changed from accepted to closed

In [18973]:

Update vimeo oembed api url. Props l3rady, justindgivens. fixes #18928

comment:8 nacin3 years ago

Vimeo was using mod_rewrite QSA without NE (noescape). That's been deployed and this is now fixed on their end as well.

Note: See TracTickets for help on using tickets.