PHPackages                             rutube/php-api-client - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. rutube/php-api-client

AbandonedArchivedLibrary[API Development](/categories/api)

rutube/php-api-client
=====================

PHP client for Rutube api (http://rutube.ru)

1.0.12(10y ago)135.8k5Apache 2.0PHPPHP &gt;=5.3.3

Since Feb 24Pushed 10y ago18 watchersCompare

[ Source](https://github.com/rutube/php-api-client)[ Packagist](https://packagist.org/packages/rutube/php-api-client)[ RSS](/packages/rutube-php-api-client/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (3)Versions (12)Used By (0)

Rutube PHP API Client
=====================

[](#rutube-php-api-client)

[![Build Status](https://camo.githubusercontent.com/dd6eb5507a04a3fb893d79f285e09b2bdc3ff8fa6a70d09fe28d9e4cc935b381/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f7275747562652f7068702d6170692d636c69656e742f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/rutube/php-api-client)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/dde5e335de81f608ccd3bd81241f219aff2be45906ab3a62d7caf756d48ef826/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f7275747562652f7068702d6170692d636c69656e742e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/rutube/php-api-client/?branch=master)[![Code Coverage](https://camo.githubusercontent.com/3ebffc09f5922c4f7287ac6f191abe8abaca20395c039435f1623b7dfd4643cf/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f636f7665726167652f672f7275747562652f7068702d6170692d636c69656e742e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/rutube/php-api-client/?branch=master)[![Latest Stable Version](https://camo.githubusercontent.com/de9bcce71e0efbf5d562bd113dd2fe9a202fc387d616d8fb6922c920bce48e6f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7275747562652f7068702d6170692d636c69656e742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/rutube/php-api-client)

Установка
---------

[](#установка)

Установка через composer:

```
composer require "rutube/php-api-client: 1.0.*"
```

Использование
-------------

[](#использование)

```
require 'vendor/autoload.php';

/**
 * Авторизация
 **/
Rutube\Rutube('login', 'password', /*secure*/ true);

$rutube->isAuthorized(); // result: true/false
$rutube->isSecure();     // Возвращает тип соединения. В случае https - true; в случае http - false

/**
 * Работа с видео
 **/

// Основные параметры:

$url        = 'url';
$title      = 'title';
$descr      = 'description';
$isHidden   = 0;
$categoryId = 13;

// Чтобы узнать о состоянии загружаемого видео после конвертации, нужно задать callback-урлы:
$callback_url = 'http://host.host/success'; // В случае успешной загрузки и конвертации видео в теле запроса будут переданы данные видео.
$errback_url  = 'http://host.host/error';   // В случае ошибки загрузки и конвертации в теле запроса будут сведения об ошибке.

// Получить объект видео:
$video  = $rutube->video();

// Загрузить видео. В ответе содержится video_id:
$data = $video->upload($url, $title, $descr, $isHidden, $categoryId, $callback_url, $errback_url);

// Обновить параметры видео (заголовок, описание, видимость и категорию):
$video->patchVideo($data->video_id, $title, $descr, $isHidden, $categoryId);

// Частично обновить параметры видео:
//  описание и категорию:
$video->patchVideo($data->video_id, null, $descr, null, $categoryId);
//  только заголовок:
$video->patchVideo($data->video_id, $title);

// Удалить видео:
$video->deleteVideo($data->video_id);

// Добавить обложку видео. $filename - полный путь до файла:
$video->addThumb($data->video_id, $filename);

// Отложить публикацию до времени:
$video->publication($data->video_id, '2015-01-16 20:36:31');

// Получить видео:
$video->getVideo($data->video_id);

/**
 * Работа с данными, не требующими авторизации
 **/

$search = $rutube->search();

// Показать список видео пользователя по его id:
$search->loadVideoPersonById($personId, $page = 1, $limit = 20);

// Показать теги:
$search->loadTags($page = 1, $limit = 20);

// Показать видео по тегу:
$search->loadVideoTags($tagId, $page = 1, $limit = 20);

// Показать тв-шоу:
$search->loadTv($page = 1, $limit = 20);

// Показать типы тв-шоу:
$search->loadTvTypes($tvShowId);

// Показать сезоны тв-шоу:
$search->loadTvSeasons($tvShowId);

// Показать видео тв-шоу:
$search->loadTvVideos($tvshowId, $page = 1, $limit = 20);

// Показать видео из последнего сезона тв-шоу:
$search->loadTvLastSeasonVideos($tvShowId, $page = 1, $limit = 20)

/**
 * Работа с данными, требующими авторизации
 **/

// Если авторизованы, показать список личных видео:
$search->loadVideoPerson($page = 1, $limit = 20);
```

Использование без composer
--------------------------

[](#использование-без-composer)

Если Вы по каким-то причинам не пользуетесь [composer](https://getcomposer.org/), то подключение библиотеки состоит из 2-х частей:

- Необходимо подключить http-клиента (httpful, на данный момент версия 0.2.19)
- Подключить автолоадер API-клиента

Пример использования библиотеки в описанном выше ключе см. examples/without-composer/rutube-client-without-composer.php

По-умолчанию загрузчик ищет код библиотеки по пути ./src, указать новый путь можно выставив константу RUTUBE\_CLIENT\_SRC\_DIR.

Обработка ошибок
----------------

[](#обработка-ошибок)

Все ошибки передаются через Exceptions соответствующего класса.

Код ответаКласс ExceptionОписаниеConnectionErrorExceptionСервер не доступен400BadRequestExceptionПереданы некорректные данные401UnauthorizedExceptionТребуется авторизация403ForbiddenExceptionАвторизованный пользователь не имеет прав на выполнение данного действия404NotFoundExceptionСущность или ресурс не существуют (не доступны)405MethodNotAllowedExceptionРесурс не поддерживает работу с используемым методом запроса500ServerErrorExceptionВо время выполнения запроса возникли ошибки на стороне сервера. Рекомендуется попробовать позднее или связаться со службой поддержкиПример авторизации с обработкой ошибок:

```
try {
    $rutube = new \Rutube\Rutube('squirrel@squirrel.ru', '998800', /*secure*/ true);
} catch (Exceptions\ConnectionErrorException $ex) {
    echo "Сервер не доступен";
} catch (Exceptions\BadRequestException $ex) {
    echo "Некорректные параметры авторизации";
}
```

Запуск юнит-тестов
------------------

[](#запуск-юнит-тестов)

Тесты написаны на phpunit.

Запустить тесты без установленного phpunit:

```
$ composer update
$ composer test
```

Документация по API
-------------------

[](#документация-по-api)

[dev.rutube.ru](http://dev.rutube.ru/)

Документация по библиотеке
--------------------------

[](#документация-по-библиотеке)

[rutube.github.io/php-api-client](http://rutube.github.io/php-api-client/)

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity30

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~13 days

Recently: every ~28 days

Total

11

Last Release

3972d ago

PHP version history (2 changes)1.0.2PHP &gt;=5.4.0

1.0.6PHP &gt;=5.3.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/1867c75f0751677ab1f7a17532a2363cb7637813024c31a5dc3be0763d3f581b?d=identicon)[trong](/maintainers/trong)

---

Top Contributors

[![trong](https://avatars.githubusercontent.com/u/466842?v=4)](https://github.com/trong "trong (25 commits)")

---

Tags

apiclientsdkrutube

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/rutube-php-api-client/health.svg)

```
[![Health](https://phpackages.com/badges/rutube-php-api-client/health.svg)](https://phpackages.com/packages/rutube-php-api-client)
```

###  Alternatives

[kunalvarma05/dropbox-php-sdk

Dropbox PHP API V2 SDK (Unofficial)

3633.0M18](/packages/kunalvarma05-dropbox-php-sdk)[jolicode/slack-php-api

An up to date PHP client for Slack's API

2534.4M12](/packages/jolicode-slack-php-api)[deepseek-php/deepseek-php-client

deepseek PHP client is a robust and community-driven PHP client library for seamless integration with the Deepseek API, offering efficient access to advanced AI and data processing capabilities.

47073.9k5](/packages/deepseek-php-deepseek-php-client)[qwen-php/qwen-php-client

robust and community-driven PHP SDK library for seamless integration with the qwen AI API, offering efficient access to advanced AI and data processing capabilities

213.2k1](/packages/qwen-php-qwen-php-client)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
