![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2012
Сообщений: 3
|
Всем привет!
Пишу приложение для запуска на компе. Пытаюсь получить список друзей пользователя, которые установили конкретное приложение вконтакте. Пусть номер страницы пользователя 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, как описано здесь. В первом случае Во втором случае получается где bf2af7721e - secret, полученнный при авторизации по ссылке, которую уже привел выше. Соответственно 2 вопроса: почему friends.getAppUsers вообще не воспринимается сервером и почему friends.get возвращает ошибку о неправильной подписи, если все делаю так, как написано в инструкции? P.S. У пользователя 12345 установлено приложение 123 со всем запрашиваемыми для приложения разрешениями. P.P.S. При этом все отлично работает, если авторизоваться по новому принципу. Но нужен именно старый метод авторизации для последующей возможности взаимодействия с приложением... Последний раз редактировалось spider; 19.10.2012 в 14:21. |
|
|||||
|
Там у них есть одна тупость с локальным тестом при такой авторизации. Сессия истекает, и при каждом входе в контакт меняется ее ID. Проще говоря локально потестировать не меняя каждый раз ID сессии не получится
Я делал приложение пустышку, которое только и делало, что выводило все необходимые для авторизации данные, и залил его на место разрабатываемого приложения. Когда id сессии менялся, я просто запускал это приложение, брал оттуда id сессии, и добавлял перед компиляцией в свое. Не удобно, но работало. |
|
|||||
|
Регистрация: Oct 2012
Сообщений: 3
|
Цитата:
UPD. Да, что смущает еще при таком механизме авторизации - это то, что параметр expire = 0. Хотя 0 скорее обозначает, что сессия никогда не закроется, чем то, что она сразу закроется при открытии) При авторизации на основе oauth expires_in = 86400, т.е. 24 часа длится максимум сессия при такой авторизации... |
|
|||||
|
Цитата:
Цитата:
Вообще, не знаю возможно ли ее сделать "вечной", так как у меня динамический IP и сессия в любом случае обрубается при его изменении. Так что по-любому это приходится делать вручную. п.с. А контактовская библиотека APIConnection не подходит? С ней эти действия гораздо проще делаются Цитата:
Цитата:
|
|
|||||
|
Регистрация: Oct 2012
Сообщений: 3
|
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 23:51. |
|
|
« Предыдущая тема | Следующая тема » |
|
|