0

フォースクエアの場所から写真を取得するシンプルなアプリをフラッシュ ide / as3 でまとめました。ローカルでは機能しますが、Web 上に展開すると機能しません。クロスドメインの問題だと思いますが、これまでオンラインで見つけたもの (以下のリンク) は私の質問に答えていません. http://groups.google.com/group/foursquare-api/browse_thread/thread/ab963f74fde8ae9f/3e68559966acf7c9

ローカルとネットワークの設定を確認しました。サーバーにクロスドメイン ファイルは必要ないことを読みました。そして、Twitter で必要なのと同じように、foursquare に php プロキシは必要ないことを読んだことがあると思います...他に何ができるかわかりません。

テストが応答を追跡する必要があると書かれているボックスがいっぱいになることはありません.foursquareのクロスドメインファイルにヒットした後、呼び出しがトラックで停止したようで、エラー応答すら得られません. http://physicalgraffitea.com/wp-content/swf/Foursquare-e.swf

AS3 をここで最も無駄のないものにまで蒸留し、ID とシークレットを削除します。

何か助けはありますか?ありがとう

   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;            
     }
4

1 に答える 1

0

私がそれを機能させる唯一の方法は、はい、foursquare APIでクロスドメインプロキシphpファイルを使用することです。

しかし、それだけでは私の問題は解決しませんでした。swf は完全な http パスで参照する必要がありましたが、パスに「www」は含まれていませんでした。「http://mydomain.com/swf/file.swf」理由はわかりませんが、同様のクロスドメインの問題がある場合は、www も削除してみてください

于 2012-05-17T23:48:06.767 に答える