Пример выложен на github html_app_example
В приложении используется JS SDK.
Приложение представляет собой iframe, контент которого загружается с сервера разработчика. URL фрейма указывается на странице редактирования настроек приложения в поле “Ссылка на приложение”.
Подключение SDK
Для доступа к API необходимо внутри тега head подключить скрипт:
<script type="text/javascript" src="//api.ok.ru/js/fapi5.js" defer="defer"></script>
Инициализация SDK
И инициализировать его:
/*
* Инициализация API
*/
var rParams = FAPI.Util.getRequestParameters();
FAPI.init(rParams["api_server"], rParams["apiconnection"],
/*
* функция, которая будет вызвана после успешной инициализации
*/
function() {
initCard();
},
/*
* функция, которая будет вызвана, если инициализация не удалась
*/
function(error){
processError(error);
}
);
Пример вызова метода и обработки результата
/*
* Данная функция вызывается при успешной инициализации.
* Она содержит несколько примеров использования метода "FAPI.Client.call()".
*/
function initCard() {
// в начале необходимо подготовить callback-функции (функции, которые будут вызваны после получения ответа)
var callback_users_getCurrentUser = function(method,result,data){
if (result) {
fillCard(result);
} else {
processError(data);
}
};
var callback_friends_get = function(method,result,data) {
if (result){
var randomFriendId = result[getRandomInt(0, result.length)];
var callback_users_getInfo = function(method, result, data){
if (result) {
document.getElementById("random_friend_name_surname").innerHTML = result[0]["first_name"] + " " + result[0]["last_name"];
} else {
processError(data);
}
}
FAPI.Client.call({"method":"users.getInfo", "fields":"first_name,last_name", "uids":randomFriendId}, callback_users_getInfo);
} else {
processError(data);
}
}
// а затем вызвать метод "FAPI.Client.call()", передав ему набор параметров и callback-функцию
// пример №1: вызов метода API с параметрами
// внимание! порядок параметров значения не имеет
FAPI.Client.call({"method":"users.getCurrentUser", "fields":"first_name,last_name,location,pic128x128"}, callback_users_getCurrentUser);
// пример №2: вызов метода без параметров
FAPI.Client.call({"method":"friends.get"}, callback_friends_get);
}