定制 gegirhasut/php-api-client 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

gegirhasut/php-api-client

Composer 安装命令:

composer require gegirhasut/php-api-client

包简介

PHP client for Rutube api (http://rutube.ru). Fork from (https://github.com/rutube/php-api-client).

README 文档

README

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version

Установка

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

composer require "gegirhasut/php-api-client"

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

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-урлы:
// :TODO: Не работали эти функции, не разбирался. Лучше пользоваться getVideo($video_id)
$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);

// Получить список плейлистов:
$playlists = $rutube->getPlayLists();

// Добавить видео в плейлист:
$video_id = $video->id;
$res = $rutube->addToPlayList($playlists->results[0]->id, [$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, то подключение библиотеки состоит из 2-х частей:

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

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

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

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

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

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

Пример авторизации с обработкой ошибок:

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

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

rutube.github.io/php-api-client

统计信息

  • 总下载量: 3
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 5
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-11-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固