我想使用vimeo.videos.getInfo方法获取上传到我帐户的私有视频的信息。我只会在一个网站上使用此应用程序,因此我将访问令牌硬编码到代码中。
我正在使用Vimeo API的官方PHP库(https://github.com/vimeo/vimeo.php)。
所以这就是我到目前为止所拥有的......
$vimeo = new Vimeo($apiKey, $apiSecret, $accessToken);
一切都好。首先,当我尝试示例中的示例代码时:
$user_data = $vimeo->request('/me');
print_r($user_data);
返回一个空数组:
Array (
[body] =>
[status] => 0
[headers] => Array
(
)
)
我注意到他们提到如果数组返回空,它可能与无效的SSL证书有关。现在,我只是在localhost上开发,所以我将CURLOPT_SSL_VERIFYPEER设置为false(感谢这些说明:http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/)。我将它添加到vimeo.php中第112行的数组中:
$curl_opt_defaults = array(
CURLOPT_HEADER => 1,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_SSL_VERIFYPEER => false);
一旦我这样做,我就能够返回有关经过身份验证的用户的信息。
但是这仍然是一个空数组:
$params = array(
'video_id' => 95307197
);
$videos = $vimeo->request('vimeo.videos.getInfo', $params);
print_r($videos);
与我尝试放入的任何方法相同。我是否将CURLOPT_SSL_VERIFYPEER错误或我的语法错误了?
答案 0 :(得分:4)
我认为我可能会分享我的解决方案,这花了我一些时间来弄清楚。我还想访问私人视频数据,即视频播放的时间。以下是我的步骤:
Client Identifier
,Client Secret
,并生成包含Access Token
,Public
和{{1}属性的Private
}}。您可能需要根据访问需要添加或删除属性。Interact
中的第473行上的语法错误,以解决它最后删除$name = array_slice(explode("/", $file_path), -1)[0];
!事实上,我并不需要调用此函数来知道它是否有任何伤害,但这解决了我的问题。顺便说一下,我在Dreamweaver上。[0]
语句之前添加此代码curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
。这应该是3个补充。这是我的代码:
$response = curl_exec($curl);
在我的情况下,我只针对游戏数量require("../Vimeo PHP path/autoload.php");
use Vimeo\Vimeo;
$client_id = "*****"; //your Vimeo number here
$client_secret = "*****"; //your Vimeo number here
$access_token = "*****"; //your Vimeo number here
$vim = new Vimeo($client_id, $client_secret, $access_token);
$response = $vim->request("/videos/****"); //your Vimeo PRIVATE video ID here
echo $response["body"]["stats"]["plays"];
,但你可以打印整个身体。希望这对某人也有帮助。
答案 1 :(得分:2)
感谢这个例子,我解决了同样的问题,在_request方法(第125行)的当前api中添加curl选项CURLOPT_SSL_VERIFYPEER并将其设置为false,这样你就有了这样一个数组:
$ curl_opt_defaults = array(CURLOPT_HEADER => 1, CURLOPT_RETURNTRANSFER =>真正, CURLOPT_TIMEOUT => 30, CURLOPT_SSL_VERIFYPEER =>假);
并且全部:)希望这有助于其他人。
答案 2 :(得分:1)
希望这有助于其他人。 Vimeo API文档完全没有问题,新的API文档会链接回较旧的API文档,这只会增加混乱。
新API没有使用Advanced API中的方法,它使用此处的端点https://developer.vimeo.com/api/endpoints
以下是最终适合我的代码:
$videos = $vimeo->request("/videos/$video_id");
print_r($videos);