Пример запроса к Вконтакте API 3.0 на пальцах

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

Пример запроса к Вконтакте API 3.0 на пальцах

Сообщение krivtsov » 14 янв 2011, 20:29

Добрый день уважаемые форумчане!
Отыскал на форуме урок по созданию простого приложения с запросом к Вконтакте API 3.0 , но как пишется запрос толком не понял.
Те кто знает как правильно отправлять запросы к Вконтакте API 3.0 распишите пожалуйста код который делал бы запрос на сервер.
Например нужно мне информация о пользователе, читаю описание методов Вконтакте API, нахожу нужный метод getProfiles,
в котором нужно передать нужные параметры и тому подобное. Так вот как будет выгледить етот запрос, если нужно, что бы приложение можно было тестировать локально не загружая в Вконтакте и просто тестируя приложение непосредственно запущенное со страницы Вконтакте.
Так же было бы неплохо если расписали хотя бы один метод из friends методов например friends.get с помощью которого было можно получать параметр
fields поля uid, first_name, last_name, nickname, sex, bdate (birthdate), city, country а также используя другие параметры етого метода у всевозможных вариациях.
Было бы очень полезно новичкам таким как я, и отпадала бы куча вопросов вроде "почему локально не работает, вроде параметры правильно передал", "компилятор выдает ошибку при тестирования приложение которое должно было работать локально, но не работает" и т.д.
Ведь расписав как правильно создавать запрос, не нужно было бы искать инфу как создать другие запросы, не смотря на то что создаются они по одному и тому же примеру, и отличаются передаваемыми параметрами.
Расскажите особенности отправке запросов ( если есть ), возможные ошибки которые могут возникнут и т.п.
Надеюсь тема не останется без внимания и знающие откликнутся.
Заранее спасибо)
Аватара пользователя
krivtsov

 
Автор темы
Сообщения: 11
Зарегистрирован: 14 янв 2011, 19:56
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Google
 



Re: Пример запроса к Вконтакте API 3.0 на пальцах

Сообщение Александр » 14 янв 2011, 22:00

krivtsov
Посмотри урок для старой версии Вконтакте API 2.0 topic3.html Там сигнатура формируется вручную.
В уроке по вконтакте api 3.0, параметры сортируются автоматически.
В этих двух уроках показано использование обращение к вконтакте api без использования дополнительных классов.

Можно использовать библиотеку APIConnection. Есть урок по её использованию на примере метода getProfiles. Использование APIConnection (getProfiles). Там расписано как создавать запрос и как тестировать локально. Что тебе там не понятно?
Там же и написано, что другие методы используются аналогично. Какие ошибки могут возникнуть - написано в документации. Нет смысла описывать это очень подробно.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

Re: Пример запроса к Вконтакте API 3.0 на пальцах

Сообщение krivtsov » 14 янв 2011, 22:57

1.Что касается урока по API 3.0, то локально у меня протестить никак не получается, залез в исходный код страницы с приложением , вытащил secret и sid,
поместил в код и при компилирование вот такая ошибка
/********************************************************************/
api%5Fid=2132800&sid=4e4c89e4c8467ac215412119c0afd9f0c0379d1a9d838db503dbbe2657&uids=41138144&format=XML&v=3%2E0&sig=193c0514e8786f7dd26d0380713bd413&fields=bdate%2Cphoto%5Fbig&method=getProfiles
Error opening URL 'http://api.vkontakte.ru/api.php'
Error #2044: Необработанный ioError:. text=Error #2032: Ошибка потока. URL: http://api.vkontakte.ru/api.php
at Main1/getProfile()
at Main1()
***********************************************************************/
В уроке про Вконтакте API 2.0 не расписано как тестить локально.

Если открыть приложение через некоторое время после закрытия страницы с приложением то secret и sid меняются на другие значения, так и должно быть?

2. Используя библиотеки я не пойму как отправлять запросы вручную, мне нужно понять как они формируются. Какие значения за какими идут? Каких правил придерживаться?
Аватара пользователя
krivtsov

 
Автор темы
Сообщения: 11
Зарегистрирован: 14 янв 2011, 19:56
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Пример запроса к Вконтакте API 3.0 на пальцах

Сообщение krivtsov » 15 янв 2011, 01:15

Так же попытался тестировать локально и с другими значениями сид ( то есть без флешварс ) и секрет - не работает. Залил в контакт и открыл со страницы - тут же приложение заработало.
И да еще вопрос , сортировка параметров по алфавиту при создание сига обязательно или нет ?
А так же вопрос по поводу создания самого запроса, в URLVariables добавляются параметры как захотелось или в тоже в алфавитном порядке.
Аватара пользователя
krivtsov

 
Автор темы
Сообщения: 11
Зарегистрирован: 14 янв 2011, 19:56
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Пример запроса к Вконтакте API 3.0 на пальцах

Сообщение Александр » 15 янв 2011, 16:06

Примеры уроков без использования библиотек и сделаны для того чтобы можно было понять как происходит взаимодействие с сервером api. Чтобы понять более детально - тестируй, пробуй, меняй значения.
Про правила формирования сигнатуры написано в документации http://vkontakte.ru/developers.php?o=-1 ... %D1%81+API

krivtsov писал(а):Если открыть приложение через некоторое время после закрытия страницы с приложением то secret и sid меняются на другие значения, так и должно быть?

Через некоторое время меняются. У пользователей, которые не администраторы приложения - меняется часто.

krivtsov писал(а):сортировка параметров по алфавиту при создание сига обязательно или нет

В документации написано
пар "parameter_name=parameter_value", расположенных в порядке возрастания имени параметра (по алфавиту).

на практике именно так и надо.
В строке запроса порядок не важен.

Вот этот пример topic992.html у тебя работает локально? Если нет, то ты уверен, что закомментировал ненужные строки и раскомментировал нужные с параметрами?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

Re: Пример запроса к Вконтакте API 3.0 на пальцах

Сообщение krivtsov » 15 янв 2011, 18:18

  1.  
  2. // получаем данные из flashVars
  3.             //закоментировал вот эти строки, так как тестирую я просто в окне флешплеера а не в браузере то флешварс соответственно нету.
  4.                /*
  5.             // id просматривающего приложение
  6.              viewer_id = LoaderInfo(root.loaderInfo).parameters.viewer_id;
  7.             // secret для генерации сигнатуры
  8.             secret = LoaderInfo(root.loaderInfo).parameters.secret;
  9.             // id сессии
  10.             sid = LoaderInfo(root.loaderInfo).parameters.sid;
  11.             // адрес API-сервиса
  12.             api_url = LoaderInfo(root.loaderInfo).parameters.api_url;
  13.             */
  14.  
  15.            // здесь прописал свои значение            
  16.             viewer_id = '1';
  17.             secret = 'abcd123456';
  18.             sid = 'abcd123456abcd123456abcd123456abcd123456abcd123456abcd1234';
  19.             api_url = 'http://api.vkontakte.ru/api.php';            
  20.  


Я писал в предыдущим посте что работает без флешварс в браузере запуская со страницы приложения. Но локально ни в какую. К сожелению нет описания в справке от адобе ошибки Error opening URL 'http://api.vkontakte.ru/api.php', по этому не могу понять природу возникновения ошибки, то ли это проблемы с контактом то ли проблемы с кодом.
Так же сегодня даже запустить приложение со страницы со вчерашними сид и секрет не удалось, обновил значения но толку мало. Запустить локально не получается.
Аватара пользователя
krivtsov

 
Автор темы
Сообщения: 11
Зарегистрирован: 14 янв 2011, 19:56
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Пример запроса к Вконтакте API 3.0 на пальцах

Сообщение Александр » 16 янв 2011, 17:06

Как ты запускаешь приложение? Нажимай Ctrl+Enter прямо во флеше и тестируй.
Если ты созданный swf просто откроешь, то будет такая ошибка - это защита безопасности.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

Re: Пример запроса к Вконтакте API 3.0 на пальцах

Сообщение krivtsov » 16 янв 2011, 19:50

Во Флеш КС4 и во флешдевелопере тестировал и отдельно открывал, посмотрел глобальные параметры безопасности по этой ссылке http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html и добавил местоположение, результат следующий: ошибка так и осталась, но окно с ошибкой при запуски приложения отдельно не выбивает, что делать я уже просто не знаю.
Аватара пользователя
krivtsov

 
Автор темы
Сообщения: 11
Зарегистрирован: 14 янв 2011, 19:56
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Пример запроса к Вконтакте API 3.0 на пальцах

Сообщение krivtsov » 20 янв 2011, 19:59

Проблему с запросами все таки решил. Отправлять запросы мне усердно мешал Брадмауер Windows. После того как я его отключил, старой ошибки вроде этой Error opening URL 'http://api.vkontakte.ru/api.php' не наблюдалось. )
Аватара пользователя
krivtsov

 
Автор темы
Сообщения: 11
Зарегистрирован: 14 янв 2011, 19:56
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.


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



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

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

cron