使用官方的Vimeo PHP库(https://github.com/vimeo/vimeo.php)
尝试使用客户端库的upload()
方法上传视频会返回以下http响应:
身份验证令牌缺少用户ID,必须在上传视频时提供。
但是,在调用upload()
方法之前,已在客户端上设置了客户端ID,客户端密钥和令牌:
客户端初始化:
$this->setClient(new Vimeo($this->clientId, $this->clientSecret, $this->token));
调用上传方法:
try{
$videoUri = $this->getClient()->upload($path, [
'name' => $name,
'privacy' => [
'view' => 'anybody'
]
]);
return $videoUri;
} catch (\Exception $e) {
dump($e);
return false;
}
有一个教程端点,我使用上面创建的客户端调用了该端点,并得到以下响应:
{
"message": "Success! You just interacted with the Vimeo API. Your dev environment is configured correctly, and the client ID, client secret, and access token that you provided are all working fine.",
"next_steps_link": "https://developer.vimeo.com/api/guides/videos/upload",
"token_is_authenticated": false
}
欢迎任何建议!
答案 0 :(得分:0)
问题在于所使用的令牌是未经身份验证的令牌。我假设您只需要一个经过身份验证的令牌即可代表另一个用户上传。通过生成一个具有“上传”范围的新的经过身份验证的令牌,我可以使用上面发布的确切代码上传视频。
答案 1 :(得分:0)
您生成的令牌未经身份验证,这意味着它只能读取vimeo.com上公开的元数据-不能用于上载,检索数据或对帐户执行其他操作。
赠品在/ tutorials响应的最后一行:
"token_is_authenticated": false
在Vimeo开发者网站的https://developer.vimeo.com/api/authentication#understanding-auth-workflows
上查看身份验证文档。