Описание RuTube JS API

advertisement
Описание RuTube JS API
Содержание
Введение ............................................................................................................................................................................................................................... 2
Архитектура .......................................................................................................................................................................................................................... 3
Режимы работы .................................................................................................................................................................................................................... 5
1. Список роликов ............................................................................................................................................................................................................ 5
2. Ролик ........................................................................................................................................................................................................................... 11
3. Список категорий ....................................................................................................................................................................................................... 14
4. Список тэгов ............................................................................................................................................................................................................... 16
5. Форма закачки ролика ............................................................................................................................................................................................... 18
6. Форма записи ролика с вебкамеры........................................................................................................................................................................... 20
7. Список «связанных» роликов ................................................................................................................................................................................... 22
8. Комментарии к ролику .............................................................................................................................................................................................. 27
9. Добавление комментариев к ролику ........................................................................................................................................................................ 29
10. Список плейлистов .................................................................................................................................................................................................. 30
Введение
Кому это нужно? Если Вы владелец веб-сайта, например, игрового портала, сайта о кино, животных, авто портала, сайта о недвижимости, и
хотите добавить видео раздел, где пользователи могли бы закачивать свое видео, искать нужные ролики и смотреть их, - наша партнерская
программа для Вас.
Зачем это нужно? Прошли те времена, когда для просмотра видео надо было скачать огромный файл, установить десяток кодеков и плеер.
Сейчас видео можно смотреть прямо на вашем сайте, и это очень просто. Хотите повысить интерес пользователей к своему ресурсу? Видео
раздел - шаг в правильном направлении!
Сколько это стоит? Бесплатно.
Дело в том, что для создания собственного видео-сайта или раздела требуется не так уж и много. Достаточно начальных знаний HTML и
CSS. Чтобы убедиться в этом вы можете прямо сейчас скачать демо-версию сайта, работающего на нашем API
( http://rutube.ru/apidemo/default/site.zip ), выложить ее на любом сервере, затем внести коррективы в HTML-код страниц и файл с описанием
CSS-стилей, чтобы конечный сайт соответствовал вашему дизайну, и вы становитесь обладателем нового видео-ресурса.
Если вы хотите интегрировать видео-раздел или некоторые ролики в уже действующий сайт, попробуйте скопировать нужные блоки
javascript-кода из демо-версии сайта и вставьте их в соответствующие страницы вашего ресурса. Подробную информацию о значении
каждого из блоков, а также параметров передаваемых в каждом случае вы можете получить из этого документа. Для этого необязательно
знакомиться с архитектурой системы, поэтому рекомендуем вам сразу перейти к разделу «Режимы работы»
В случае, если возможностей HTML, CSS, а также javascript-параметров недостаточно для полноценной интеграции, рекомендуем
внимательно ознакомиться со всеми разделами этого документа. Вы можете изменить под свои нужды практически любые блоки,
вставляемые с помощью javascript, но в этом случае необходимо знание этого языка (на начинающем уровне).
Внимание! Вы всегда можете посмотреть пример сайта, работающего с помощью javascript API, по следующему адресу:
http://rutube.ru/apidemo/default
Архитектура
Архитектуру системы проще всего продемонстрировать на реальных примерах. На диаграмме, приведенной на следующей странице,
показаны все этапы обработки запроса на размещение ролика на странице http://yoursite.ru/movie.html?rt_movie_id=1234
В первую очередь на вашей странице выставляются параметры запроса и непосредственно его тело <script
src=”http://rutube.ru/js/api.js”></script>, затем api.js, расположенный на сайте rutube.ru микширует параметры, переданные ему в URL и в
jsvascript, причем приоритет отдается параметрам из URL, таким образом вы можете в тексте страницы определять константы и значения
параметров по умолчанию, а в URL передавать изменяемые параметры. Затем api.js адресует запрос к jsapi.cgi скрипту на сайте rutube.ru,
который, взаимодействуя с базой данных, выставляет значение переменной track (объект класса Ролик, см. ниже) и, если на вашем сайте не
определена функция rt_show_movie, выполняет функцию rt_show_movie_default, передавая в качестве параметра переменную track. Если
rt_show_movie описана на вашем сайте, она будет вызвана с параметром track.
Страница вашего сайта: http://yoursite.ru/movie.html?rt_movie_id=1234
<script>
rt_mode = “movie”;
rt_movies_link = “movies.html”;
</script>
<script src=”http://rutube.ru/js/api.js”></script>
<script>
function rt_show_movie(t) {
…
}
</script>
Страница rutube.ru: http://rutube.ru/js/api.js
<script
src=”http://rutube.ru/cgi-bin/jsapi.cgi?rt_mode=movie
&rt_movies_link=movie.html
&rt_move_id=1234”>
</script>
Скрипт rutube.ru: http://rutube.ru/cgi-bin/jsapi.cgi
function rt_show_movie_default(t) {
…
}
var track = { id: 1234, title: … };
rt_show_movie = (typeof rt_show_movie != “function”)? rt_show_movie_default : rt_show_movie;
rt_show_movie(track)
Режимы работы
1. Список роликов
В этом режиме вы можете получить список роликов с полной информацией о них, сделать выборку и отсортировать ее по определенным
критериям, а также разбить полученный список роликов на страницы, если это необходимо.
Режим «список роликов» включается путем присваивания параметру rt_mode значения «movies». Ниже приведены остальные параметры,
используемые в режиме списка роликов:
Наименование
параметра
rt_developer_key
rt_category
rt_tag
rt_date
rt_term
Возможные значения
Ключ, полученный вами на
сайте
Целое число (от 1 до 22),
соответствующее
идентификатору категории на
сайте rutube.ru
(Список категорий доступен в
режиме «categories»)
Целое неотрицательное число,
соответствующее
идентификатору тэга на сайте
rutube.ru (Список тэгов
доступен в режиме «tags»)
Дата в формате yyyy-mm-dd
или yyyymmdd, где yyyy – год,
mm – месяц, dd – день
today, this_week, this_month
Значение по
Описание параметра
умолчанию
В случае если параметру присвоено значение ключа, выданного
вам на сайте, в список роликов будут включены только файлы,
закачанные под вашим аккаунтом. В противном случае – все
ролики
В случае если параметру присвоено некоторое значение в список
будут включены только ролики из соответствующей категории
-
В случае если параметру присвоено некоторое значение в список
будут включены только ролики, помеченные соответствующим
тэгом
-
В случае если параметру присвоено некоторое значение в список
будут включены только ролики, закачанные в этот
соответствующий день
В случае если параметру присвоено значение today, в список будут
включены ролики за прошедшие 24 часа, this_week – за прошедшие
-
rt_hide_abused
1 или 0
0
rt_sort_by
views, rating или date
date
rt_page
Целое неотрицательное число
0
rt_count
rt_pager_width
Целое неотрицательное число
Целое неотрицательное число
12
7
rt_movies_link
URL относительный или
абсолютный
movies.html
rt_movie_link
URL относительный или
абсолютный
Целое положительное число,
соответствующее
идентификатору плейлиста на
сайте
movie.html
rt_playlist_id
-
семь дней, this_month – за прошедшие 30 дней
Если параметру присвоено значение «1» в список не будут
включены ролики из категории «Эротика»
Критерий сортировки роликов: views – по количеству просмотров,
rating – по рейтингу ролика, date – по дате закачки ролика
В случае если список роликов занимает несколько страниц,
параметр определяет номер показываемой (текущей) страницы
Параметр определяет количество роликов на странице
В случае если список роликов занимает несколько страниц,
параметр определяет количество выводимых ссылок на страницы
Ссылка на страницу со списком роликов на вашем сайте.
Необходима, например, для формирования ссылки на список
роликов из той же категории
Ссылка на страницу просмотра ролика на вашем сайте.
Необходима, для формирования ссылок на просмотр роликов
В случае если параметру присвоено некоторое значение в список
будут включены только ролики, из соответствующего плейлиста
Пример запроса, возвращающего список из 10 самых популярных роликов из категории Юмор, приколы за прошедшие сутки:
<script>
rt_mode = “movies”;
rt_term = “today”;
rt_category = 19;
rt_count = 10;
rt_sort_by = “views”;
</script>
<script src=”http://rutube.ru/js/api.js”></script>
Если полученный результат не вполне соответствует нуждам вашего ресурса, вы можете определить в теле страницы javascript функцию
rt_show_movies(t, p). Первый параметр функции – массив роликов, второй – пейджер (объект, содержащий информацию о
страницах). Ниже приведены методы объекта Ролик из массива t и методы объекта Пейджер из переменной p.
Методы объекта Ролик
Метод
title
size
duration
recordDate
hits
rating
votes
numberOfComments
author
description
categoryName
categoryLink
movieLink
thumbnailLink
thumbnailSmallLink
thumbnailMediumLink
download3GPLink
downloadSrcLink
downloadSrcWithoutExtensionLink
playerLink
playerCode
playerCodeToShare
Описание метода
Наименование ролика
Размер ролика
Продолжительность ролика
Дата закачки ролика
Количество просмотров ролика
Рейтинг ролика
Количество проголосовавших за рейтинг ролика
Количество комментариев к ролику
Автор ролика (его ник)
Описание ролика
Название категории, к которой отнесен ролик
Ссылка на список роликов из категории, к которой отнесен ролик
Ссылка на страницу воспроизведения ролика
URL тумбнейла ролика (385x240)
URL тумбнейла ролика (65х49)
URL тумбнейла ролика (100х75)
Ссылка на ролик в 3gp формате (для мобильных телефонов)
Ссылка на оригинал ролика
Ссылка на оригинал ролика без расширения
URL файла с роликом во флэш-формате
Встраиваемый код плеера с роликом
Код плеера с роликом, не содержащий html-тэгов
Методы объекта Пейджер
Методы
numberOfPages
currentPage
pageSize
pagerWidth
Описание метода
Количество страниц со списком роликов
Текущая страница (rt_page)
Количество роликов на одной странице (rt_count)
Количество выводимых ссылок на страницы (rt_pager_width)
Ниже приведен пример реализации такой функции по умолчанию:
function rt_show_movies_default(t, p) {
var pager = '';
var referer = document.location.href;
var link = referer.replace(/&?rt_page=\d*/, '');
if (link.indexOf('?') > -1)
link += '&rt_page=';
else
link += '?rt_page=';
document.write('<h3 class="page_title">' + rt_page_title + '</h3>');
if (p.numberOfPages > 1) {
pager += '<div class="pager">'
var from = 0;
var upto = 0;
var visibleWin = p.pagerWidth;
var half = Math.floor(visibleWin / 2);
from = p.currentPage - half;
if (from < 0)
from = 0;
upto = from + visibleWin;
if (upto > p.numberOfPages)
upto = p.numberOfPages;
if (upto - from < visibleWin)
from = upto - visibleWin;
if (from < 0)
from = 0;
for (var i = from; i < upto; i++) {
if (p.currentPage == i)
pager += '<span class="selected">' + (i+1) + '</span> ';
else
pager += '<a href="' + link + i + '">' + (i+1) + '</a> ';
}
pager += '</div>';
document.write(pager);
}
if (t.length > 0) {
document.write('<table class="tracklist">');
for(var i = 0; i < t.length; i++) {
if ((i % 2) == 0)
document.write('<tr>');
document.write(
'<td><a href="' + t[i].movieLink + '"><img src="' + t[i].thumbnailMediumLink + '"
border="0"/></a></td>'+
'<td><div class="added">Добавлено:' + t[i].recordDate + '</div>' +
'<div class="title">' + t[i].title + '</div><div class="size">' + t[i].duration +
' (' + t[i].size + ')</div><div class="author">' + t[i].author + '</div></td>');
if ((i % 2) != 0)
document.write('</tr>');
}
document.write('</table>');
}
if (p.numberOfPages > 1)
document.write(pager);
}
2. Ролик
В этом режиме вы можете получить информацию о любом ролике, вывести для него плеер и другие атрибуты.
Режим «ролик» включается путем присваивания параметру rt_mode значения «movie». Ниже приведены остальные параметры,
используемые в режиме ролика:
Наименование
Возможные значения
Значение по
Описание параметра
параметра
умолчанию
rt_developer_key
Ключ, полученный вами на
В случае если параметру присвоено значение ключа, выданного
сайте
вам на сайте, вы сможете получить доступ только к роликам,
закачанным с вашего аккаунта. При попытке доступа к другим
роликам будет возвращено сообщение «Запрошенный вами ролик
не существует». Если параметр не выставлен, вы получаете
доступ ко всем роликам с сайта rutube.ru
rt_movie_id
Целое положительное число, Обязательный параметр, определяющий о каком ролике должна
соответствующее
быть возвращена информация (какой ролик будет воспроизведен
идентификатору ролика на
в плеере). Как правило, передается в URL’е, например
сайте
movie.html?rt_movie_id=1234
rt_hide_abused
1 или 0
0
Если параметру присвоено значение «1», то при запросах
(попытках воспроизведения) роликов из категории «Эротика»
будет возвращено сообщение «Запрошенный вами ролик не
существует»
rt_movies_link
URL относительный или
movies.html
Ссылка на страницу со списком роликов на вашем сайте.
абсолютный
Необходима, например, для формирования ссылки на список
роликов из той же категории
rt_autoplay
1 или 0
0
Если параметру присвоено значение «1», то при посещении
страницы пользователем плеер автоматически начнет
проигрывать ролик
rt_fullscreen
1 или 0
0
Если параметру присвоено значение «1», то на плеере появится
кнопка для проигрывания ролика в режиме full screen
Пример запроса, возвращающего информацию о ролике 1234:
<script>
rt_mode = “movie”;
rt_movie_id = 1234;
rt_movies_link = “movies.html”;
</script>
<script src=”http://rutube.ru/js/api.js”></script>
Если полученный результат не вполне соответствует нуждам вашего ресурса, вы можете определить в теле страницы javascript функцию
rt_show_movie(t). Первый и единственный параметр функции – объект Ролик, содержащий информацию о ролике.
Методы объекта Ролик
Метод
title
size
duration
recordDate
hits
rating
votes
numberOfComments
author
description
categoryName
categoryLink
movieLink
thumbnailLink
thumbnailSmallLink
thumbnailMediumLink
download3GPLink
downloadSrcLink
downloadSrcWithoutExtensionLink
playerLink
playerCode
playerCodeToShare
Описание метода
Наименование ролика
Размер ролика
Продолжительность ролика
Дата закачки ролика
Количество просмотров ролика
Рейтинг ролика
Количество проголосовавших за рейтинг ролика
Количество комментариев к ролику
Автор ролика (его ник)
Описание ролика
Название категории, к которой отнесен ролик
Ссылка на список роликов из категории, к которой отнесен ролик
Ссылка на страницу воспроизведения ролика
URL тумбнейла ролика (385x240)
URL тумбнейла ролика (65х49)
URL тумбнейла ролика (100х75)
Ссылка на ролик в 3gp формате (для мобильных телефонов)
Ссылка на оригинал ролика
Ссылка на оригинал ролика без расширения
URL файла с роликом во флэш-формате
Встраиваемый код плеера с роликом
Код плеера с роликом, не содержащий html-тэгов
Ниже приведен пример реализации такой функции по умолчанию:
function rt_show_movie_default(t) {
var out = '';
//
out += t.playerCode;
out += '<object height="335" width="400"><param name="movie" value="' + t.playerLink + '"><param
name="wmode" value="transparent"><embed src="' + t.playerLink + '" type="application/x-shockwaveflash" wmode="transparent" height="335" width="400"></object>'
out += '<table class="movie_info">' +
'<tr><td class="main_info">' +
'<h3>' + t.title + '</h3>' +
'Режиссер: ' + t.author + '<br/>' +
'Закачано: ' + t.recordDate + '<br/>' +
'Рубрика <a href="' + t.categoryLink + '">' + t.categoryName + '</a><br/>' +
'Описание:<br/> ' + t.description + '<br/>' +
'</td><td class="additional_info">' +
'Рейтинг: ' + Math.round(t.rating) + '<br/>' +
'Голосов: ' + t.votes + '<br/>' +
'Просмотров: <span id="hits">' + t.hits + '</span><br/>' +
'</td></tr>'+
'<tr><td class="share_info" colspan="2">'+
'Ссылка:<br/><input name="link" style="width: 370px;" value="' + t.movieLink + '"/><br/>' +
'HTML-код:<br/><input name="code" style="width: 370px;" value="' + t.playerCodeToShare + '"/>'
+
'</td><tr></table>'
document.write(out);
};
3. Список категорий
В этом режиме вы можете получить список категорий с сайта rutube.ru с ссылками на соответствующие каждой категории списки
роликов и количеством роликов в каждой категории
Режим «список категорий» включается путем присваивания параметру rt_mode значения «categories». Ниже приведены остальные
параметры, используемые в режиме списка категорий:
Наименование
параметра
rt_developer_key
rt_movies_link
Возможные значения
Ключ, полученный вами на
сайте
URL относительный или
абсолютный
Значение по
умолчанию
-
movies.html
Описание параметра
В случае если параметру присвоено значение ключа, выданного
вам на сайте, в список роликов будут включены только те
категории, в которых у вас имеются ролики, закачанные вами. В
противном случае – все категории
Ссылка на страницу со списком роликов на вашем сайте.
Необходима, например, для формирования ссылки на список
роликов из той же категории
Пример запроса, возвращающего список категорий
<script>
rt_mode = “categories”;
rt_movies_link = “movies.html”;
</script>
<script src=”http://rutube.ru/js/api.js”></script>
Если полученный результат не вполне соответствует нуждам вашего ресурса, вы можете определить в теле страницы javascript функцию
rt_show_categories(c). Первый и единственный параметр функции – массив объектов Категория, содержащих информацию о
категориях сайта rutube.ru.
Методы объекта Категория
Метод
id
Описание метода
Числовой идентификатор категории
name
link
numberOfMovies
active
Наименование категории
Ссылка на список роликов из этой категории
Количество роликов в категории
Параметр принимает значение 1, если в данный момент выбрана эта
категория (rt_category совпадает с идентификатором категории)
Ниже приведен пример реализации такой функции по умолчанию:
function rt_show_categories_default(c) {
if (c.length > 0) {
for(var i = 0; i < c.length; i++) {
if (c[i].active == "0")
document.write('<a href="' + c[i].link + '">' + c[i].name + '</a> (' +
c[i].numberOfMovies + ')<br/>');
else {
document.write('<div id="active_category">' + c[i].name + ' (' + c[i].numberOfMovies
+ ')</div>');
}
}
}
}
4. Список тэгов
В этом режиме вы можете получить отформатированное соответствующим образом облако тэгов с сайта rutube.ru с ссылками на
соответствующие каждому тэгу списки роликов.
Режим «список тэгов» включается путем присваивания параметру rt_mode значения «tags». Ниже приведены остальные параметры,
используемые в режиме списка тэгов:
Наименование
параметра
rt_developer_key
rt_min_font
rt_max_font
rt_count
rt_movies_link
Возможные значения
Ключ, полученный вами на
сайте
Положительное целое число
Положительное целое число
Положительное целое число
URL относительный или
абсолютный
Значение по
умолчанию
-
11
23
70
movies.html
Описание параметра
В случае если параметру присвоено значение ключа, выданного
вам на сайте, в список роликов будут включены только тэги,
присвоенные вашим роликам. В противном случае – все тэги
Минимальный размер шрифта в облаке тэгов
Максимальный размер шрифта в облаке тэгов
Количество тэгов в облаке
Ссылка на страницу со списком роликов на вашем сайте.
Необходима, для формирования ссылки на список роликов,
помеченных этим тэгом
Пример запроса, возвращающего облако из 50 тэгов, с размерами шрифта от 12 до 24:
<script>
rt_mode = “tags”;
rt_min_font = 12;
rt_max_font = 24;
rt_count = 50;
rt_movies_link = “movies.html”;
</script>
<script src=”http://rutube.ru/js/api.js”></script>
Если полученный результат не вполне соответствует нуждам вашего ресурса, вы можете определить в теле страницы javascript функцию
rt_show_tags(t). Первый и единственный параметр функции – массив объектов Тэг, содержащих информацию о тэгах сайта rutube.ru.
Методы объекта Тэг
Метод
id
name
link
fontSize
active
Описание метода
Числовой идентификатор тэга
Наименование тэга
Ссылка на список роликов, помеченных этим тэгом
Размер шрифта для тэга в облаке тэгов
Параметр принимает значение 1, если в данный момент выбран этот
тэг (rt_tag совпадает с идентификатором тэга)
Ниже приведен пример реализации такой функции по умолчанию:
function rt_show_tags_default(t) {
if (t.length > 0) {
for(var i = 0; i < t.length; i++) {
if (t[i].active == "0")
document.write('<a href="' + t[i].link + '" style="font-size: ' + t[i].fontSize +
'">' + t[i].name + '</a> ');
else
document.write('<span id="active_tag" style="font-size: ' + t[i].fontSize + '">' +
t[i].name + '</span> ');
}
}
}
5. Форма закачки ролика
В этом режиме разработчику будет возвращена форма для добавления ролик на сайт со всеми необходимыми полями.
Режим «форма закачки ролика» включается путем присваивания параметру rt_mode значения «upload». Ниже приведены остальные
параметры, используемые в режиме формы закачки ролика:
Наименование
параметра
rt_developer_key
Возможные значения
rt_enc
Ключ, полученный вами на
сайте
URL относительный или
абсолютный
URL относительный или
абсолютный
CP1251, UTF-8 или koi8r
rt_category
целое число от 1 до 22
rt_redirect_ok
rt_redirect_error
rt_playlists_as_categories 0 или 1
Значение по
умолчанию
ok.html
error.html
koi8r
-
0
Описание параметра
Обязательный параметр. Определяет, кто будет автором
закачанного ролика.
URL страницы, на которую попадет пользователь в случае
успешной закачки ролика
URL страницы, на которую попадет пользователь в случае
ошибки, произошедшей во время закачки ролика
Если на сайте используется кодировка Windows-1251, присвойте
параметру значение CP1251, чтобы название и описание
закачиваемого ролика корректно отображалось на сайте. В
противном случае (если вы пользуетесь KOI8-r кодировкой) вы
можете опустить этот параметр
Если параметру присвоено какое-либо значение на форме закачки
ролика не будет появляться выпадающий список с категориями, а
ролик будет добавлен в категорию заданную в параметре
Если параметру присвоено значение «1» на форме закачки ролика
вместо выпадающего списка с категориями появится
выпадающий список с вашими плейлистами. Таким образом,
пользуясь параметрами rt_category и rt_playlists_as_categories вы
можете эмулировать свои собственные категории, создавая
соответствующие плейлисты
Для разработчиков, которым необходимо проследить дальнейшую судьбу закачанного ролика или внести информацию о ролике в базу
данных, рекомендуем делать rt_redirect_ok страницу cgi-скриптом, так как этому скрипту будет возвращен параметр rt_movie_id,
являющийся фактическим идентификатором ролика на сайте rutube.ru
Пример блока вставляющего форму закачки ролика:
<script>
rt_mode = “upload”;
rt_developer_key = “d8e8fca2dc0f896fd7cb4cb0031ba249”;
rt_redirect_ok = “ok.html”;
rt_redirect_error = “error.html”;
rt_enc = “CP1251”;
</script>
<script src=”http://rutube.ru/js/api.js”></script>
6. Форма записи ролика с вебкамеры
В этом режиме разработчику будет возвращена форма для записи ролика с вебкамеры.
Режим «форма записи ролика с вебкамеры» включается путем присваивания параметру rt_mode значения «record». Ниже приведены
остальные параметры, используемые в режиме формы записи ролика с вебкамеры:
Наименование
параметра
rt_developer_key
rt_redirect_ok
rt_redirect_error
rt_enc
Возможные значения
Ключ, полученный вами на
сайте
URL относительный или
абсолютный
URL относительный или
абсолютный
CP1251, UTF-8 или koi8r
Значение по
умолчанию
ok.html
error.html
koi8r
Описание параметра
Обязательный параметр. Определяет, кто будет автором
записанного ролика.
URL страницы, на которую попадет пользователь в случае
успешной записи ролика
URL страницы, на которую попадет пользователь в случае
ошибки, произошедшей во время записи ролика
Если на сайте используется кодировка Windows-1251, присвойте
параметру значение CP1251, чтобы название и описание
записываемого ролика корректно отображалось на сайте. В
противном случае (если вы пользуетесь KOI8-r кодировкой) вы
можете опустить этот параметр
Пример блока, вставляющего форму записи ролика с вебкамеры:
<script>
rt_mode = “record”;
rt_developer_key = “d8e8fca2dc0f896fd7cb4cb0031ba249”;
rt_redirect_ok = “ok.html”;
rt_redirect_error = “error.html”;
rt_enc = “CP1251”;
</script>
<script src=”http://rutube.ru/js/api.js”></script>
7. Список «связанных» роликов
В этом режиме вы можете получить список роликов «связанных» с определенным роликом (релевантных). На данный момент таковыми
считаются ролики, помеченные тем же тэгом, а в случае отсутствия таковых – ролики из той же категории. Сортировка в этом случается
осуществляется по релевантности. В дальнейшем алгоритмы определения релевантных роликов будут совершенствоваться, например, поиск
роликов будет осуществляться по большому количеству критериев, а также, будут исключаться ролики, отсмотренные пользователем.
«Связанные» ролики, как правило, предлагаются пользователю после просмотра, выбранного им ролика.
Режим «список связанных роликов» включается путем присваивания параметру rt_mode значения «related». Ниже приведены остальные
параметры, используемые в режиме списка связанных роликов:
Наименование
параметра
rt_developer_key
Возможные значения
Ключ, полученный вами на
сайте
rt_page
Целое положительное число,
соответствующее
идентификатору ролика на
сайте
Целое неотрицательное число
rt_count
rt_pager_width
Целое неотрицательное число
Целое неотрицательное число
rt_movies_link
URL относительный или
абсолютный
rt_movie_link
URL относительный или
абсолютный
rt_movie_id
Значение по
Описание параметра
умолчанию
В случае если параметру присвоено значение ключа, выданного
вам на сайте, в список роликов будут включены только файлы,
закачанные под вашим аккаунтом. В противном случае – все
«связанные» ролики
Обязательный параметр, определяющий к какому ролику будет
выведен список «связанных» роликов. Как правило, передается в
URL’е, например
movie.html?rt_movie_id=1234
0
В случае если список роликов занимает несколько страниц,
параметр определяет номер показываемой (текущей) страницы
12
Параметр определяет количество роликов на странице
7
В случае если список роликов занимает несколько страниц,
параметр определяет количество выводимых ссылок на страницы
movies.html Ссылка на страницу со списком роликов на вашем сайте.
Необходима, например, для формирования ссылки на список
роликов из той же категории
movie.html
Ссылка на страницу просмотра ролика на вашем сайте.
Необходима, для формирования ссылок на просмотр роликов
rt_hide_abused
1 или 0
0
Если параметру присвоено значение «1» в список не будут
включены ролики из категории «Эротика»
Пример запроса, возвращающего список из 10 роликов, связанных по тематики с роликом 1234:
<script>
rt_mode = “related”;
rt_movie_id = 1234;
rt_movie_link = “movie.html”;
rt_movies_link = “movies.html”;
</script>
<script src=”http://rutube.ru/js/api.js”></script>
Если полученный результат не вполне соответствует нуждам вашего ресурса, вы можете определить в теле страницы javascript функцию
rt_show_movies(t, p). Первый параметр функции – массив роликов, второй – пейджер (объект, содержащий информацию о
страницах). Ниже приведены методы объекта Ролик из массива t и методы объекта Пейджер из переменной p.
Методы объекта Ролик
Метод
title
size
duration
recordDate
hits
author
description
categoryName
categoryLink
movieLink
thumbnailLink
thumbnailSmallLink
Описание метода
Наименование ролика
Размер ролика
Продолжительность ролика
Дата закачки ролика
Количество просмотров ролика
Автор ролика (его ник)
Описание ролика
Название категории, к которой отнесен ролик
Ссылка на список роликов из категории, к которой отнесен ролик
Ссылка на страницу воспроизведения ролика
URL тумбнейла ролика (385x240)
URL тумбнейла ролика (65х49)
thumbnailMediumLink
download3GPLink
downloadSrcLink
downloadSrcWithoutExtensionLink
URL тумбнейла ролика (100х75)
Ссылка на ролик в 3gp формате (для мобильных телефонов)
Ссылка на оригинал ролика
Ссылка на оригинал ролика без расширения
Методы объекта Пейджер
Методы
numberOfPages
currentPage
pageSize
pagerWidth
Описание метода
Количество страниц со списком роликов
Текущая страница (rt_page)
Количество роликов на одной странице (rt_count)
Количество выводимых ссылок на страницы (rt_pager_width)
Ниже приведен пример реализации такой функции по умолчанию:
function rt_show_movies_default(t, p) {
var pager = '';
var referer = document.location.href;
var link = referer.replace(/&?rt_page=\d*/, '');
if (link.indexOf('?') > -1)
link += '&rt_page=';
else
link += '?rt_page=';
document.write('<h3 class="page_title">' + rt_page_title + '</h3>');
if (p.numberOfPages > 1) {
pager += '<div class="pager">'
var from = 0;
var upto = 0;
var visibleWin = p.pagerWidth;
var half = Math.floor(visibleWin / 2);
from = p.currentPage - half;
if (from < 0)
from = 0;
upto = from + visibleWin;
if (upto > p.numberOfPages)
upto = p.numberOfPages;
if (upto - from < visibleWin)
from = upto - visibleWin;
if (from < 0)
from = 0;
for (var i = from; i < upto; i++) {
if (p.currentPage == i)
pager += '<span class="selected">' + (i+1) + '</span> ';
else
pager += '<a href="' + link + i + '">' + (i+1) + '</a> ';
}
pager += '</div>';
document.write(pager);
}
if (t.length > 0) {
document.write('<table class="tracklist">');
for(var i = 0; i < t.length; i++) {
if ((i % 2) == 0)
document.write('<tr>');
document.write(
'<td><a href="' + t[i].movieLink + '"><img src="' + t[i].thumbnailMediumLink + '"
border="0"/></a></td>'+
'<td><div class="added">Добавлено:' + t[i].recordDate + '</div>' +
'<div class="title">' + t[i].title + '</div><div class="size">' + t[i].duration +
' (' + t[i].size + ')</div><div class="author">' + t[i].author + '</div></td>');
if ((i % 2) != 0)
document.write('</tr>');
}
document.write('</table>');
}
if (p.numberOfPages > 1)
document.write(pager);
}
8. Комментарии к ролику
В этом режиме вы можете получить список комментариев к ролику.
Режим «комментарии к ролику» включается путем присваивания параметру rt_mode значения «comments». Ниже приведены остальные
параметры, используемые в режиме комментариев к ролику:
Наименование
параметра
rt_movie_id
Возможные значения
Целое положительное число,
соответствующее
идентификатору ролика на
сайте
Значение по
Описание параметра
умолчанию
Обязательный параметр, определяющий к какому ролику будет
выведен список комментариев. Как правило, передается в URL’е,
например
movie.html?rt_movie_id=1234
Пример запроса, выводящего комментарии к ролику 1234:
<script>
rt_mode = “comments”;
rt_movie_id = 1234;
</script>
<script src=”http://rutube.ru/js/api.js></script>
Если полученный результат не вполне соответствует нуждам вашего ресурса, вы можете определить в теле страницы javascript функцию
rt_show_comments(c). Первый и единственный параметр функции – массив комментариев. Ниже приведены методы объекта
Комментарий из массива c.
Методы объекта Комментарий
Метод
level
author
date
text
deleted
Ниже приведен пример реализации такой функции по умолчанию:
Описание метода
Уровень комментария 0, 1 и т.д.
Ник автора комментария на rutube.ru
Дата написания комментария
Текст комментария
Возвращает 1, если комментарий удален
function rt_show_comments_default(c) {
if (c.length > 0) {
for(var i = 0; i < c.length; i++) {
if (c[i].deleted == 1)
continue;
document.write('<b>[' + c[i].author + ']</b> ' + c[i].date + '<br/>' + c[i].text +
'<hr/>');
}
}
}
9. Добавление комментариев к ролику
В этом режиме разработчику будет возвращена форма для добавления комментариев к ролику.
Режим «форма добавления комментариев к ролику» включается путем присваивания параметру rt_mode значения «add_comment». Ниже
приведены остальные параметры, используемые в этом режиме:
Наименование
параметра
rt_developer_key
rt_redirect_ok
rt_redirect_error
rt_enc
Возможные значения
Ключ, полученный вами на
сайте
URL относительный или
абсолютный
URL относительный или
абсолютный
CP1251, UTF-8 или koi8r
Значение по
умолчанию
ok.html
error.html
koi8r
Описание параметра
Обязательный параметр. Определяет, кто будет автором
комментария на rutube.ru.
URL страницы, на которую попадет пользователь в случае
успешного добавления комментария. Чтобы вернуться на ту же
страницу можно использовать document.location.href
URL страницы, на которую попадет пользователь в случае
ошибки, произошедшей во время комментирования ролика
Если на сайте используется кодировка Windows-1251, присвойте
параметру значение CP1251, чтобы комментарий был сохранен в
правильной кодировке. В противном случае (если вы пользуетесь
KOI8-r кодировкой) вы можете опустить этот параметр
Пример блока, вставляющего форму для комментирования ролика 1234:
<script>
rt_mode = “add_comment”;
rt_developer_key = “d8e8fca2dc0f896fd7cb4cb0031ba249”;
rt_redirect_ok = document.location.href;
rt_redirect_error = “error.html”;
rt_movie_id = “1234”;
rt_enc = “CP1251”;
</script>
<script src=”http://rutube.ru/js/api.js”></script>
10. Список плейлистов
В этом режиме вы можете получить список своих плейлистов на сайте rutube.ru.
Режим «список плейлистов» включается путем присваивания параметру rt_mode значения «playlists». Ниже приведены остальные
параметры, используемые в режиме списка плейлистов:
Наименование
параметра
rt_developer_key
rt_movies_link
Возможные значения
Ключ, полученный вами на
сайте
URL относительный или
абсолютный
Значение по
Описание параметра
умолчанию
В случае если параметру присвоено значение ключа, выданного
вам на сайте, в список роликов будут включены только те
категории, в которых у вас имеются ролики, закачанные вами. В
противном случае – все категории
movies.html Ссылка на страницу со списком роликов на вашем сайте.
Необходима, например, для формирования ссылки на список
роликов из той же категории
Пример запроса, выводящего комментарии к ролику 1234:
<script>
rt_mode = “playlists”;
rt_developer_key = “d8e8fca2dc0f896fd7cb4cb0031ba249”;
rt_movies_link = “movies.html”;
</script>
<script src=”http://rutube.ru/js/api.js></script>
Если полученный результат не вполне соответствует нуждам вашего ресурса, вы можете определить в теле страницы javascript функцию
rt_show_playlists(p). Первый и единственный параметр функции – массив объектов Плейлист, содержащих информацию о
плейлистах.
Методы объекта Плейлист
Метод
id
Описание метода
Числовой идентификатор плейлиста
name
description
link
numberOfMovies
creationDate
active
Наименование плейлиста
Описание плейлиста
Ссылка на список роликов из этого плейлиста
Количество роликов в плейлисте
Дата создания плейлиста
Параметр принимает значение 1, если в данный момент выбран этот
плейлист (rt_playlist_id совпадает с идентификатором плейлиста)
Ниже приведен пример реализации такой функции по умолчанию:
function rt_show_playlists_default(p) {
if (p.length > 0) {
for(var i = 0; i < p.length; i++) {
if (p[i].active == "0")
document.write('<a href="' + p[i].link + '">' + p[i].name + '</a> (' +
p[i].numberOfMovies + ')<br/>');
else
document.write('<div id="active_playlist">' + p[i].name + ' (' + p[i].numberOfMovies
+ ')</div>');
}
}
}
Download