环境
composer.json
中的Vimeo包版本:“vimeo/vimeo”:"^3.0.2“3.0.2
目标
给定一个vimeo内容url,删除视频。例如:有一个视频https://vimeo.com/12345678
,我想用id 12345678
删除视频
我在做什么
1. Instanciate php客户端
$client = new Vimeo(
config('dyamer.vimeo_client_id'),
config('dyamer.vimeo_client_secret'),
config('dyamer.vimeo_access_token')
);
这个秘密是对的,我用来上传视频和所有的作品
2.调用delete api端点
$uri="https://vimeo.com/12345678";
$response = $client->request($uri, [], 'DELETE');
例外
最后一行代码抛出了一个荒谬的异常:
[Could not resolve host: api.vimeo.comhttps]
in /...project_folder.../vendor/vimeo/vimeo-api/src/Vimeo/Vimeo.php:527
Stack trace:
#0 /...project_folder.../vendor/vimeo/vimeo-api/src/Vimeo/Vimeo.php(149): Vimeo\Vimeo->_request('https://api.vim...', Array)
最后一行是用url截断显示的,这不是我复制/粘贴的错误,但我认为--这说明了Vimeo 中有些地方不对劲
问题
旁注
我已经打开了一个关于Gihhub的问题,但没有得到sdk开发人员的任何正式回复。
发布于 2019-10-04 10:43:56
我成功地将错误跟踪到了一个错误of to
这是被定罪的片段实际上在这里的github
case 'DELETE':
if ($json_body && !empty($params)) {
$headers['Content-Type'] = 'application/json';
$body = json_encode($params);
} else {
$body = http_build_query($params, '', '&');
}
$curl_url = self::ROOT_ENDPOINT . $url;
$curl_opts = array(
CURLOPT_POST => true,
CURLOPT_CUSTOMREQUEST => $method,
CURLOPT_POSTFIELDS => $body
);
break;
抛出我看到的$curl_url
https://api.vimeo.comhttps://vimeo.com/12345678
显然是错的。
请求 删除https://api.vimeo.com/videos/{video_id}
所以错误完全是我的
不对
$uri="https://vimeo.com/12345678";
$response = $client->request($uri, [], 'DELETE');
正确的
$uri="videos/12345678";
$response = $client->request($uri, [], 'DELETE');
对不起,Vimeo的员工,这是my的错,不是你的错。
https://stackoverflow.com/questions/58234453
复制相似问题