Проблемы с методами для нового API Vimeo

Я хотел бы использовать метод vimeo.videos.getInfo, чтобы получить информацию о приватном видео, загруженном в мою учетную запись. Я буду использовать это приложение только на одном веб-сайте, поэтому я жестко кодирую токен доступа в код.

Я использую официальную библиотеку PHP для Vimeo API ( 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 / ). Я добавил его к массиву в строке 112 в файле vimeo.php:

     $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 или что-то не так с моим синтаксисом?

    Related of "Проблемы с методами для нового API Vimeo"

    Я подумал, что могу поделиться своим решением, которое заняло у меня некоторое время, чтобы разобраться. Я также хотел получить доступ к приватным видеоданным, а именно к числу pf времени воспроизведения видео. Вот мои шаги:

    1. Создайте приложение на Vimeo и получите Client Identifier Client Secret и создайте токен Access Token со свойствами Public , Private и Interact . Возможно, вам придется добавлять или удалять свойства на основе вашей потребности в доступе.
    2. Загрузите из Vimeo исходный код PHP.
    3. Странно, по крайней мере, в моем случае, код имел неправильный синтаксис в строке 473 в выражении $name = array_slice(explode("/", $file_path), -1)[0]; для его устранения удалите [0] в конце! На самом деле мне не нужно было называть эту функцию, чтобы узнать, не навредил ли она, но это решило мою проблему. Кстати, на Dreamweaver.
    4. Более странно, PHP-код, при условии, что мой Vimeo не может выполнить аутентификацию с помощью своей новой системы, поэтому вам нужно добавить этот код curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); перед каждым $response = curl_exec($curl); заявление. Это должно быть 3 дополнения.
    5. Наконец, создайте свой собственный скрипт PHP для доступа к частному видео.

    Вот мой код:

     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"]; 

    В моем случае я сделал echo для количества пьес, но вы можете распечатать все тело. Надеюсь, это тоже поможет кому-то.

    Благодаря этому примеру я решил ту же проблему, в текущем api в методе _request (строка 125) добавьте параметр curl CURLOPT_SSL_VERIFYPEER и установите для него значение false, так что у вас будет такой массив:

    $ curl_opt_defaults = array (CURLOPT_HEADER => 1, CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, CURLOPT_SSL_VERIFYPEER => false);

    и это все 🙂 надеюсь, что это поможет кому-то другому.

    Надеюсь, это поможет кому-то другому. Документация API Vimeo полностью удалена, и новые документы API обращаются к старым документам API, что только добавляет путаницы.

    Новый API не использует методы из расширенного API, он использует конечные точки здесь https://developer.vimeo.com/api/endpoints

    Вот код, который в конечном итоге работал для меня:

     $videos = $vimeo->request("/videos/$video_id"); print_r($videos);