Ответы пользователя по тегу Одноклассники
  • Где должен находится API_callback?

    Romas34
    @Romas34
    Если честно, не совсем понял в чём проблема. Да, в коде скрипта должна быть колбэк-функция (там же, где и функция инициализации FAPI):
    /*
    * Эта функция вызывается после завершения выполнения следующих методов:
    * showPermissions, showInvite, showNotification, showPayment, showConfirmation, setWindowSize
    */
    function API_callback(method, result, data) {
        console.log("Method " + method + " finished with result " + result + ", " + data);
        if (method == "showConfirmation" && result == "ok") {
        	FAPI.Client.call(feedPostingObject, function(status, data, error) {
                console.log("status = " + status + "   data = " + data + " error == "
        	                + (error != null ? error["error_msg"] : "null"));
                getFlash().publishCallback({"status":status, "data":data, "error":error});
            }, data);
        }
        //invoke client API callback
        getFlash().onApiCallBack({"method":method, "result":result, "data":data});
    }

    (пример взят вот отсюда: https://github.com/apiok/html_app_example/blob/mas...
    она вызывает onApiCallBack() - колбэк в as-коде. Который, естественно, должен быть зарегистрирован:
    ExternalInterface.addCallback("onApiCallBack", onApiCallBack);

    Т.о. мы попадаем в функцию onApiCallBack():
    private function onApiCallBack(event: Object): void {
            trace("[OKManager] onApiCallBack: method =", event.method,
                  " result =", event.result, " data =", event.data);
            if (event.method == 'showPayment') {
                .......
            } else if (event.method == "showConfirmation") {
                .......
            }
            .............
        }
    Ответ написан