Reputation: 4185
This url loads and plays the video: https://player.vimeo.com/video/516699168
This url says the video is not found: https://vimeo.com/516699168
So I use the API call at https://developer.vimeo.com/api/reference/videos#get_video with ID 516699168 and it returns
HTTP/1.1 404
Content-Type: application/vnd.vimeo.error+json
{
"error": "The requested video couldn't be found."
}
So why does the player.vimeo.com link work? Is it supposed to?
I'm asking because I have a broken link script and the API isn't jiving with the player.vimeo.com link.
If there are restrictions on the video (such as privacy) why would the player url still work?
Upvotes: 1
Views: 15022
Reputation: 3018
The player url (player.vimeo.com
) is used as the source within the Vimeo iframe. Most likely the video is accessible when visiting that URL because it is set to "Hide from vimeo.com" and is only playable when embedded. To prevent this from happening, the video's embed privacy should be set to domain-level so that it's only playable when embedded on specified domains.
When requesting /videos/516699168
the API returns a 404 likely because the auth token used with the request only has "public" scope and can only be used to get public data on Vimeo. Because the video has "Hide from vimeo.com" privacy it is not public, and the API cannot pull its metadata.
Video privacy settings overview: https://vimeo.zendesk.com/hc/en-us/articles/224817847
API authentication and scopes overview: https://developer.vimeo.com/api/authentication#understanding-the-auth-process
Upvotes: 1