Skip to content

Instantly share code, notes, and snippets.

@joshbirk
Created November 24, 2011 17:15
Show Gist options
  • Save joshbirk/1391838 to your computer and use it in GitHub Desktop.
Save joshbirk/1391838 to your computer and use it in GitHub Desktop.
Longer version of the REST login w/ SOAP for Flex-RESTKit
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:salesforce1="com.salesforce.*"
creationComplete="login();"
>
<fx:Declarations>
<salesforce1:Connection id="force" />
</fx:Declarations>
<fx:Script>
<![CDATA[
import com.force.http.rest.RESTConnection;
import com.force.utility.util;
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.rpc.AsyncResponder;
import mx.utils.ObjectUtil;
import com.salesforce.AsyncResponder;
import com.salesforce.objects.LoginRequest;
import com.salesforce.results.LoginResult;
import com.salesforce.results.QueryResult;
public var rest:RESTConnection;
public function login():void {
var lr:LoginRequest = new LoginRequest();
lr.username = 'YOUR USERNAME';
lr.password = 'YOUR PASSWORD';
lr.callback = new com.salesforce.AsyncResponder(doQuery,showError);
force.login(lr);
}
//ACCESS DATA
private function doQuery(result:LoginResult):void {
rest = new RESTConnection();
rest.setSession(result.sessionId,result.serverUrl);
rest.query("SELECT ID, Name from Contact LIMIT 5",new mx.rpc.AsyncResponder(queryHandler,com.force.utility.util.genericError));
}
private function queryHandler(queryResult:Array, token:Object):void {
Alert.show(queryResult.length.toString());
}
private function showError(error:Object):void {
Alert.show(ObjectUtil.toString(error));
}
]]>
</fx:Script>
</s:WindowedApplication>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment