vimeo api 在生成访问令牌时不返回用户凭据

问题描述

我想使用 vimeo API 的 the authorization code grant获取访问令牌。这就是我尝试为文档的 Step 1 生成 code 的方式:

$client_id = 'xxxx';
$client_secret = 'yyyyy';

$redirect_uri = 'http://localhost/somepath';
$scopes = 'private';
$state = 'randomcharstring';

$lib = new \Vimeo\Vimeo($client_id,$client_secret);
$url = $lib->buildAuthorizationEndpoint($redirect_uri,$scopes,$state);

当我运行代码时,它给了我这个网址:

https://api.vimeo.com/oauth/authorize?response_type=code&client_id=xxxx&redirect_uri=localhost/somepath&scope=private&state=randomcharstring1

对应于文档的 Step 3。当我运行 URL 链接时,我被重定向到 vimeo oath/authorize 以允许用户使用 vimeo 或其他东西。

一个重定向到我的本地主机:

http://localhost/somepath?state=randomcharstring1&code=zzzzzzzzzz

之后,我使用带有 POST 方法的 POSTMAN 尝试使用基于 Step 4 的以下代码获取访问令牌:

URL: https://api.vimeo.com/oauth/access_token
Headers:
    Authorization: basic base64_encode(xxxx:yyyyy)
    Content-Type: application/json
    Accept: application/vnd.vimeo.*+json;version=3.4

Body:
    {
        "grant_type": "authorization_code","code": "zzzzzzzzzz","redirect_uri": "http://localhost/somepath"
    }

但我总是收到这个错误

{
    "error": "invalid_client","error_description": "A valid client ID must be provided along with any request made to Vimeo's API"
}

注意:uri 不是这种格式,它有 http%3A 等只是为了便于阅读。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)