diff --git a/api/src/processing/cookie/manager.js b/api/src/processing/cookie/manager.js index 9e23374b..cad11f77 100644 --- a/api/src/processing/cookie/manager.js +++ b/api/src/processing/cookie/manager.js @@ -13,6 +13,7 @@ const VALID_SERVICES = new Set([ 'reddit', 'twitter', 'youtube', + 'vimeo_bearer', ]); const invalidCookies = {}; diff --git a/api/src/processing/services/vimeo.js b/api/src/processing/services/vimeo.js index 8c51c026..c12269bc 100644 --- a/api/src/processing/services/vimeo.js +++ b/api/src/processing/services/vimeo.js @@ -1,6 +1,7 @@ import HLS from "hls-parser"; import { env } from "../../config.js"; import { merge } from '../../misc/utils.js'; +import { getCookie } from "../cookie/manager.js"; const resolutionMatch = { "3840": 2160, @@ -25,7 +26,8 @@ const genericHeaders = { let bearer = ''; const getBearer = async (refresh = false) => { - if (bearer && !refresh) return bearer; + const cookie = getCookie('vimeo_bearer')?.values?.()?.access_token; + if ((bearer || cookie) && !refresh) return bearer || cookie; const oauthResponse = await fetch( 'https://api.vimeo.com/oauth/authorize/client', diff --git a/docs/examples/cookies.example.json b/docs/examples/cookies.example.json index d788b2dd..4c467356 100644 --- a/docs/examples/cookies.example.json +++ b/docs/examples/cookies.example.json @@ -13,5 +13,8 @@ ], "youtube": [ "cookie=; b=" + ], + "vimeo": [ + "access_token=" ] }