@vcow

Почему из IFrame-а не вызывается FAPI.UI функция?

При попытке вызвать FAPI.UI.showInvite() из IFrame инвайт не открывается, в API_callback приходит ошибка с кодом -1 и описанием: "UI methods are available only for apps running on OK portal". Использую FAPI5. Методы FAPI и FAPI.Client вызываются нормально. В документации об ограничениях и способах их обхода - ни слова. Как мне вызывать инвайты и постить медиа?
  • Вопрос задан
  • 489 просмотров
Решения вопроса 1
@vcow Автор вопроса
Проблема оказалась в способе вызова инициализации - init вызывался по имени:
...
var methodName = "init";
var params = [api_server, apiconnection];
...
params.push(callbackSuccess);
params.push(callbackFail);
...
FAPI[methodName].apply(this, params);
...

При этом callbackSuccess() вызывался как положено, FAPI.Client.call() работал исправно, но все методы FAPI.UI возвращали ошибку.
После замены вызова на
...
FAPI.init(params[0], params[1], callbackSuccess, callbackFail);
...

Все заработало как надо. Почему некорректно работает вызов по имени, выяснить не удалось.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Vjaka
@Vjaka
Платформа игр (Одноклассники)
Судя по сообщению, приложение все-таки не в iframe одноклассников по ok.ru/game/.... запускается. Возможно, вы добавили еще один iframe, куда не передали достаточные параметры для инициализации виджетов OK?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы