Як автоматично додавати відео на відеохостинг Vimeo за допомогою API (PHP)

  у розділі Технічні теми 

Vimeo APIVimeo — чудовий відеохостинг, позбавлений дурних обмежень по тривалості відео (на відміну від YouTube).

Я хочу розповісти як автоматизувати вивантаження роликів на Vimeo, з веб-сторінки чи командного рядка, використовуючи PHP.

Сам довго шукав як правильно це реалізувати і знаходив декілька різних методів, аж поки не натрапив на простий і ефективний, від самих розробників Vimeo. ;) Сподіваюсь мій досвід стане комусь в нагоді. Вимагається базове розуміння PHP.

Теорія

Для автоматизації вивантаження відео (а також отримання інформації про вже вивантажене) на Vimeo потрібно використовувати їх API (хто б міг подумати ;) ).

Кожному бажаючому видається спеціальний "ключ розробника" . З цим ключем порграма (скрипт) буде звертатись до усіх методів API.

Один розробник може мати декілька програм (скриптів) для роботи з API. Кожній програмі видається, для її роботи, ключ (токен) і пароль доступу до функцій Vimeo.

Під час першого підключення до Vimeo, відкривається спеціальна сторінка де вас перепитують чи справді Ви дозволяєте програмі працювати від Вашого імені і виконувати різні зміни (додавання, редагування відео тощо).

Якщо Ви не проти, то порграмі буде присвоєно особистий ключ (токен) і пароль, яким вона може користуватись пізніше.

Практика

PHP-бібліотека для роботи з Vimeo API (Advanced API)

Завантажити PHP-бібліотеку для роботи з Vimeo можна з офіційного репозиторію розробників Vimeo: http://github.com/vimeo/vimeo-php-lib.

В архіві буде декілька файлів найважливіші з яких:

  • index.php — сторінка для створення і перегляду токена доступу

  • vimeo.php — сама бібліотека для роботи з Vimeo API

  • upload.php — тестовий скрипт для вивантаження відео

Ключ і пароль API

Ключ і пароль API для розробника можна вільно отримати на сторінці користувача Vimeo: http://vimeo.com/api/applications.

Якщо жодних записів там немає, то треба створити їх, для свого скрипта.

У відповідних полях треба вказати адресу скрипта, який проситиме дані API-авторизації (в нашому випадку http://ВАШ_URL/vimeo/api/index.php).

В результаті нам буде присвоєно ключ і пароль розробника.

Ці дані вписуються в файл vimeo/api/index.php:

$vimeo = new phpVimeo('API-key', 'API-secret');

Отримання токену авторизації

Токен авторизації дозволятиме роботу скрипта з даними (відео тощо) користувача Vimeo.

Треба зайти, за допомогою веб-оглядача, на сторінку /vimeo/api/index.php, та натиснути посилання ”Click the link to go to Vimeo to authorize your account.

Вас буде скеровано на сторінку авторизації Vimeo “Authorization Requested”.

Натиснути “Так, авторизувати цей скрипт”. З цього моменту скрипту присвоюються унікальний ключ (токен) та пароль.

Потім Вас перекине на сторінку з  скриптом (http://ВАШ_URL/vimeo/api/) який отримає від Vimeo усі потрібні дані.

Вони будуть доступні у змінних PHP-сесії. Щоб їх побачити просто на сторінці можна у скрипті index.php насписати щось на кшталт

echo "Access Token: ".$access_token;
echo "<br />";
echo "Access Secret: ".$_SESSION['oauth_access_token_secret'];

перед

switch ($_SESSION['vimeo_state']) {

Але не забудьте потім прибрати вивід цих змінних, щоб вони не потрапили у чужі руки!

Тестування

Перегяньте файл upload.php, він коротенький. Вкажіть  вньому назву файлу, що треба вивантажити, його заголовок, та опис. також можна вказувати усі інші параметри, доступні з допомогою Vimeo API.

Найголовніше — вказати дані для доступу:

$vimeo = new phpVimeo('CONSUMER_KEY', 'CONSUMER_SECRET', 'ACCESS_TOKEN', 'ACCESS_TOKEN_SECRET');
  • CONSUMER_KEY — ключ розробника (отриманого на кроці "Ключ і пароль API")

  • CONSUMER_SECRET — пароль розробника (отриманого на кроці "Ключ і пароль API")

  • ACCESS_TOKEN — ключ авторизації (крок "Отримання токену авторизації")

  • ACCESS_TOKEN_SECRET — пароль авторизації (крок "Отримання токену авторизації")

У результаті виконання upload.php відеофайл буде вивантажено на сервер, а скрипт поверне різні корисні дані про відео — його ID (адресу), статус обробки (див. документацію API) тощо.

Наостанок, якщо токени авторизації було отримано їх можна використовувати, у своєму скрипті, як завгодно довго. А файл index.php вже стає непотрібний, хіба що Ви знову захочете згенерувати новий токен (ключ).


Коментарі