just_a_dude的方式有认证部,但他的示例中的xml不适用于当前的12sprints API,并且不应该使用Base64编码。这是他的样本的一个修改版本的作品(只需更改用户名/密码):
// the xml we want to send to the server
var xml:String = "<activity name=\"New activity using cURL\"></activity>"
var bytes:ByteArray = new ByteArray();
bytes.writeUTFBytes(xml);
// encoded credentials
var credentials:Base64Encoder = new Base64Encoder();
credentials.encode("[email protected]:pass");
var request:URLRequest = new URLRequest("https://beta.12sprints.com/v1/activities");
request.data = bytes;
request.method = URLRequestMethod.POST;
request.requestHeaders.push(new URLRequestHeader("Authorization", "Basic " + credentials));
request.requestHeaders.push(new URLRequestHeader("Content-Type", "application/xml"));
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.BINARY;
loader.addEventListener(Event.COMPLETE, completeHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
loader.load(request);
}
protected function completeHandler(event:Event):void {
trace("complete");
}
protected function errorHandler(event:Event):void {
trace("error : ", event);
var loader:URLLoader = event.currentTarget as URLLoader;
trace(loader.data);
}