![]() |
|
||||||||||
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Chuvak, я тоже с этим сталкивался. И тоже запинался на этом. Только с одной разницей, мне нужно было подписать безопасный запрос. Но суть та же. secret - это именно то, что написано в поле Защищенный ключ.
Фишка в том, что в подпись должно входить больше параметров, чем указано в документации. Туда нужно вносить все, что есть в запросе в алфавитном порядке. Как выглядит запрос, для которого формируется подпись? Цитата:
Цитата:
Последний раз редактировалось goodguy; 17.05.2011 в 15:21. |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 25
|
Цитата:
ключ secret о котором идет речь использовался раньше для подписания всех запросов из _клиента_, теперь в настройках приложения его нет, а в доках написано что этот ключ отдается вместе с номером сессии sid во флэшварс. проблема в том, что secret из флэшварс -- это другой secret и для подписи по старому способу v2.0 -- он не подходит. Но api_secret -- это совсем другой ключ и он действительно тут не при чем |
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Речь об этом? http://vkontakte.ru/developers.php?o...FF%20%F1%20API
Если да, то secret - Это именно Защищенный ключ. Не знаю как было раньше, но сейчас это так. И у меня запросы подписываются именно таким способом и именно с использованием защищенного ключа в качестве параметра secret Последний раз редактировалось goodguy; 17.05.2011 в 15:32. |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 25
|
Да. но это доки по версии 3.0 в версии 2.0 нет sid и ключ берется из настроек.
В общем как обычно ебучий вконтакт -- правок со 2 на 3 версии не много, но пока поймешь? что делать и как все поменялось и чему из документации верить, а чем -- нет, -- полдня убьешь. Рецепт прост на самом деле -- версию прописываемся явно как параметр v=3.0, хотя в доках и написано, что он необязательный, но без него не работает. параметры secret и sid берем из flashvars, sid в формировании sig _НЕ_ участвует. для локального тестирования, достаточно прописать внутрь приложения любую пару secret и sid полученные из флэшварс -- можно посмотреть прямо в коде страницы. |
|
|||||
|
[+1 24.06.11]
Регистрация: May 2011
Сообщений: 36
|
брал из поля Защищённый ключ: либо из flahVars secret
Добавлено через 5 минут из вышеизложенного уяснил, что стоит добавить sid из flashVars в запрос и сменить версию на 3.0 и всё закрутится-завертится, но увы, это не так. |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 25
|
Цитата:
скопируй целиком код свой |
|
|||||
|
[+1 24.06.11]
Регистрация: May 2011
Сообщений: 36
|
вот рабочий кодец
package { import flash.net.URLLoader; import flash.net.URLRequest; import flash.net.URLRequestMethod; import flash.display.*; import flash.events.*; import flash.text.*; public class Main extends Sprite { var request = new URLRequest(); var loader = new URLLoader(); var viewer_id; var code:String; var sid:String; var zalupa:String; public function Main():void { var params:Object = LoaderInfo(root.loaderInfo).parameters; viewer_id = (params['viewer_id']) ? parseInt(params['viewer_id']) : 1; code = params['secret']; sid = params['sid']; request.url = "http://api.vkontakte.ru/api.php"; request.method = URLRequestMethod.POST; zalupa = viewer_id + "api_id=2328580fields=first_name,last_nameformat=xmlmethod=getProfilesuids=11789177v=3.0" + code; request.data = "api_id=2328580&fields=first_name,last_name&format=xml&method=getProfiles&uids=11789177&v=3.0&sid=" + sid + "&sig=" + MD5.encrypt(zalupa); loader.addEventListener(Event.COMPLETE, onComplete); loader.load(request); } public function onComplete(e:Event):void { trace(loader.data); xmlina.text = loader.data; code_ta.text = sid; code_ta1.text = code; code_ta2.text = viewer_id + "api_id=2328580fields=first_name,last_nameformat=xmlmethod=getProfilesuids=11789177v=3.0" + code; } } } он не просто мой рабочий а он наконец заработал у меня Последний раз редактировалось Chuvak; 19.05.2011 в 00:16. |
![]() |
![]() |
Часовой пояс GMT +4, время: 05:31. |
|
|
« Предыдущая тема | Следующая тема » |
|
|