Vimeo Oauth 授权 - 401 未经授权

Vimeo Oauth Authorization - 401 Unauthorized

提问人:orlanmon 提问时间:11/15/2023 更新时间:11/15/2023 访问量:31

问:

我正在尝试从 Vimeo 获取授权令牌,并使用以下 Vimeo 页面上突出显示的方法:https://developer.vimeo.com/api/authentication。我遇到的问题是,由于某种原因,我不断收到来自Vimeo的消息。Vimeo 配置为接受来自此源域的请求。401 Unauthorized

目前正在尝试让此 POST https://api.vimeo.com/oauth/authorize/client 返回访问令牌,给定我发送的标头和 POST 中的 JSON。提供的 Authorization 标头的两个参数来自 Vimeo 应用程序设置:客户端标识符和客户端密码。 不幸的是,目前每个请求都收到 401 未经授权的响应。同样,所有这些都记录在以下Vimeo网页上。https://developer.vimeo.com/api/authentication 我已经尽我所能地遵循了这一点。

 var access_token_data;

 function Authorize() {

     var authorize_data = {
         "grant_type": "client_credentials", "scope": "public"
     };

     $.ajax({
         type: 'POST',
         url: "https://api.vimeo.com/oauth/authorize/client",
         headers: {
             "Authorization": "basic base64_encode({Client Identifier}:{Client Secret})", "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);
         }
     });
 };
JavaScript 访问令牌 vimeo

评论

2赞 Daniel A. White 11/15/2023
base64_encode真的在你的标题中吗?
0赞 orlanmon 11/16/2023
是的,这是正确的。Authorization 标头的内容指定如下:基本base64_encode(x:y)
1赞 nbokmans 11/16/2023
您应该自己计算编码的 base64 值,并将其用作标头的值。文档仅将其显示为占位符,因此您(作为开发人员)知道您需要使用 base64 对凭据进行编码。您可以在 JS 中使用 btoa 函数。因此,简而言之,您需要对凭据进行编码,然后将 Authorization 标头的值设置为 。Authorizationbasic (resultOfTheEncoding)
0赞 orlanmon 11/16/2023
nbokmans解决了这个问题,但我没有收到返回的访问令牌。感谢您的帮助。

答: 暂无答案