尝试上传Vimeo视频时验证失败

时间:2019-02-22 12:48:22

标签: php vimeo vimeo-api

使用官方的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
}

欢迎任何建议!

2 个答案:

答案 0 :(得分:0)

问题在于所使用的令牌是未经身份验证的令牌。我假设您只需要一个经过身份验证的令牌即可代表另一个用户上传。通过生成一个具有“上传”范围的新的经过身份验证的令牌,我可以使用上面发布的确切代码上传视频。

答案 1 :(得分:0)

您生成的令牌未经身份验证,这意味着它只能读取vimeo.com上公开的元数据-不能用于上载,检索数据或对帐户执行其他操作。

赠品在/ tutorials响应的最后一行:

"token_is_authenticated": false

在Vimeo开发者网站的https://developer.vimeo.com/api/authentication#understanding-auth-workflows

上查看身份验证文档。