Введение
Сегодня в небольшой статье я покажу как можно сделать запрос прав у пользователя для приложения в одноклассниках. При установке приложения у пользователя сразу запрашиваются права, если в настройках приложения это задано. Но бывает такое, что приложение развивается и дописывается новый функционал, который затрагивает моменты, нуждающиеся в дополнительных правах. И даже если поменять в настройках запрос прав, то пользователи, которые ранее установили приложение не увидят окно запроса прав, поскольку оно появляется только при первой установке приложения. Поэтому необходимо руками, в коде, сделать запрос прав. Чтобы окно постоянно не появлялось, сначала нужно осуществить проверку, дал пользователь доступ или нет. В случаее если разрешение уже получено, ни чего не будем делать, а если еще нет, то выведем окно с просьбой разрешить использовать какие-то данные или выполнять необходимые нам действия.
Запрос прав у пользователя для приложения в одноклассниках. Код
Код напишем на 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. Только одноклассника в любом случае возвращают результат «ОК», если пользователь дал доступ и если пользователь не дал доступ.
