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

Authentication failure trying to upload Vimeo video

使用官方 Vimeo PHP 库 (https://github.com/vimeo/vimeo.php)

正在尝试使用客户端库的 upload() 方法上传视频 return 以下 http 响应:

The authentication token is missing a user ID and must be provided when uploading a video.

然而,在调用 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
}

欢迎提出任何建议!

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

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

赠品在 /tutorials 回复的最后一行:

"token_is_authenticated": false

在此处查看 Vimeo 开发者网站上的身份验证文档:https://developer.vimeo.com/api/authentication#understanding-auth-workflows