|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jan 2010
Сообщений: 37
|
Кто занимался постингом сообщений на стену с русским текстом?
если не трудно киньте кусочек кода с просчетом сигнатуры и отправкой запроса к VK API через URLVariables
Замучался уже с этим постингом на стену. При использовании русских букв - приходит incorrect signature 1. сигнатуру расчитываю для текста в явном виде (например "тест") 2. после попадания в urlvariables в запросе уже посылается закодированное сообщение (например "message=%D1%82%D0%B5%D1%81%D1%82") чем я только не пробовал всегда incorrect signature сообщения с английскими буквами работают без проблем |
|
|||||
Кажется когда-то я тоже долго мучился с этим и так и не смог решить. Реализовал с помощью посредника.
var flashVars: Object = parameters as Object; var VK:APIConnection = new APIConnection(flashVars); VK.api("wall.savePost", {"test_mode":1, "wall_id":123456, "post_id":"post", "photo_id":"123456_789", "message":mess}, postWallComplete, postWallError); Последний раз редактировалось Astraport; 05.01.2011 в 11:07. |
|
|||||
Регистрация: Jan 2010
Сообщений: 37
|
Спасибо большое как попробую обязательно отпишусь о результате
|
|
|||||
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
никаких проблем нет
надо кодировать encodeURI, но только в requestString (signatureForMD5 - не надо) /**************************************************************************/ /* Публикация записи на стену */ /**************************************************************************/ public function writeMessageToWall(requestData:Object) : void { var signatureForMD5:String = GlobalParameters.wrapper.application.parameters.viewer_id + "api_id=" + GlobalParameters.wrapper.application.parameters.api_id + "hash=" + requestData.hash + "message=" + requestData.messageText + "method=wall.savePost" + "photo=" + requestData.photo + "photo_id=" + requestData.photoID + "post_id=" + requestData.postID + "server=" + requestData.server + "test_mode=" + testMode + "v=2.0" + "wall_id=" + requestData.userID + GlobalParameters.appCode; var signatureMD5:String = convertorMD5.encrypt(signatureForMD5); var requestString:String = GlobalParameters.serverUrlVK + "?api_id=" + GlobalParameters.wrapper.application.parameters.api_id + "&hash=" + requestData.hash + "&message=" + encodeURI(requestData.messageText) + "&method=wall.savePost" + "&photo=" + requestData.photo + "&photo_id=" + requestData.photoID + "&post_id=" + requestData.postID + "&server=" + requestData.server + "&sig=" + signatureMD5 + "&test_mode="+testMode + "&v=2.0" + "&wall_id=" + requestData.userID ; trace (requestString); connectToURL(requestString); } |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
И не лень же было в столбик расставлять.
|
|
|||||
Регистрация: Jan 2010
Сообщений: 37
|
Цитата:
может быть дело в Flash Builder'e )))))) Добавлено через 2 минуты mikhailk Подскажите откуда взяли функцию connectToURL |
|
|||||
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
зато наглядно на самом деле, я сначала написал класс для работы с API VK в таком виде, потом провел рефакторинг, а потом вернулся к этому варианту, поскольку более компактный вариант все равно нуждался в комментариях. А этот код тупой, но понятный. Цитата:
но, на самом деле, все, что Вам нужно было отметить в моем коде, это то, когда применяется encodeURI, а когда не применяется. Последний раз редактировалось mikhailk; 05.01.2011 в 17:16. |
|
|||||
Регистрация: Jan 2010
Сообщений: 37
|
Ура! разобрался! не поверите где крылась разгадка раньше все время использовал MD5 модуль от Адоба а тут от безысходности начал смотреть а зачем в APIConnection свой мд5 модуль и они оказались разными
Так что всем рекомендую кто столкнулся с моей проблемой просто поменять модуль MD5 на тот который поставляется в архиве c APIConnection. Видимо решающая строка там это которой нет в MD5 модуле от Адоба Добавлено через 33 секунды p.s. с русским текстом в итоге все хорошо |
|
|||||
Регистрация: Dec 2006
Сообщений: 17
|
тоже проблема с кодировкой.
Отправляю аудиозапись. название и исполнителя пользователь вводит сам. Но после отправки название оказывается в юникоде и отображается в виде тарам пам. Пользуюсь посредником. Подскажите, как исправить. Заранее спасибо. |
|
|||||
Регистрация: Jan 2010
Сообщений: 37
|
используйте md5 модуль от разработчиков вконтакте
|
Часовой пояс GMT +4, время: 01:20. |
|
« Предыдущая тема | Следующая тема » |
Теги |
вконтакте , русские символы , стена |
|
|