However, previous tests have shown that this may be a bit slower than the oembed approach. Perhaps both approaches could be bundled, with the second one being the fallback if oembed returns an 'Unauthorized' response.
An alternative approach may be to use a community-driven alternative API which implements a shorts endpoint, as described here.
It looks like this custom API variant also allows us to fetch only shorts for a given channel, perhaps it also allows us to fetch normal videos and shorts separately, which we could then save as such in the database from the get-go, without having to separate between the two types whenever shuffling.
See #151 The current implementation fails if a video cannot be embedded. An alternative approach would work like this:
However, previous tests have shown that this may be a bit slower than the oembed approach. Perhaps both approaches could be bundled, with the second one being the fallback if oembed returns an 'Unauthorized' response.
An alternative approach may be to use a community-driven alternative API which implements a
shorts
endpoint, as described here. It looks like this custom API variant also allows us to fetch only shorts for a given channel, perhaps it also allows us to fetch normal videos and shorts separately, which we could then save as such in the database from the get-go, without having to separate between the two types whenever shuffling.