@Mega_User

Как исправить странную ошибку при инициализации api?

Есть приложение для одноклассников, стартовая страница которого (открывается во фрейме) страница с адресом вида site.ru/app/index.php. При его открытие происходит инициализация апи и обращение с помощью его к users.getCurrentUser. Всё работает нормально, апи возвращает корректные данные.

Но если пройти по ссылке расположенной в самом приложение (на тот же адрес страницы приложения) то появляется ошибка при инициализации апи Uncaught TypeError: Cannot read property 'indexOf' of undefined (fapi5.js:1)

подключаю и инициализирую апи так:
<script type="text/javascript" src="http://api.odnoklassniki.ru/js/fapi5.js"></script>

var rParams = FAPI.Util.getRequestParameters();
FAPI.init(rParams["api_server"], rParams["apiconnection"],  
    function() {
        console.log("ok");
    },   
    function(error){
        console.log("error");
    }
);


Подскажете как исправить данную ошибку
  • Вопрос задан
  • 2590 просмотров
Решения вопроса 1
chlp
@chlp
фулстек
Проблема в том, что FAPI.Util.getRequestParameters() возвращает пустой массив. Эта функция возвращает значения, основываясь на GET-параметрах адресной строки. Обратите внимание, что идет на странице site.ru/app/index.php после знака "?" (например, ?pageId=42476523). Все внутренние страницы в фрейме тоже должны содержать эти параметры.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@cheplv
Эта проблема появляется когда пользователь заходит в приложение через версию для мобильных приложений (m.ok.ru). fapi5.js не получает параметр web_server. Если смотреть глубже то для мобильной версии fapi5.js можно использовать только для вызовов REST.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы