| Zorro_13 |
09.05.2010 23:19 |
Проблема с кириллическими символами
Я использую Tweetr v1.0b2. Я создал приложение на AIR 1.5.
Проблема: Я сделал возможность обновление статуса. В начале я залогинился через OAuth и посылаю сообщение: "тест".
Код приложения:
Код AS3:
private function initTweet() {
tweetr = new Tweetr();
tweetr.useAuthHeaders = true;
tweetr.addEventListener(TweetEvent.COMPLETE, handleTweetEvent,
false, 0, true);
tweetr.addEventListener(TweetEvent.FAILED, handleTweetEvent,
false, 0, true);
}
private function createOauth(newOauth:Object){
oauth = new OAuth();
oauth.addEventListener(OAuthEvent.COMPLETE,
handleOAuthEvent, false, 0, true);
oauth.addEventListener(OAuthEvent.ERROR, handleOAuthEvent,
false, 0, true);
oauth.consumerKey = newOauth.consumerKey;
oauth.consumerSecret = newOauth.consumerSecret;
oauth.oauthToken = newOauth.oauthToken;
oauth.oauthTokenSecret = newOauth.oauthTokenSecret;
tweetr.oAuth = oauth;
tweetr.verifyCredentials();
}
private function clickPost(e:Event) {
tweetr.updateStatus(managerMess.message); //managerMess.message = "тест";
}
Сервисхост - не указан - то есть он по умолчанию стоит.
После выполнения функции "clickPost", в Windows XP SP2 появляется окно "Подключение к api.twitter.com"
Если заполнить и нажать ОК - то оно появится снова!
Если в качестве сервисхоста указать:
Код AS3:
tweetr.serviceHost = "http://labs.swfjunkie.com/tweetr/proxy";
Или прокси который ты поставил себе на домен - то окна о подключении не появится, но и статус не обновится, а выведется ошибка:
Код:
TweetrInit.handleTweetEvent.FAILED
Incorrect signature
Трейсил и смотрел, что отправляет данный класс Tweetr, я например отсылаю букву "м":
Код:
status=%22%D0%BC%22 "м" //trace(vars, vars.status);
TweetrInit.handleTweetEvent.FAILED
Incorrect signature
Функция отправки(обновление статуса в классе Tweetr):
Код AS3:
public function updateStatus(status:String, inReplyTo:Number = 0, lat:Number = 0, long:Number = 0):void
{
var vars:URLVariables = new URLVariables();
checkCredentials();
_returnType = RETURN_TYPE_STATUS;
vars.status = status;//strEscape(status.substr(0, 140));
trace(vars, vars.status);
if (inReplyTo != 0)
vars.in_reply_to_status_id = inReplyTo;
if (lat != 0)
vars.lat = lat;
if (long != 0)
vars.long = long;
setPOSTRequest(vars);
request = URL_SEND_UPDATE;
urlLoader.load(url);
}
Если отправлять англ. символы - то всё ОК, трейс соответственно выводит:
Код:
status=v "v" //trace(vars, vars.status);
Вопрос - как отправить кириллические символы?
Заранее спасибо.
p.s. ссылка на данный API - http://code.google.com/p/tweetr/
|