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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.10.2009, 16:10
Neirol вне форума Посмотреть профиль Отправить личное сообщение для Neirol Посетить домашнюю страницу Neirol Найти все сообщения от Neirol
  № 21  
Ответить с цитированием
Neirol
 
Аватар для Neirol

Регистрация: Sep 2009
Адрес: X = 10, Y = 420, Z = -35
Сообщений: 52
Отправить сообщение для Neirol с помощью ICQ Отправить сообщение для Neirol с помощью Skype™
Ты что с ума сошел? Или тебя лень с потрохами сожрала?
Прочитай хотя бы первую страницу документации!
__________________
Рожденный ползать, везде пролезет...

Старый 15.05.2011, 14:16
Кошколов вне форума Посмотреть профиль Отправить личное сообщение для Кошколов Найти все сообщения от Кошколов
  № 22  
Ответить с цитированием
Кошколов

Регистрация: May 2011
Сообщений: 5
Цитата:
Сообщение от qazwsx Посмотреть сообщение
Код AS1/AS2:
import utils.Timer;
 
class MXMLSocket extends LoadVars
{
	public var onError:Function;
	public var onRecive:Function;
 
	private var query:String = '';
 
	private var server:String;
 
	private var timeOutTimer:Timer;
	private var key:String = '';
 
	public function MXMLSocket(_server:String, timeOut:Number )
	{
		this.server = _server;
 
		timeOutTimer = undefined;
 
		if ( timeOut > 0 )
			initTimeOutTimer( timeOut );	
 
 
	}
 
	private function onData(data:String):Void 
	{
		this.stopTimeOutTimer();
 
		if (data == undefined)
		{
			onErrorHandler("mxml server dont response on " + this.server );
			return;
		}
 
		onRecive(data, key);
	}
 
	public function send(str:String):Void
	{
		var query:LoadVars = new LoadVars();
 
		query.query = str;
 
		this.postData(query);
	}
 
 
	public function sendObj(obj:Object):Void
	{
		var sendObject:LoadVars = new LoadVars();
 
		for (var vr:String in obj)
		{
			sendObject[vr] = obj[vr];
		}
 
		postData( sendObject );
 
	}
 
	private function postData( sendObject:LoadVars ):Void
	{
		sendObject.sendAndLoad(server, this, 'POST');
 
		if ( this.isTimeOutEnable() )
		{
			this.startTimeOutChecker();
		}
	}
 
 
	private function onErrorHandler(reason:String):Void
	{
		this.stopTimeOutTimer();
		this.onError( reason );
	}
 
 
	/// --- timeout
 
	private function initTimeOutTimer( timeOut:Number ):Void
	{
		timeOutTimer = new Timer( timeOut , false );
		timeOutTimer.addEventListener( Timer.TICK_EVENT , Delegate.create(this, onTimeOutHandler) );
	}	
 
 
	private function onTimeOutHandler(event:Object):Void
	{
		//this.stopTimeOutTimer();
		this.onErrorHandler( "mxml server "+ this.server +" dont response, time out " + this.timeOutTimer.durationSeconds );
	}
 
	private function isTimeOutEnable():Boolean
	{
		return this.timeOutTimer != undefined;
	}
 
	private function startTimeOutChecker():Void
	{
		this.timeOutTimer.turnOn();
	}
 
	private function resetTimeOutTimer():Void
	{
		this.timeOutTimer.reset();
	}
 
	private function stopTimeOutTimer():Void
	{
		this.timeOutTimer.turnOff();
	}
 
	/// timeout --- 
}
Код AS1/AS2:
import MD5;
import MXMLSocket;
 
class BLAHClass
{
	private var server:String = 'http://api.vkontakte.ru/api.php?';
	private var api_id:String = '';
	private var viewer_id:String = '';
	private var secret:String = '';
	private var uid:String = '';
 
	private var sock:MXMLSocket;
 
	static var GET:String = 'getVariable';
	static var SET:String = 'putVariable';
 
	public var onData:Function;
 
	public function BLAHClass(_api_id:String, _viewer_id:String, _secret:String, userID:String) 
	{
		uid = userID;
		api_id = _api_id;
		viewer_id = _viewer_id;
		secret = _secret;
		sock = new MXMLSocket();
 
		sock.onRecive = recive;
		sock.onError = error;
	}
 
	private function recive(data:String):Void
	{
		//////////////////
	}
 
	private function error(reason:String):Void
	{
		//////////////
	}
 
	public function setID(str:String, key:String)
	{
		send(key,SET, str);
	}
 
	public function getID(key:String):Void
	{
		send(key, GET);
	}
 
	private function send(key:String, met:String, value:String):Void 
	{
		var obj:Object = {api_id:String, method:String, key:key};
		var method:String = met;
 
		if (value != undefined)
		{
			obj.value = value;
 
		}
		obj.user_id = _root.user_id;	
 
		obj.api_id = api_id;
		obj.method = method;
		//obj.test_mode = '1';
 
		var sig:String = generateSig(obj);
		obj.sig = sig;
 
 
		sock.sendObj(obj);
	}
 
	private function generateSig(obj:Object):String 
	{
		var sig:String = '';
		var params:Array = [];
 
		for (var vr:String in obj) 
		{
			params.push(vr+'='+obj[vr]);
		}
		params = params.sort();
 
		for (var i:Number = 0; i < params.length; i++) 
		{
			sig+=params[i];
		}
		sig = viewer_id + sig + secret;
		//trace(sig);
		sig = MD5.encrypt(sig);
		return sig;
	}
}
А как пользоваться этими скриптами?

Старый 15.05.2011, 19:13
carrotoff вне форума Посмотреть профиль Отправить личное сообщение для carrotoff Найти все сообщения от carrotoff
  № 23  
Ответить с цитированием
carrotoff
 
Аватар для carrotoff

Регистрация: May 2010
Сообщений: 543
Цитата:
А как пользоваться этими скриптами?
Инструкция была дана выше. Почитайте внимательно документацию. Сложных примеров там нет, иначе это была бы не документация.

cleptoman, полностью поддерживаю.
__________________
Вы грабите бедных людей. Парень со свирелью накажет вас. Хонгильдон (с)

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

Теги
vkontakte api

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

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


 


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


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