只是\u-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("testuser@example.com: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);
}