![]() |
Ошибки в ответ на запросы через api
Всем привет!
Пишу приложение для запуска на компе. Пытаюсь получить список друзей пользователя, которые установили конкретное приложение вконтакте. Пусть номер страницы пользователя 12345, а номер приложения api_id=123. Посылаю вот такую команду: Код:
http://api.vk.com/api.php?api_id=123&method=friends.getAppUsers&sid=39f92af16254e643196d6025c9d7edc3dfe1d528108ebeadeb564cf61398aa&sig=74e0e3543b81f90cd0032d25e28e1c63&v=3.0Пробую просто хотя бы получить список всех друзей: Код:
http://api.vk.com/api.php?api_id=123&method=friends.get&sid=39f92af16254e643196d6025c9d7edc3dfe1d528108ebeadeb564cf61398aa&sig=05690ea3e880a9b8943e91058c0063a1&v=3.0&fields=first_nameВ обоих случаях считаю sig, как описано здесь. В первом случае Код:
sig = md5("12345api_id=123method=friends.getAppUsersv=3.0bf2af7721e")Код:
sig = md5("12345api_id=123fields=first_nameformat=XMLmethod=friends.getv=3.0bf2af7721e")Соответственно 2 вопроса: почему friends.getAppUsers вообще не воспринимается сервером и почему friends.get возвращает ошибку о неправильной подписи, если все делаю так, как написано в инструкции? P.S. У пользователя 12345 установлено приложение 123 со всем запрашиваемыми для приложения разрешениями. P.P.S. При этом все отлично работает, если авторизоваться по новому принципу. Но нужен именно старый метод авторизации для последующей возможности взаимодействия с приложением... |
Там у них есть одна тупость с локальным тестом при такой авторизации. Сессия истекает, и при каждом входе в контакт меняется ее ID. Проще говоря локально потестировать не меняя каждый раз ID сессии не получится
Я делал приложение пустышку, которое только и делало, что выводило все необходимые для авторизации данные, и залил его на место разрабатываемого приложения. Когда id сессии менялся, я просто запускал это приложение, брал оттуда id сессии, и добавлял перед компиляцией в свое. Не удобно, но работало. |
Цитата:
UPD. Да, что смущает еще при таком механизме авторизации - это то, что параметр expire = 0. Хотя 0 скорее обозначает, что сессия никогда не закроется, чем то, что она сразу закроется при открытии) При авторизации на основе oauth expires_in = 86400, т.е. 24 часа длится максимум сессия при такой авторизации... |
Цитата:
Цитата:
Вообще, не знаю возможно ли ее сделать "вечной", так как у меня динамический IP и сессия в любом случае обрубается при его изменении. Так что по-любому это приходится делать вручную. п.с. А контактовская библиотека APIConnection не подходит? С ней эти действия гораздо проще делаются Цитата:
Цитата:
|
Цитата:
Код:
http://vk.com/login.php?app=123&layout=popup&type=browser&settings=264199Код:
http://vk.com/api/login_success.html#session={"mid":66748,"sid":"ea56492j61334be88e2e8e1dccd21ef8d2f4606f26add88b2e1ee313e2","secret":"733mf8a8c5","expire":0,"sig":"f7afd3db2d3a8a08c849bb038fd52173"} |
| Часовой пояс GMT +4, время: 01:27. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.