FAPI.Client.call

Сигнатура метода

Функция используется для вызова REST-методов API.

FAPI.Client.call(params, userCallback, resig)
ПараметрТребуетсяОписание
paramsДаНабор пар ключ-значение для вызываемого метода (включая имя метода)
userCallbackДаФункция, которая будет вызвана после ответа сервера
resigНетТребуется, когда необходимо запросить подтверждение пользователя на какое-либо действие через отдельное превью. Во всех остальных случаях вызывайте функцию, указав только 2 параметра.

Callback-функция

Функция userCallback имеет вид:

function(status, data, error)

Где:

  • status - общий статус вызова метода. “ok” в случае успеха, “error” в случае ошибки;
  • data - объект-результат. Например, [“565478477729”] для friends.get;
  • error - информация об ошибке, возникшей при вызове метода. null в случае успеха, в случае ошибки это объект, содержащий описание и номер ошибки.

Пример вызова

/*
* Данная функция вызывается при успешной инициализации.
* Она содержит несколько примеров использования метода "FAPI.Client.call()".
*/
function initCard() {
    // сначала необходимо подготовить callback-функции (функции, которые будут вызваны после получения ответа)
    var callback_users_getCurrentUser = function(status, data, error){
        if (data) {
            fillCard(data);
        } else {
            processError(error);
        }
    };
 
    var callback_friends_get = function(status, data, error){
        if(data) {
            var randomFriendId = result[getRandomInt(0, result.length)];
            var callback_users_getInfo = function(status, data, error) {
                if (data) {
                    document.getElementById("random_friend_name_surname").innerHTML = data[0]["first_name"] + " " + data[0]["last_name"];
                } else {
                    processError(error);
                }
            }
            FAPI.Client.call({"method":"users.getInfo", "fields":"first_name,last_name", "uids":randomFriendId}, callback_users_getInfo);
        } else {
            processError(error);
        }
    }
 
    // а затем вызвать метод "FAPI.Client.call()", передав ему набор параметров и callback-функцию
 
    // пример №1: вызов метода API с параметрами
    FAPI.Client.call({"fields":"first_name,last_name,location,pic128x128","method":"users.getCurrentUser"}, callback_users_getCurrentUser);
    // пример №2: вызов метода без параметров
    FAPI.Client.call({"method":"friends.get"}, callback_friends_get);
}