Мы предлагаем несколько возможностей для интеграции с внешними сайтами: плагины и глубокую интеграцию с использованием API. Плагины очень быстро и легко вставляются и начинают давать эффект, глубокая интеграция требует программирования, но имеет потенциал гораздо большего воздействия на ваш сайт и синергии с социальным вебом.
Подробности о плагинах читайте в гиде по социальным плагинам.
API предоставляет возможность интеграции с Моим Миром без продолжительной разработки. Мы реализовали на стороне Моего Мира функционал, который может пригодиться для вашего сайта: авторизацию, информацию о пользователе, отправка событий в «Что Нового» и т. п. Мы постарались сделать так, чтобы вы с минимальными усилиями смогли самостоятельно подключить эти возможности к вашему сайту.
Сейчас API для сайтов предоставляет следующие возможности всем подключившимся сайтам:
Вы также можете посмотреть тестовый сайт, использующий часть доступных функций.
Технически, API для сайтов представляет механизм для получения необходимых данных (сессии) для осуществления вызовов API приложений моего мира. То есть сначала надо получить сессию (это делается только через JavaScript библиотеку), а потом можно обращаться к API приложений любыми способами, как это делают приложения (используя JS, Perl, PHP или что-то еще).
Перед началом интеграции необходимо зарегистрировать сайт в моем мире. Это делается с помощью мастера регистрации сайта.
Для корректной работы API сайтов необходимо разместить файл receiver.html на вашем домене.
Прежде, чем использовать все остальные функции, пользователь должен быть залогинен. Это можно сделать только через JavaScript библиотеку, предоставляемую Mail.Ru. После логина вы можете продолжать использовать эту библиотеку для вызова методов API, осуществлять вызовы с вашего сервера или комбинировать подходы.
Факт подключения — это предоставление пользователем разрешения на доступ к его личной информации. Он требуется только один раз. После первого подтверждения коннект будет происходить автоматически если пользователь залогинен на Mail.Ru.
Используйте код <a class='mrc__connectButton'></a> для автоматического создания кнопки подключения к сайту.
Пример инициализации библиотеки и логина пользователя:
// этот небольшой скрипт создает минимальное окружение для библиотеки,
// но не загружает ее саму
<script type="text/javascript">
//вход@mail.ru').appendTo('body');
// эта функция превращает только что вставленный элемент в
// стандартную кнопку Mail.Ru
mailru.connect.initButton();
} else {
// все ок, можно работать
// получаем полную информацию о текущем пользователе
mailru.common.users.getInfo(function(result){console.log(result[0].uid)});
}
});
});
//]]>
</script>
После того, как пользователь залогинился, на вашем домене проставляется кука mrc, в которой есть все данные для использования API с вашего сервера. Пример разбора куки на PHP:
parse_str(urldecode($_COOKIE['mrc']));
Пример результата:
Array( [app_id] => 459441 [exp] => 1270806364 [ext_perm] => [is_app_user] => 1 [oid] => 1324730981306483817 [session_key] => 0b693783ca5ad2023d9aac4fa535a9a4 [ss] => d41d8cd98f00b204e9800998ecf8427e [state] => [vid] => 1324730981306483817 [sig] => 5069d4cc484d229b5a56ce39ed92037a )
Содержимое mrc идентично содержанию объекта mailru.session.
После логина вы можете использовать все функции JS API и REST API.