Код AS3:
var params:Object=LoaderInfo(root.loaderInfo).parameters;
это не правильно , ты параметрам передаешь URLVariables!
Код AS3:
public function VkRequest( action: String , viewer_id:int , params: Object = null)
{
this.viewer_id = viewer_id;
this.variables = new URLVariables();
this.variables.method = action;
this.variables.api_id = this.api_id;
this.variables.v = "2.0";
this.variables.test_mode= "1";
for (var i: String in params) {
this.variables[i] = params[i];
}
this.variables.sig = generateSig();
request = new URLRequest( this.vk_url );
request.method = URLRequestMethod.POST;
request.data = this.variables;
loader = new URLLoader();
}
public function send()
{
loader.addEventListener( Event.COMPLETE, onRequestComplete );
loader.addEventListener( ErrorEvent.ERROR, onRequestComplete );
loader.load( this.request );
}
private function generateSig():String
{
var signature = "";
var params:Object = this.variables;
var sorted_array: Array = new Array();
for (var i: String in params) {
sorted_array.push(i + "=" + params[i]);
}
sorted_array.sort();
for (var key in sorted_array) {
signature += sorted_array[key];
}
signature = this.viewer_id + signature + this.secret_key;
return MD5.encrypt(signature);
}
public function onRequestComplete( e: Event )
{
trace(e.target.data);
}