Собственная библиотека для соединения с Вконтакте API

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)

Собственная библиотека для соединения с Вконтакте API

Сообщение Sasho'OK 515 » 09 апр 2011, 20:55

Сегодня в голову пришла мысль сделать свою библиотеку т.к. в контейнере я не смыслю а стандартная библиотека часто выдаёт ошибку 1009

Почитав это : http://vk.com/developers.php?o=-1&p=%C2 ... 0%F1%20API
я понял что на сервер можно передавать запросы зная :
1) id приложения
2) метод
3) sig
4) sid

вот код как я получаю sig (может сдесь вся проблема :) я толком неразобрался как его делать ) :
ранее я ввёл переменные : api_id , method ,secret
  1. var sig:String = MD5.encrypt("api_id=" + api_id + "method=" + method + "v=3.0" + secret);

затем я выполняю запрос :
  1. var echo:String = 'http://www.vkontakte.ru/api.php?v=3.0&api_id='+api_id+'&method='+method+'&format=xml&uids='+user_id+'&sid='+sid+'&sig='+sig;
  2.             trace(echo);
  3.             var loader:URLLoader = new URLLoader();
  4.             var request:URLRequest=new URLRequest(echo);
  5.             loader.load(request);
  6.             loader.addEventListener(Event.COMPLETE , function(e:Event):void {
  7.                 trace(loader.data);
  8.             });


но в итоге у меня выдаёт в трассировке :
  1.  
  2. <?xml version="1.0" encoding="utf-8"?>
  3. <error>
  4.  <error_code>4</error_code>
  5.  <error_msg>Incorrect signature: sid &amp; secret authorization</error_msg>
  6.  <request_params list="true">
  7.   <param>
  8.    <key>v</key>
  9.    <value>3.0</value>
  10.   </param>
  11.   <param>
  12.    <key>api_id</key>
  13.    <value>2272088</value>
  14.   </param>
  15.   <param>
  16.    <key>method</key>
  17.    <value>GetProfiles</value>
  18.   </param>
  19.   <param>
  20.    <key>format</key>
  21.    <value>xml</value>
  22.   </param>
  23.   <param>
  24.    <key>uids</key>
  25.    <value>1</value>
  26.   </param>
  27.   <param>
  28.    <key>sid</key>
  29.    <value>81ec86c2ae7a89a0ec06c041a8ef26ec38877c8f7ef5e71b8d92f445250d32</value>
  30.   </param>
  31.   <param>
  32.    <key>sig</key>
  33.    <value>26b9d415f61fd51c68d9dea178b962cb</value>
  34.   </param>
  35.  </request_params>
  36. </error>
  37.  


sig я брал из исходного кода страницы
secret я брал оттуда же

И вопрос к знатакам : ЧТО ЗДЕСЬ НЕТАК!!!! :!: :!: :!: :!: :ugeek:
Sasho'OK 515

 
Автор темы
Сообщения: 36
Зарегистрирован: 27 мар 2011, 14:03
Благодарил (а): 1 раз.
Поблагодарили: 2 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: Собственная библиотека для соединения с Вконтакте API

Сообщение Sasho'OK 515 » 09 апр 2011, 20:59

вот весь вид функции и обращение к ней :
  1.  
  2. ФУНКЦИЯ :
  3. public function OtherMethod(api_id:Number,method:String,user_id:Number,sid:String,secret:String):void {
  4. var sig:String = MD5.encrypt("api_id=" + api_id + "method=" + method + "v=3.0" + secret);
  5. var echo:String = 'http://www.vkontakte.ru/api.php?v=3.0&api_id='+api_id+'&method='+method+'&format=xml&uids='+user_id+'&sid='+sid+'&sig='+sig;
  6. trace(echo);
  7. var loader:URLLoader = new URLLoader();
  8. var request:URLRequest=new URLRequest(echo);
  9. loader.load(request);
  10. loader.addEventListener(Event.COMPLETE , function(e:Event):void {
  11. trace(loader.data);
  12. });
  13. }
  14.  


  1.  
  2. ВЫЗОВ :
  3. import vk.MD5;
  4. import vk.API_Method;
  5. var api:API_Method = new API_Method();
  6. api.OtherMethod(2272088,"GetProfiles",1,"81ec86c2ae7a89a0ec06c041a8ef26ec38877c8f7ef5e71b8d92f445250d32","sVc6QVzlxNbXWKXCbH1V");
  7.  
Sasho'OK 515

 
Автор темы
Сообщения: 36
Зарегистрирован: 27 мар 2011, 14:03
Благодарил (а): 1 раз.
Поблагодарили: 2 раз.


Вернуться в Создание Flash-приложений ВКонтакте



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron