PHPackages                             drnixx/php-rutube-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. drnixx/php-rutube-client

ActiveLibrary[API Development](/categories/api)

drnixx/php-rutube-client
========================

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

2.0.0(7y ago)046Apache-2.0PHPPHP &gt;=5.6

Since Feb 24Pushed 7y ago1 watchersCompare

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

READMEChangelogDependencies (3)Versions (14)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

29

—

LowBetter than 60% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 96.2% 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 ~109 days

Recently: every ~295 days

Total

12

Last Release

2895d ago

Major Versions

1.0.12 → 2.0.02018-06-05

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

1.0.6PHP &gt;=5.3.3

2.0.0PHP &gt;=5.6

### Community

Maintainers

![](https://www.gravatar.com/avatar/bb6639a819939dff54aa139d8678fb90b73c9ff4777296800aa137807c34ebff?d=identicon)[DrNixx](/maintainers/DrNixx)

---

Top Contributors

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

---

Tags

apiclientsdkrutube

###  Code Quality

TestsPHPUnit

### Embed Badge

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

```
[![Health](https://phpackages.com/badges/drnixx-php-rutube-client/health.svg)](https://phpackages.com/packages/drnixx-php-rutube-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)
