I am a relative newbie in the Flex and development world, trying to extend my 
design 
skills. So please forgive any foolish errors. Presently I am attempting to 
communicate with 
the photoshelter api via httpservice, and need help. I can successfully log-in 
and get 
authorisation - but cannot work out how to actually access albums and galleries 
via their 
api xml syntax. (...although it looks as though it should be 
straightforward...)  I have tried 
adapting code I found on flexexamples - dynamically-loading-xml-files-using-the-
httpservice-tag:

<mx:Script>
                <![CDATA[
                        import mx.rpc.http.HTTPService;
                        import mx.rpc.events.ResultEvent;
                        import mx.rpc.events.FaultEvent;
                        import mx.controls.Alert;

                        private var alert:Alert;
                        
                        public function 
setRemoteCredentials(remoteUsername:String="xxxx",remotePassword:String="xxxxx",
 
charset:String = null):void
        {
                                
httpService.url="https://www.photoshelter.com/bsapi/1.1/auth";;
                                httpService.send(setRemoteCredentials);
                        }
                        
                                private function loadGallery(src:String):void {
                                httpService.url = 
"https://www.photoshelter.com/bsapi/1.1/alb-qry";;
                                httpService.send();
                        }
                        

                        private function httpService_fault(evt:FaultEvent):void 
{
                                var title:String = evt.type + " (" + 
evt.fault.faultCode + ")";
                                var text:String = evt.fault.faultString;
                                alert = Alert.show(text, title);
                                xmlListColl.removeAll();
                        }

                        private function 
httpService_result(evt:ResultEvent):void {
                                var xmlList:XMLList = XML(evt.result).alb;
                                xmlListColl = new XMLListCollection(xmlList);
                                trace("Done!");
                        }
                ]]>
        </mx:Script>

        <mx:XMLListCollection id="xmlListColl" />

        <mx:HTTPService id="httpService"
                        resultFormat="e4x"
                         showBusyCursor="true"
                        fault="httpService_fault(event);"
                        result="httpService_result(event)" />

        <mx:ApplicationControlBar dock="true">
        <mx:Button label="Data" click="setRemoteCredentials()"/>
                <mx:Button label="Travel"
                                click="loadGallery('Travel');" />
                <mx:Button label="Landscapes"
                                click="loadGallery('Landscapes UK');" />

                <mx:Button label="gallery 404"
                                click="loadGallery('gallery404.xml');" />
        </mx:ApplicationControlBar>

        <mx:TileList id="tileList"
                        dataProvider="{xmlListColl}"
                        itemRenderer="TileListItemRenderer"
                        columnCount="3"
                        columnWidth="150"
                        rowCount="2"
                        rowHeight="100" />

</mx:Application>
------------------
//TileListItemRenderer//

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml";>

        <mx:Image source="[EMAIL PROTECTED]"
                        horizontalCenter="0"
                        verticalCenter="0" />


</mx:Canvas>

I am unsure what I should put as the source - and have tried [EMAIL PROTECTED] 
as well as [EMAIL PROTECTED] But I am not sure that I am querying the api 
correctly... Whatever 
I am doing wrong,  it also prevents the gallery 404 error message appearing 
anymore...  
Any help would be greatly appreciated.



Reply via email to