问题描述
我想使用 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 (将#修改为@)