Тема: [Вконтакте] Не публикует фото на стене
Показать сообщение отдельно
Старый 14.09.2010, 22:40
alexus_28 вне форума Посмотреть профиль Отправить личное сообщение для alexus_28 Найти все сообщения от alexus_28
  № 3  
Ответить с цитированием
alexus_28

Регистрация: Sep 2010
Сообщений: 11
Вот полный код, в нем планирую формировать нужный мне муви клип и публиковать на стене у друзей:
Код AS3:
package 
{
    import flash.display.MovieClip;
    import flash.events.*;
    import Provider;
    import api.*;
    import flash.filters.GlowFilter;
 
    import api.DataProvider;
    import api.MD5;
    import api.serialization.json.*;
    import flash.net.*;
    import flash.events.*;
 
 
    import flash.utils.Timer;
    import flash.events.TimerEvent;
 
    import flash.filters.GlowFilter;
 
    import flash.display.BitmapData;
    import flash.utils.ByteArray;
    import flash.display.Loader;
    import flash.net.URLVariables;
    import com.adobe.images.JPGEncoder;
 
    public class main extends MovieClip
    {
        var UploadURL:String;//адрес сервера на который грузить фотки;        
        public var App:*;
        public var testMode:Boolean = true;
        public var userId:Number = 93176591;
        public var appId:Number = 1928281;
        public var key:String = "B30uPLnWE4";
        public var API_SERVER_URL:String;
        public var Vars:*;
        public var _URL:String = "";
 
        public function main():void
        {
            getPhotoUploadServer();
        }
                //Check os the application installed
        public function getPhotoUploadServer()
        {
            var dataprovider = new DataProvider(appId,key,userId,testMode);
            dataprovider.setup({onError:cError});
            dataprovider.request("wall.getPhotoUploadServer",{onComplete:cComplete});
 
            function cComplete(result:*)
            {
                UploadURL=result.upload_url;
                upLoadPhoto();
            }
            function cError(error)
            {
                trace("Error");
            }
        }
        function upLoadPhoto():void
        {
            var bmd:BitmapData = new BitmapData(800,600,false);//--создаем bitmapdata
            bmd.draw(stage);
            //--рисуем в битмапе интересующий мувиклип;
 
            var byteArrayScr:ByteArray = new JPGEncoder(85).encode(bmd);
 
            var mll:MultipartURLLoader = new MultipartURLLoader();
            mll.addEventListener(Event.COMPLETE, onUploadCompleteThroughAlarm);
            mll.addFile(byteArrayScr, "filegghg.jpg", "photo", 'image/jpg');
            mll.load(UploadURL);
 
            function onUploadCompleteThroughAlarm(event:Event):void
            {
                trace(event.currentTarget.loader.data);
                savePhotos(parseServerAck(event.currentTarget.loader.data as String));        
            }
        }
        public function parseServerAck(serverAck:String):*
        {
            var result:* = new Object  ;
            for each (var pair:String in serverAck.split(/\s*[{},]\s*/))
            {
                var tmp:Array = pair.split(/\s*[:"]\s*/);
                if (  (tmp[1] == "server")
                || (tmp[1] == "photo")
                || (tmp[1] == "aid")
                || (tmp[1] == "hash"))
                {
                    result[tmp[1]] = tmp[4];
                }
            }
            return result;
        }
        function savePhotos(serverAck:*):void
        {
            var variables:URLVariables = new URLVariables() ;
            for(var key:String in serverAck)
            {
                variables[key] = serverAck[key];
            }
            savePost(variables.server, variables.photos, variables.hash);
        }
        public function savePost(cserver:*,cphoto:*,chash:*)
        {
            var dataprovider = new DataProvider(appId,key,userId,testMode);
            trace(chash);
            dataprovider.setup({onError:cError});
            dataprovider.request("wall.savePost",{params:{wall_id:userId,server:cserver,photo:cphoto,hash:chash},onComplete:cComplete});
 
            function cComplete(result:*)
            {
                trace(result);
            }
            function cError(error)
            {
                trace(error);
            }
        }
    }//main extends MovieClip
}
Если кто поможет буду очень благодарен

Добавлено через 37 часов 52 минуты
Господа Flasher-ы? пожалуйста, не будьте равнодушны, с этой проблемой уже третий день мучаюсь. Помогите Плиз

Добавлено через 48 часов 13 минут
Извините за беспокойство, нашел ошибку. Элементарная невнимательность!