Апельсинки › Разработчикам
Виджеты для сайтов
Кнопка «Поделиться»Виджет группыВиджет комментариевМои сайтыКонструктор
Приложения и игры
ОбзорАвторизация и подписьМетоды APIПлатежиКлиентская библиотекаМобильная версияКабинет разработчика
Прочее
Робот SvBot

Клиентская библиотека SVAPP

Подключите на странице приложения скрипт из параметра container (это http://apps.apelsinki.com/container.js). Библиотека читает параметры iframe, подписывает вызовы session_secret_key и ходит в API через JSONP — работает даже в Internet Explorer 5.5.

<script src="http://apps.apelsinki.com/container.js"></script>
<script>
SVAPP.call('users.getCurrentUser', {}, function (err, user) { if (!err) alert('Привет, ' + user.first_name); });
SVAPP.call('storage.set', { key: 'level', value: 5 });
SVAPP.invite([7, 15], 'Сыграем?', function (err, r) { /* r.sent */ });
SVAPP.publish('Я прошёл 5 уровень!', '', function (err, r) {});
SVAPP.pay(50, 'sword', 'Меч героя', function (err, r) { if (!err && r.status == 'ok') giveSword(); });
SVAPP.setProfilePhoto(120, function (err, r) { if (r.status == 'ok') alert('Фото стало главным'); });
SVAPP.resize(900);   // высота iframe
</script>
ВызовОписание
SVAPP.params, SVAPP.viewerIdпараметры iframe
SVAPP.call(method, params, cb)любой метод; cb(error, response)
SVAPP.invite(uids, text, cb)приглашения
SVAPP.publish(message, url, cb)запись в ленту
SVAPP.pay(amount, code, name, cb)окно оплаты; cb(err, {payment_id, status: 'ok'|'cancel'})
SVAPP.setProfilePhoto(pid, cb)окно «Сделать главным» с фото пользователя pid (только его собственное фото, нужно право PHOTO_CONTENT); решает пользователь; cb(err, {pid, status: 'ok'|'cancel'})
SVAPP.resize(height)изменить высоту iframe на странице
SVAPP.sign(params, secret), SVAPP.md5(s)служебные

Секрет сессии виден в браузере пользователя — это нормально: он действует только для этого пользователя и 24 часа. application_secret в браузер передавать нельзя.