Проблемы с получением изображения моего профиля в приложении Flash - PullRequest
0 голосов
/ 26 января 2012

У меня есть PHP-скрипт, который возвращает мне мои (и мои друзья) изображения профиля, используя следующее:

http://graph.facebook.com/".$ID."/picture?type=large где $ ID - это идентификатор, полученный с помощью PHP API. Затем я использую следующее для загрузки изображений в моем приложении:

public function LoadProfile()
{
    loader = new Loader();
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onUrlLoaded);
    loader.load(new URLRequest(ImageURL));
    //ImageURL is the URL provided by the PHP Script
    // which is the 'http://graph.facebook.com/XXXX/picture?type=large'
}
private function onUrlLoaded(event:Event)
{           
    loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onUrlLoaded);

    var path:String = LoaderInfo(event.target).url;

    loader = new Loader();
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onReallyComplete);
    var lc:LoaderContext = new LoaderContext(true);
    lc.checkPolicyFile = true;
    loader.load(new URLRequest(path), lc);
}
private function onReallyComplete(event:Event)
{
    loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onReallyComplete);
}  

Это работает для ВСЕХ моих друзей, но НЕ работает для меня по некоторым причинам. Я получаю следующий общий адрес для изображения моих друзей:

http://profile.ak.fbcdn.net/hprofile-ak-snc4/370825_524761447_653077984_n.jpg

Но для меня я просто получаю

http://profile.ak.fbcdn.net

какой-то случайный человек ... НЕ я ...

Я неоднократно проверял, что идентификатор, отправляемый обратно из PHP, на самом деле является моим идентификатором, и я скопировал / вставил отслеженный адрес ДО функции загрузки в браузер, и я получил правильное изображение профиля, но где-то там он глючит из-за моего идентификатора в загрузке и только из-за моего идентификатора в загрузке (я должен перефразировать его, чтобы сказать, что он глючит для пользователя WHATEVER, вошедшего в Facebook, а не только я).

Есть идеи? Или кто-нибудь знает альтернативный способ получить МОЙ профиль?

1 Ответ

0 голосов
/ 26 января 2012
public function loadProfile():void
{
    loader = new Loader();
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loader_completeHandler);
    loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, loader_securityErrorHandler);
    loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loader_ioErrorHandler);
    loader.load(new URLRequest(_imageURL));
}

private function loader_securityErrorHandler(event:SecurityErrorEvent):void
{
    trace(event.toString());
}

private function loader_ioErrorHandler(event:IOErrorEvent):void
{
    trace(event.toString());
}

private function loader_completeHandler(event:Event):void
{
    loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, loader_completeHandler);
    loader.contentLoaderInfo.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, loader_securityErrorHandler);
    loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, loader_ioErrorHandler);

    addChild(loader);
} 
...