Введение
Сегодня в небольшой статье я покажу как можно сделать запрос прав у пользователя для приложения в одноклассниках. При установке приложения у пользователя сразу запрашиваются права, если в настройках приложения это задано. Но бывает такое, что приложение развивается и дописывается новый функционал, который затрагивает моменты, нуждающиеся в дополнительных правах. И даже если поменять в настройках запрос прав, то пользователи, которые ранее установили приложение не увидят окно запроса прав, поскольку оно появляется только при первой установке приложения. Поэтому необходимо руками, в коде, сделать запрос прав. Чтобы окно постоянно не появлялось, сначала нужно осуществить проверку, дал пользователь доступ или нет. В случаее если разрешение уже получено, ни чего не будем делать, а если еще нет, то выведем окно с просьбой разрешить использовать какие-то данные или выполнять необходимые нам действия.
Запрос прав у пользователя для приложения в одноклассниках. Код
Код напишем на java script, сначала проверим права
// var permissionStatus = "PUBLISH_TO_STREAM"; // Публиковать события в ленту активности без подтверждения от пользователя // var permissionStatus = "PHOTO_CONTENT"; // Доступ записи в фотографии и альбомы пользователя // var permissionStatus = "SET_STATUS"; // Изменение статуса пользователя var permissionStatus = "MESSAGING"; // Доступ к отправке сообщений // функция проверки статуса прав function checkStatusPermission(permissionStatus) { // функция, которая выполнится после ответа апи var callback = function(status, result, data) { if (result){ alert("Права есть!"); } else { alert("Прав нет!"); } } FAPI.Client.call({"method":"users.hasAppPermission", "ext_perm":permissionStatus}, callback); }
А теперь код для запроса прав:
// вызов окна запроса прав у пользователя function setStatusPermission(permissionStatus) { FAPI.UI.showPermissions("[\"" + permissionStatus + "\"]"); }
Вот и все. Напоследок хочу сказать, что можно ловить ответ пользователя с помощью функция API_callback. Только одноклассника в любом случае возвращают результат «ОК», если пользователь дал доступ и если пользователь не дал доступ.