2012-05-17 2 views
0

Я собрал простое приложение в flash ide/as3, которое вытаскивает фотографии из четырехугольника. Он работает локально, но после его развертывания в Интернете он не работает. Я предполагаю, что это проблема с перекрестным доступом, но то, что я нашел в Интернете (ссылка ниже), пока не отвечает на мой вопрос. http://groups.google.com/group/foursquare-api/browse_thread/thread/ab963f74fde8ae9f/3e68559966acf7c9Запрос API Foursquare не работает после развертывания, проблемы с crossdomain?

Я проверил локальные сетевые настройки. Я прочитал, что мне не нужен файл crossdomain на моем сервере. И я верю, что прочитал, что мне не нужен php-прокси для четырехсот, как мне нужно с твиттером ... Не уверен, что еще может быть.

коробка, в которой говорится, что тестирование должно отслеживать ответ, но оно никогда не заполняется, это похоже на то, что вызов останавливается на своих дорожках после того, как он попадает в файл crossdomain на четырехквартирных домах, и я даже не получаю ответ об ошибке. http://physicalgraffitea.com/wp-content/swf/Foursquare-e.swf

Дистиллированный AS3 до самого скудного здесь, без идентификатора и секретности.

Любая помощь? Благодаря

Security.allowDomain("http://www.foursquare.com"); 
    Security.loadPolicyFile("http://api.foursquare.com/crossdomain.xml"); 

     import flash.net.URLRequest; 
     import flash.net.URLLoader; 
     import com.adobe.serialization.json.JSON; 

     var resource = "https://api.foursquare.com/v2/venues/4b7071c8f964a520d51a2de3/photos?group=venue&limit=6&client_id="+myId+"&client_secret="+mySecret+"&v=20120517"; 


     var loader:URLLoader = new URLLoader(); 
     var request:URLRequest = new URLRequest(resource); 
     request.method = URLRequestMethod.GET; 
     loader.addEventListener(Event.COMPLETE, onComplete); 
     loader.addEventListener(IOErrorEvent.IO_ERROR,onIOError); 
     loader.load(request);   

    function onComplete(e:Event):void { 
        var loader:URLLoader = URLLoader(e.target); 
        outputtxt.text = loader.data; 
        trace(loader.data); 
        var jsonData:Object = JSON.decode(loader.data) 
     } 
    function onIOError(e:Event):void { 
      var loader:URLLoader = URLLoader(e.target); 
      outputtxt.text = "error " + loader.data;    
    } 
+0

Исправьте, что вам не нужен файл crossdomain.xml на вашем собственном сервере; Это позволит только флэш-приложениям, обслуживаемым из других источников, выполнять двусторонние взаимодействия с вашим сайтом. – Cheekysoft

ответ

0

После много суетится вокруг только так, как я мог заставить его работать, чтобы да, использовать crossdomain файл прокси PHP с четырехугольного API.

Но это само по себе не помогло решить мою проблему, с которой нужно было ссылаться на полный путь http, но без «www» в пути. «http://mydomain.com/swf/file.swf» Не знаете, почему, но если у вас есть подобные проблемы с перекрестным доменом, попробуйте удалить www слишком

Смежные вопросы