Как я могу получить AS3 facebook API для инициализации на самоподписанном https-сайте

Я настраиваю приложение facebook - с API AS3 facebook. Первое, что я делаю, это вызываю Facebook.init(). Когда это делается в нашей обычной настройке разработки (обычный http-сайт) - это работает отлично, и я могу получить доступ к графику. Однако, когда я переключаюсь на https-сайт (с самозаверяющим сертификатом), Facebook.init() никогда не запускает обратный вызов. Я правильно настроил crossdomain.xml, чтобы разрешить все, а безопасность не соответствует действительности. Кто-нибудь знает, как я могу настроить это так, чтобы оно работало.


person fideldonson    schedule 14.08.2012    source источник
comment
Я советую использовать ExternalInterface для вызова API Facebook. Вам просто нужен простой скрипт шлюза на JS, который будет вызывать, получать и отправлять ответы из FB в swf. Преимущество этого решения заключается в том, что JS не имеет таких ограничений безопасности, как AS3, и у вас есть лучшая поддержка кэширования из браузера.   -  person Konrad    schedule 22.04.2013


Ответы (2)


Действительно, соединение Facebook с FB API AS3 больше не работает с августа...

С FlashWebExemple.fla из 8_1.zip" rel="nofollow">http://code .google.com/p/facebook-actionscript-api/downloads/detail?name=GraphAPI_Examples

        Facebook.init(APP_ID, onInit);

        protected function onInit(result:Object, fail:Object):void {
            trace("on INIT");
            if (result) { //already logged in because of existing session
                outputTxt.text = "onInit, Logged In\n";
                loginToggleBtn.label = "Log Out";
            } else {
                outputTxt.text = "onInit, Not Logged In\n";
            }
        }
8_1.zip

        Facebook.init(APP_ID, onInit);

        protected function onInit(result:Object, fail:Object):void {
            trace("on INIT");
            if (result) { //already logged in because of existing session
                outputTxt.text = "onInit, Logged In\n";
                loginToggleBtn.label = "Log Out";
            } else {
                outputTxt.text = "onInit, Not Logged In\n";
            }
        }

Нет сообщения "on INIT"...

Кто-нибудь ?

person Benoît Freslon    schedule 27.08.2012
comment
В as3 не используйте «if (результат)», если вы хотите протестировать объект. Любое изменение в API (например, изменение Object с Boolean на {status: true, code: 200}) сделает ваш код бесполезным, и вы даже не заметите этого. - person Konrad; 22.04.2013

Получить accessToken из FB.init в JS

Передать accessToken во Flash (параметры swf или ExternalInterface)

Вызовите Facebook.init() с accessToken и установите options.status = true

var options:Object = {};
var accessToken:String = null;
if(!StringValidator._isNullOrEmpty(m_swfParameters._accessToken))
{
    options.status = true;
    accessToken = m_swfParameters._accessToken;
}

Facebook.init(m_facebookProvider._appId, _onInitedCallback, options, accessToken);

if(options.status === true)
{
    _onInitedCallback(options, null);
}
person mizi_sk    schedule 22.04.2013