You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vimeo OAuth授权请求返回401 Unauthorized问题求助

Vimeo Client Credentials授权401错误排查与修复

你的代码里Authorization请求头的生成方式完全错误,这是导致401 Unauthorized的核心原因,具体问题和修复方案如下:

问题分析

你当前的Authorization头是硬写的字符串:

"Authorization": "basic base64_encode({Client Identifier}:{Client Secret})"

这里有两个致命问题:

  • basic必须大写为Basic,Vimeo的OAuth服务严格遵循HTTP规范,大小写错误会直接导致认证失败
  • 你没有实际执行Base64编码,只是把函数名和占位符写进了字符串里,Vimeo无法识别这种格式的凭证

修复步骤

  1. 替换占位符:把{Client Identifier}和{Client Secret}替换成你在Vimeo开发者平台获取的真实凭证
  2. 正确生成Base64编码:使用JavaScript原生的btoa()函数对ClientID:ClientSecret的字符串进行编码
  3. 修正Authorization头格式:前缀用Basic,后面跟上编码后的字符串

修正后的完整代码

var access_token_data;

function Authorize() {
    // 替换成你的真实凭证
    const clientId = "你的Client Identifier";
    const clientSecret = "你的Client Secret";
    
    var authorize_data = {
        "grant_type": "client_credentials", 
        "scope": "public"
    };

    // 生成正确的Authorization头内容
    const authHeader = "Basic " + btoa(`${clientId}:${clientSecret}`);

    $.ajax({
        type: 'POST',
        url: "https://api.vimeo.com/oauth/authorize/client",
        headers: {
            "Authorization": authHeader, 
            "Content-Type": "application/json", 
            "Accept": "application/vnd.vimeo.*+json;version=3.4"
        }, 
        data: JSON.stringify(authorize_data),
        cache: false,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        processData: false,
        success: function (data) {
            console.log("success");
            console.log(data);
            access_token_data = data.access_token;    
            alert("!!Access Token " + access_token_data)
        },
        error: function (data) {
            console.log("error");
            console.log(data);
        }
    });
};

额外注意事项

  • 如果你的Client ID或Secret包含+、/或=等特殊字符,btoa()可能会出现编码问题,此时需要先对字符串进行URI编码,再解码后编码:btoa(unescape(encodeURIComponent(${clientId}:${clientSecret})))
  • 再次确认Vimeo后台的域名白名单配置正确,要包含你当前页面的完整域名(包括http/https前缀)
  • 确保scope参数设置正确,public是client_credentials模式允许的基础权限

内容的提问来源于stack exchange,提问作者orlanmon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 13:42:48