Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.01.2011, 00:57
aimatme вне форума Посмотреть профиль Отправить личное сообщение для aimatme Найти все сообщения от aimatme
  № 1  
Ответить с цитированием
aimatme

Регистрация: Jan 2010
Сообщений: 37
По умолчанию Кто занимался постингом сообщений на стену с русским текстом?

если не трудно киньте кусочек кода с просчетом сигнатуры и отправкой запроса к VK API через URLVariables

Замучался уже с этим постингом на стену. При использовании русских букв - приходит incorrect signature
1. сигнатуру расчитываю для текста в явном виде (например "тест")
2. после попадания в urlvariables в запросе уже посылается закодированное сообщение (например "message=%D1%82%D0%B5%D1%81%D1%82")

чем я только не пробовал всегда incorrect signature
сообщения с английскими буквами работают без проблем

Старый 05.01.2011, 11:03
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 2  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Кажется когда-то я тоже долго мучился с этим и так и не смог решить. Реализовал с помощью посредника.

Код AS3:
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);
А так проблема старая: http://www.flasher.ru/forum/showthread.php?t=142452


Последний раз редактировалось Astraport; 05.01.2011 в 11:07.
Старый 05.01.2011, 13:33
aimatme вне форума Посмотреть профиль Отправить личное сообщение для aimatme Найти все сообщения от aimatme
  № 3  
Ответить с цитированием
aimatme

Регистрация: Jan 2010
Сообщений: 37
Спасибо большое как попробую обязательно отпишусь о результате

Старый 05.01.2011, 15:02
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 4  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
никаких проблем нет
надо кодировать encodeURI, но только в requestString (signatureForMD5 - не надо)

Код AS3:
		/**************************************************************************/
		/*    Публикация записи на стену                                          */
		/**************************************************************************/
		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);
		}

Старый 05.01.2011, 15:43
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
И не лень же было в столбик расставлять.

Старый 05.01.2011, 16:03
aimatme вне форума Посмотреть профиль Отправить личное сообщение для aimatme Найти все сообщения от aimatme
  № 6  
Ответить с цитированием
aimatme

Регистрация: Jan 2010
Сообщений: 37
Цитата:
Сообщение от Astraport Посмотреть сообщение
Кажется когда-то я тоже долго мучился с этим и так и не смог решить. Реализовал с помощью посредника.

Код AS3:
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);
А так проблема старая: http://www.flasher.ru/forum/showthread.php?t=142452
Вы будете смеяться но проблема осталась всунул APIConnection в код - английские буквы нормально русские - incorrect signature
может быть дело в Flash Builder'e ))))))

Добавлено через 2 минуты
mikhailk
Подскажите откуда взяли функцию connectToURL

Старый 05.01.2011, 17:10
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 7  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Цитата:
Сообщение от etc Посмотреть сообщение
И не лень же было в столбик расставлять.

зато наглядно

на самом деле, я сначала написал класс для работы с API VK в таком виде, потом провел рефакторинг, а потом вернулся к этому варианту, поскольку более компактный вариант все равно нуждался в комментариях. А этот код тупой, но понятный.



Цитата:
Сообщение от aimatme
Подскажите откуда взяли функцию connectToURL
сам написал ))

Код AS3:
		private function connectToURL(strURL:String) : void
		{
			var loader:URLLoader = new URLLoader(new URLRequest(strURL));
			configureListenersURLLoader(loader);
		}
но, на самом деле, все, что Вам нужно было отметить в моем коде, это то, когда применяется encodeURI, а когда не применяется.


Последний раз редактировалось mikhailk; 05.01.2011 в 17:16.
Старый 05.01.2011, 17:20
aimatme вне форума Посмотреть профиль Отправить личное сообщение для aimatme Найти все сообщения от aimatme
  № 8  
Ответить с цитированием
aimatme

Регистрация: Jan 2010
Сообщений: 37
Ура! разобрался! не поверите где крылась разгадка раньше все время использовал MD5 модуль от Адоба а тут от безысходности начал смотреть а зачем в APIConnection свой мд5 модуль и они оказались разными

Так что всем рекомендую кто столкнулся с моей проблемой просто поменять модуль MD5 на тот который поставляется в архиве c APIConnection.
Видимо решающая строка там это
Код AS3:
data = Utf8Encode(data);
которой нет в MD5 модуле от Адоба

Добавлено через 33 секунды
p.s. с русским текстом в итоге все хорошо

Старый 18.02.2011, 12:21
Konung вне форума Посмотреть профиль Отправить личное сообщение для Konung Найти все сообщения от Konung
  № 9  
Ответить с цитированием
Konung

Регистрация: Dec 2006
Сообщений: 17
тоже проблема с кодировкой.

Отправляю аудиозапись. название и исполнителя пользователь вводит сам. Но после отправки название оказывается в юникоде и отображается в виде тарам пам.

Пользуюсь посредником.

Подскажите, как исправить. Заранее спасибо.

Старый 19.03.2011, 18:20
aimatme вне форума Посмотреть профиль Отправить личное сообщение для aimatme Найти все сообщения от aimatme
  № 10  
Ответить с цитированием
aimatme

Регистрация: Jan 2010
Сообщений: 37
используйте md5 модуль от разработчиков вконтакте

Создать новую тему Ответ Часовой пояс GMT +4, время: 14:35.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
вконтакте , русские символы , стена
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 14:35.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.