Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 27.12.2009, 19:08
Furinax вне форума Посмотреть профиль Отправить личное сообщение для Furinax Найти все сообщения от Furinax
  № 1  
Ответить с цитированием
Furinax
[+1 02.09.15]

Регистрация: Mar 2009
Адрес: Moscow
Сообщений: 469
По умолчанию Ошибки вконтакте и как с ними бороться

Предлагаю всем опытным разработчикам приложений вконтакте поделиться знаниями о том, как бороться с ошибками при запросе приложения к API вконтакте.
Рылся в документации и не нашел никаких разъяснений, кроме описания самих ошибок:
Код ошибки Описание
1 Unknown error occured.
2 Application is disabled. Enable your application or use test mode.
3 Unknown method passed.
4 Incorrect signature.
5 User authorization failed.

В случае 1 - все ясно, нужно создавать отдельную тему. Случай 2 предельно ясен и тоже не требует обсуждения. 4 случай тоже говорит сам за себя. 3 номер у меня никогда не возникал.

На данный момент у меня составляет трудность понять о чем говорит ошибка №5 "User authorization failed."

Я загрузил приложение на вконтакте. Тест од отключен. Приложение включенно. Залогинился по аккаунтом. Запускаю приложение, а мне в ответ 5 ошибка. Исходя из текста ошибки понятно, что пользователь приложения не авторизовался, но ведь я же залогинлся...
Знающие люди объясните пожалуйсто как с этим бороться. Заранее спасибо!

Старый 27.12.2009, 21:05
Anton Riot вне форума Посмотреть профиль Отправить личное сообщение для Anton Riot Посетить домашнюю страницу Anton Riot Найти все сообщения от Anton Riot
  № 2  
Ответить с цитированием
Anton Riot

Регистрация: Sep 2008
Адрес: Москва
Сообщений: 291
Отправить сообщение для Anton Riot с помощью ICQ
неправильно составлен запрос. Например, "uid" вместо "user_id" или наоборот. Или не хватает полей запроса. В таком стиле.

Бороться с ошибками - это проверить запрос.

Старый 27.12.2009, 21:41
Furinax вне форума Посмотреть профиль Отправить личное сообщение для Furinax Найти все сообщения от Furinax
  № 3  
Ответить с цитированием
Furinax
[+1 02.09.15]

Регистрация: Mar 2009
Адрес: Moscow
Сообщений: 469
Буду премного благодарен, если мне разъясните. На примере метода getProfiles.
Вот все, что отправляю:
Код AS3:
var apiID:String = "1763106";
			var secretKey:String = "код приложения;
			var methodFromAPI:String = "getProfiles";
			var testMode:String = "0";
 
			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=' + 'uids=' + viewerID + testMode + 'v=2.0' + secretKey);
Вот xml полученной ошибки:
Код:
<?xml version="1.0" encoding="utf-8"?>
<error>
 <error_code>5</error_code>
 <error_msg>User authorization failed</error_msg>
 <request_params list="true">
  <param>
   <key>v</key>
   <value>2.0</value>
  </param>
  <param>
   <key>test_mode</key>
   <value>0</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>05d0003b4a3aeef4ae3369d7fd7e4a67</value>
  </param>
 </request_params>
</error>
Сравниваю все с запросом и вроде все совпадает. Может проблема в сиге опять?
Такое ощущение что я сильно туплю, только вот где..........

Старый 27.12.2009, 22:03
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 4  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Код AS3:
'test_mode=' + 'uids=' + viewerID + testMode +
Параметры перемешаны.

Старый 27.12.2009, 22:12
Furinax вне форума Посмотреть профиль Отправить личное сообщение для Furinax Найти все сообщения от Furinax
  № 5  
Ответить с цитированием
Furinax
[+1 02.09.15]

Регистрация: Mar 2009
Адрес: Moscow
Сообщений: 469
Код AS3:
variablesToSend.sig = MD5.hash(viewerID + 'api_id=' + apiID + 'method=' + methodFromAPI + 'uids=' + viewerID +  'test_mode=' + testMode + 'v=2.0' + secretKey);
расставил, ошибка никуда не исчезла. Видать не только это, либо это было ни при чем...

Старый 27.12.2009, 22:21
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 6  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Расставили, да не в том порядке

Старый 27.12.2009, 22:25
Furinax вне форума Посмотреть профиль Отправить личное сообщение для Furinax Найти все сообщения от Furinax
  № 7  
Ответить с цитированием
Furinax
[+1 02.09.15]

Регистрация: Mar 2009
Адрес: Moscow
Сообщений: 469
Оооооооооочень прошу подсказать в каком правильно и отчего он зависит

Добавлено через 10 минут
Попробовал согласно порядку параметров в описании ошибки
Код AS3:
variablesToSend.sig = MD5.hash(viewerID + 'v=2.0' + 'test_mode=' + testMode + 'uids=' + viewerID + 'method=' + methodFromAPI + 'api_id=' + apiID + secretKey);
и не угадал ...........

Старый 27.12.2009, 22:40
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 8  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
1. viewer_id.
2. все те параметры, которые вы передаете в запросе в лексикографическом порядке (по имени параметра).
3. private key.

Старый 27.12.2009, 22:53
Furinax вне форума Посмотреть профиль Отправить личное сообщение для Furinax Найти все сообщения от Furinax
  № 9  
Ответить с цитированием
Furinax
[+1 02.09.15]

Регистрация: Mar 2009
Адрес: Moscow
Сообщений: 469
Код AS3:
variablesToSend.api_id = apiID;
variablesToSend.method = methodFromAPI;
variablesToSend.test_mode = testMode;
variablesToSend.uids = viewerID;
variablesToSend.v = "2.0";
variablesToSend.sig = MD5.hash(viewerID + 'api_id=' + apiID + 'method=' + methodFromAPI + 'test_mode=' + testMode + 'uids=' + viewerID + 'v=2.0' + secretKey);
И не работает, либо я неправильно понял что такое лексикографический порядок, либо ошибка в чем-то другом...
Это для getProfiles.


Последний раз редактировалось Furinax; 27.12.2009 в 23:04.
Старый 27.12.2009, 23:14
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 10  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Параметры расставлены, вроде как, правильно. Какое-то значение скорее всего неправильно задано.

Создать новую тему Ответ Часовой пояс GMT +4, время: 15:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 15:14.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.