Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   Кто работал с vkontakte API ? требуется помощь (http://www.flasher.ru/forum/showthread.php?t=122168)

Azo 04.03.2009 00:49

Кто работал с vkontakte API ? требуется помощь
 
Статья разработчикам на сайте "вконтакет"

Кто может на простых примерах обьяснить технологию?

а именно
*как получить Id пользователя
*как подключать базу данных в .txt (ну или альтернатива)
* и т.п

========================================
Код AS1/AS2:

myXML = new XML();
myXML.ignoreWhite = true;
myXML.load("http://api.vkontakte.ru/api.php");
myXML.onLoad = function(success) {
        if (success) {
                trace(myXML);
        } else {
                trace("Ошибка загрузки базы");
        }
};

Код AS1/AS2:

//trace выводит:

Код:

<?xml version="1.0" encoding="utf-8"?><error>Invalid application API ID</error>
ЗЫ.. пробовал как после загрузки на сервер так и с компа.. результат один

qazwsx 04.03.2009 07:14

А в vkontakte примеры просто так приложили да? Паражаюсь просто, вы бы еще за ришением личных проблем бежали на форум.

cleptoman 04.03.2009 13:20

там в любом из запросов сигнатура присутствует, MD5 из конкатенации параметров..сами параметры передаются во флэш как флэшварс...все это расписано в описании API у них на сайте

Azo 04.03.2009 13:40

Я же написал! На простых примерах... У них на сайте только сложные примеры!
таких сообщений мне не пишите пожалуйста
Цитата:

А в vkontakte примеры просто так приложили да? Паражаюсь просто, вы бы еще за ришением личных проблем бежали на форум.

qazwsx 04.03.2009 13:42

Там очень простые примеры:/. Ну рас ненадо писать, то и вопрос видимо решон.

2morrowMan 04.03.2009 16:36

Сначала надо прочитать документацию ту что дают админы, а то судя по тому коду, что вы привели, вы ее пролистали сразу до примеров, которые пользы вам тоже не принесли...

Azo 04.03.2009 17:40

и все же... как получать и сохранять переменные?
labe.text = user_id; // это рабочий пример получения Id пользователя
но как получить не id , а Имя пользователя...?

qazwsx 04.03.2009 17:53

Научится читать. Ни на один вопрос твой больше не отвечю. :/
Цитата:

Сообщение от Фконтакт
0 – unixtime на сервере
1280 – id текущего пользователя (только чтение)
1281 – имя текущего пользователя (только чтение)
2048 – номер текущего сеанса/комнаты (только чтение)
2049 – название текущего сеанса/комнаты (чтение и запись)


Azo 04.03.2009 17:55

пробовал user_vars(1281); но не выходит(

qazwsx 04.03.2009 18:23

Код 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;
        }
}



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

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