Since the recent update in Dato we cannot insert our Youtube videos in the embed format as it transforms the URL instantaneously.
Now it shows the pop-up alert and if we delete the parametres after the “?” it changes the url to a non embed format. However, it still works with the urls we inserted few months ago.
Hi @guillem.moreso. We fixed the “?autoplay=1” part of the problem, but we cannot do much regarding DatoCMS changing the URL to the canonical one. This is actually the correct behaviour.
To build your iframe you should use the provider_uid attribute of the video field… something like this:
So whats the behaviour of this field supposed to be ? because i get the same problem. I’m pasting in a direct private url for a vimeo video.
Am i right in assuming that this field expects a specific format of url?
If so, then the helper text should explain that, because not being able to type in a url without it throwing that error and taking the cursor away from being able to actually type, looks like a bug.
Dato doesn’t expect a specific link format to the video, the direct URL should be enough.
The vimeo video has to be “embedable”, perhaps the fact that it is private is not allowing dato to embed the video into an iframe.
Could you try with a different public vimeo video and see if you have the same behaviour?
Cool i try that. I thought i had the other day, and it still failed.
I think the error toast is a bit aggressive, as it take the cursor away from the input field when your typing. Means its impossoble to type a url. Ideally the component should just flash red, rather than disabling input.
I agree that the toast is a bit aggressive, we’ll see what we can do.
But the point of that video field is that you can paste the plain link to Vimeo, as @m.finamor said before.
What we do is fetching more info from Vimeo/FB/Youtube and expose it via API. For instance you can retrieve all this info from GraphQL on a external video field:
video {
height
provider
providerUid
thumbnailUrl
title
url
width
}
If you have already a URL of what you need and you don’t want our functionality, then maybe it’s better if you save directly your URL.
I use private Vimeo video’s restricted to certain domains, all tough we have a custom domain added to our Datocms dashboard which is whitelisted. The CMS won’t accept our private video.
I tried adding datocms.com as whitelisted domain but it doesn’t solve the problem. Any ideas?
I’m sorry but we currently don’t support domain-level privacy for Vimeo embeds (the requests are always made using a dynamic IP), you can choose other Vimeo privacy options listed here: Manage your video's privacy settings – Vimeo Help Center
I just stumbled accross the same issue wanting to update old videos and I don’t get why this is supposed to be the correct behavior for youtube videos.
It’s a highly breaking change that looks pointless to me
I’m running into the same issue; why not make both YouTube links available w/ and w/o the “embed”? (For reference, I’m adding the “/embed” but gets transformed to the “/watch” url). However I guess I can use the suggested solution to re-build the url using the providerUid but it makes it THAT much complicated when adding videos from multiple sources.
also tried player.vimeo.com/video/783356975?h=3345a83142
But in both cases, the rendered Dato page truncates the URL:
the “vimeo…” URL shown below the player is missing its “/3345a83142” suffix
the “player…” URL in the iframe is missing its “?h=3345a83142” suffix
If this relates to the issues/fix above, can you clarify if ‘public’ is currently the only privacy setting in Vimeo that works with the external video field?
(…We’d prefer to keep it unlisted if possible in case there are other recommendations)
Now your video seems public to me, so it works as expected, I’m not sure how it behaves when unlisted. If you want you can try yourself and see how it goes. Unfortunately if Vimeo doesn’t return the information that we need, probably it’s better to use a simple text field and do what you need on your end.
Thanks @mat_jack1 – yup/apologies, we ended up setting the original video to ‘public’, so I tried with another unlisted video [which will stay that way] in case it comes up again:
That response includes the same keys/info as for the now-public video:
for a public video: “video_id”:783356975,“uri”:“/videos/783356975”
for an unlisted video: “video_id”:218025426,“uri”:“/videos/218025426:26240a5de3”
…But if the External Video field uses the video_id instead of parsing the uri to form a link (not sure?), then it would be missing the necessary suffix that’s only included in the uri – e.g.: