сам ошибку найти не могу. Класс MD5 взят с Adobe, так что на него тоже жаловаться не могу. Почему всегда приходит xml с ошибкой, что sig неправильный? Помогите пожалуйсто понять что я делаю не так.
Самый прикол, что с таким запросом у меня метод isAppUser работает, правда вдобавок к ответу еще и высылает xml с описанием ошибки. А с методом getProfiles ни в какую...
Вот мой код:
Код AS3:
private function getUserDataFromAPI():void {
var requestToVKAPI:URLRequest = new URLRequest("http://api.vk.com/api.php");
var loader1:URLLoader = new URLLoader();
var variablesToSend:URLVariables = new URLVariables();
var viewerID:String = root.loaderInfo.parameters.viewer_id;
var apiID:String = "1763106";
var secretKey:String = "мой секретный код";
var methodFromAPI:String = "getProfiles";
var testMode:String = "1";
variablesToSend.method = methodFromAPI;
variablesToSend.api_id = apiID;
variablesToSend.v = "2.0";
variablesToSend.test_mode = testMode;
variablesToSend.uids = viewerID;
variablesToSend.sig = MD5.hash(viewerID + 'api_id=' + apiID + 'method=' + methodFromAPI + 'test_mode=' + testMode + 'v=2.0' + secretKey);
requestToVKAPI.data = variablesToSend;
requestToVKAPI.method = URLRequestMethod.POST;
loader1.load(requestToVKAPI);
loader1.addEventListener(Event.COMPLETE, onGetUserDataFromAPI);
};
Вот пример ответа:
Код:
<?xml version="1.0" encoding="utf-8"?>
<error>
<error_code>4</error_code>
<error_msg>Incorrect signature</error_msg>
<request_params list="true">
<param>
<key>v</key>
<value>2.0</value>
</param>
<param>
<key>test_mode</key>
<value>1</value>
</param>
<param>
<key>uids</key>
<value>null</value>
</param>
<param>
<key>method</key>
<value>getProfiles</value>
</param>
<param>
<key>api_id</key>
<value>1763106</value>
</param>
<param>
<key>sig</key>
<value>7e0ea8995284c70adfe25fe514a4640f</value>
</param>
</request_params>
</error>