어서 알송보다 더 좋은 AIR기반의 Desktop용 mp3플레이어가 나왔으면 좋겠어요!
AIR로 제작한다면 꽤나 멋진 플레이어가 나올 듯 한데 ^^

ADOBE사의 제품은 예전부터 참 좋아했었어요-_-;
Photoshop의 합성은 정말 충격적이었어요!
예전에 고등학교 친구녀석이 고등학교 때 소풍단체사진을 스캔을 떠서 친구 얼굴을 오려서 주유소습격사건 포스터에 합성했던 기억이 나요! 그 녀석 합성의 달인이였는데-_-;

그리고 Adobe Reader는 뷰어가 이렇게 이쁘게 보여질 수 있다는 것을 보여준 좋은 예였죠^^

게다가 인터넷 서핑하다가 안 볼 수가 없는 Flash!!! (사실 이건 Macromedia사꺼였지만^^)

그리고 깔끔한 제품의 로고들이 참 좋아요. 전혀 복잡해보이지 않는 로고! ^^


사용자 삽입 이미지

Fx만으로도 깔끔하면서도 멋진 로고를 연출해낸-_-; 나만 멋지게 보이는건가-_-;
어쨌든 좋아요 ^^

그런데 다른 것들은 대부분 Beta1, Beta2, Beta3, Release Candidate1, Release Candidate 2, 정식~ 이런순으로 가는데 이건뭐 Beta3에서 바로 출시해버리네요-_-;

이번에는 Desktop Application을 쉽게 제작할 수 있는 AIR도 포함되어 있어서 더욱 멋지네요.
웹 기술로 Desktop Application을 제작한다면 정말 손쉽게 웹에 관련된 것을 연동할 수 있고, 여러가지 장점들이 있겠죠 ^^ 하지만, 그에 비해서 단점도 좀 있는 듯 합니다. C/C++, JAVA보다 약간 제한적이겠죠. Action Script가 아무리 강력하다지만, 아직은 쟤네덜 보단 약한 것 같습니다. 그래서 ADOBE에서 Action Script 4를 낸다고 한 것을 열이아빠님 블로그에서 본 듯 하네요.

그리고 RIA시장에서는 MS가 가세를 했죠. SilverLights라는 놈을 내놨는데 이 놈은 정말 막강한 놈이라고 하네요. .NET 라이브러리를 서버단이 아닌 클라이언트단에서도 사용할 수 있게 하는.... ADOBE에게 빼앗긴 웹시장을 차지하려고 하는 움직임인 듯하네요.

예전에 MS에서 주최하는 실버라이트세미나를 갔었는데 아직 Flash보다는 약하지만, 점점 버전업을 하고 있는 듯 합니다. 샘플을 봤을 때에 참 놀라웠습니다. 게다가 WPF라고 하는 놈은 웹에서 사용할 수도 있는데 XBAP이라고 하더군요. 이놈은 3D가속까지 지원하는 미친놈이였습니다.

MS가 이번에 야후도 먹을라고 하고 웹시장을 예측하는 걸까요?-_-; 완전 다 먹으려고하네-_-;
어쨌든 이야기가 좀 샜습니다만, AIR로 개발된 유틸리티들이 많이 나왔으면 하네요 ^^
 
Posted by 머드초보

댓글을 달아 주세요

 
몰랐는데 AIR에서도 되네요-_-;

우선 http://mudchobo.tomeii.com/tt/211 이거랑
http://mudchobo.tomeii.com/tt/214 이거를 참조하셔서 새로운 blazeds.war를 만들어서 톰캣에 띄워야합니다.

New Project로 만들고, ProjectName을 AirBlazedsTest라고 합시다.
Desktop application을 선택하고 J2EE를 선택하고, 넥스트를 누릅니다 ^^

Server location은 위에 따라했다면 그대로 되어 있을꺼에요^^
Finish를 클릭해줍시다.

AIR에서는 좀 다르게 몇줄을 더 추가해야하는데요.

[code]
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
   layout="absolute">
 <mx:Script> 
  <![CDATA[
   import mx.messaging.ChannelSet;
   import mx.messaging.channels.AMFChannel;  
   import mx.rpc.events.ResultEvent;  
   import mx.rpc.events.FaultEvent;  
   import mx.rpc.remoting.RemoteObject;  
   import mx.controls.Alert;     
   private var startTime:Number;      
   private function resultHandler(event:ResultEvent):void{       
    dg.dataProvider = event.result;  
   }     
   
   private function faultHandler(event:FaultEvent):void{       
    mx.controls.Alert.show("실패 메세지 : " + event.fault.message);  
   }     
   
   private function retrieve():void  {  
    var amfChannel:AMFChannel = new AMFChannel(
     "my-amf", "http://localhost:8080/blazeds/messagebroker/amf");
    var channelSet:ChannelSet = new ChannelSet();
    channelSet.addChannel(amfChannel);
   
    var srv:mx.rpc.remoting.RemoteObject = new RemoteObject();  
    srv.channelSet = channelSet;
    srv.destination = "member";      
    startTime = new Date().time;  
    srv.getElements();       
    srv.addEventListener("result",resultHandler);  
    srv.addEventListener("fault",faultHandler);  
   }    
   
   private function logResult():void  {  
    if (startTime > 0)   {   
     log.text = "" + (new Date().time - startTime) + " milliseconds"; 
    } 
   }   
  ]]>
 </mx:Script>  
 
 <mx:Panel title="AS를 이용한 RemoteObject예" width="100%" height="100%"> 
  <mx:DataGrid id="dg" width="100%" height="100%"                 
   updateComplete="logResult()"/>  
  <mx:ControlBar>   
   <mx:Button label="데이터 가져오기" click="retrieve()"/>  
   <mx:Label id="log"/>  
  </mx:ControlBar>
 </mx:Panel>
</mx:WindowedApplication>
[/code]

사용자 삽입 이미지


AIR에서도 돼요-_-; 레몬펜그은부분만 추가를 해주시면 돼요 ^^
 
Posted by 머드초보

댓글을 달아 주세요

  1. 2008.01.31 20:34  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • BlogIcon 머드초보 2008.02.01 00:24  댓글주소  수정/삭제

      너무 감사합니다 ㅠㅠ
      눈물이 앞을 가려요 ㅠㅠ
      방명록은 상단에 있답니다 ^^
      우선 카페가입했습니다. 너무 감사드려요!
      열심히 하겠습니다!!!

    • 이성민 2008.02.05 00:31  댓글주소  수정/삭제

      모야 내이름은? 나도 이곳을 주시 하고 있다는거 모르나? ㅋㅋㅋ 왜 없어 내이름!!! ㅋㅋ 얼렁 적어넣어라

    • BlogIcon 머드초보 2008.02.05 08:16  댓글주소  수정/삭제

      -_-; 나중에 다른 예제가 있으면 넣어주마-_-;

  2. BlogIcon 옹씨루 2008.02.21 00:43  댓글주소  수정/삭제  댓글쓰기

    유익한 정보 감사합니다~

  3. BlogIcon 고고마 2008.12.01 16:12  댓글주소  수정/삭제  댓글쓰기

    음.. 전 weblogic9.2와 LCDS2.5.1을 써서 동일하게 해봤는데요. remoting-config.xml 부분을 고치게 되면
    weblogic에서는 console에서 디플로이를 시켜서 flex.war를 갖다가 자동으로 사용하는데
    다시 고친다면 flex.war를 다시 이클립스에서 열어서 고치고 export를 시킨 후 다시 디플로이 시켜야 실행이 되려나요.
    실패 메세지 :
    faultCode:Server.Processing faultString:'No destination with id 'member' is registered with any service.' faultDetail:'null'
    위의 메시지가 자꾸 뜨는데.. service등록이 안되었다는 건데 후우.. 하루종일 이러고 있네요 ㅠㅠ

    • 머드초보 2008.12.02 17:45  댓글주소  수정/삭제

      음.....뭔가 null이라는 얘기인 듯 한데요.
      웹로직에서 안해봐서 잘 모르겠네요 ㅠㅠ

  4. BlogIcon 고고마 2008.12.03 10:32  댓글주소  수정/삭제  댓글쓰기

    오 되었어요 ^^; AMF 웹루트 경로를 제가 잘못 썼네요 아우 기분좋네요 ! 엉뚱한 것만 찾고 있었네요

  5. 컴온예 2009.02.15 15:58  댓글주소  수정/삭제  댓글쓰기

    정말 많은 도움이 됐네요!!
    다들 대단한 실력자들이신가봐요.

    지돌스타, 머드초보, 에이레네 등등...
    부럽습니다.

    많은 도움받아가요...

    • 머드초보 2009.02.16 18:11  댓글주소  수정/삭제

      도움이 되셨다니 다행이네요^^
      근데 전 실력자가 아닙니다-_-; 저 실력자분들에 비하면 뭐 아무것도 아닙니다-_-;
      방문해주셔서~ 감사해요 ^^

  6. 2009.08.21 10:03  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • 머드초보 2009.08.23 19:27  댓글주소  수정/삭제

      안녕하세요~
      제가 이해를 잘 못했는데요-_-
      우선 데이터를 Flex컴포넌트 tree에 맞게 보여주려고 하시는건가요?
      BlazeDS는 데이터를 연동하는 것입니다.
      remoteobject를 이용해서 tree에 맞는 데이터를 가져오면 잘 될 듯한데요-_-
      죄송해요 이해가 잘 안되네요 ㅠㅠ

 
오늘도 삽집을 하고 있는데요.

AIR에서는 File이라는 클래스를 사용할 수 있더군요.
File클래스를 자세히 보면 FileReference클래스를 상속받고 있어요.
기존에 Flash나 Flex Application에서는 보안상 문제로 파일을 Browse()를 통해서 선택이 되어도 전체경로는 나오지 않습니다. FileReference속성에는 name이라는 속성이 있는데 읽기 전용이며 Browse()통해 파일이 선택이 되면 name속성에는 파일 이름만 들어갑니다.
(어느 플래시카페를 보니까 자바스크립트로 가져오는 법을 올려놨더라구요^^)

하지만, File이라는 클래스는 nativePath라는 속성을 제공하는데 이건 전체경로까지 다나옵니다.
단, AIR에서만 됩니다-_-;

저도 전체 경로가 필요해서 찾고 있었는데 이렇더라구요 ^^
AIR에서는 FileReference를 사용하지 말고, File을 사용하세요.
그대로 상속받고 있기 때문에 다 사용할 수 있구요.
기능도 더 추가된 것 같은데-_-; 아...로컬에 있는 파일을 컨트롤 할 수 있을 껍니다 ^^

뭐 결론은 AIR에서는 File을 쓰고, Flex나 Flash에서는 FileReference(뭐 File클래스를 여기서 사용할 수 없습니다^^)를 사용해요 ^^

혹시 AIR로 뭔가 하려는 분중에 FileReference에서 전체경로를 찾고 계신 분이 있을 것 같아서 올려요^^
 
Posted by 머드초보

댓글을 달아 주세요

  1. BlogIcon lahuman 2012.05.17 17:58  댓글주소  수정/삭제  댓글쓰기

    좋은 정보 감사합니다.

 

이제 소스를 보도록 합시다.

아....근데 다른 언어를 이용해서 업로더를 구현해보신 분 계신가요? 플렉스에서는 이상하게 제목을 한글로 입력해서 업로드를 해버리면 업로드가 안되더군요.
MD5함수를 수정하면 가능합니다. ^^
이 부분은 좀 더 삽질을 해봐야할 부분인 것 같군요.
우선 영어는 뭐 잘 되니까-_-;

[code]
<mx:Script>
  <![CDATA[
   import com.adobe.webapis.flickr.methodgroups.Upload;
   import mx.controls.Alert;
   import flash.net.navigateToURL;
   import com.adobe.webapis.flickr.AuthPerm;
   import com.adobe.webapis.flickr.events.FlickrResultEvent;
   import com.adobe.webapis.flickr.methodgroups.Auth;
   import com.adobe.webapis.flickr.FlickrService;
 
   public var apikey:String = "해당API키";
   public var secretkey:String = "해당비밀키";
   public var flickrService:FlickrService;
   public var frobResult:FlickrResultEvent;
   public var frob:String = new String();
   public var token:String = new String();
   public var fileRef:FileReference;
   
   public function Authentication():void {
    flickrService = new FlickrService(apikey);
    flickrService.secret = secretkey;
    flickrService.addEventListener(
        FlickrResultEvent.AUTH_GET_FROB, getFrobResponse);
    flickrService.auth.getFrob();
   }
   
   public function getFrobResponse(event:FlickrResultEvent):void {
    if (event.success) {
     frob = String(event.data.frob);
     var auth_url:String = flickrService.getLoginURL(frob, AuthPerm.WRITE);
     navigateToURL(new URLRequest(auth_url), "_blank");
     Alert.show( "인증하기위한 브라우저가 뜰꺼에요."
        + "로그인한다음에 OK버튼을 누르세요^^",
        "인증",
        Alert.OK | Alert.CANCEL,
        null,
        onCloseAuthWindow );
    }
   }
   
   private function onCloseAuthWindow( event:* ):void {
    if ( event.detail == Alert.OK ) {
     flickrService.addEventListener(
        FlickrResultEvent.AUTH_GET_TOKEN, getTokenResponse );
     flickrService.auth.getToken( frob );
    }
   }

   private function getTokenResponse( event:FlickrResultEvent ):void {
    if ( event.success ) {
     token = event.data.auth.token;
     flickrService.token = token;
    } else {
     Alert.show("인증에 실패했습니다.");
    }
   }
   
   public function findFile():void {
    if (token == "") {
     Alert.show("인증부터 하세요!");
     return;
    }
    fileRef = new FileReference();
   
    try {
        fileRef.addEventListener(Event.SELECT, selectHandler);
        fileRef.addEventListener(Event.COMPLETE, completeHandler);
        fileRef.addEventListener(
           DataEvent.UPLOAD_COMPLETE_DATA, onUploadCompleteData);
        var success:Boolean = fileRef.browse();
       } catch (error:Error) {
           trace("Unable to browse for files.");
       }
   }
   
   public function selectHandler(event:Event):void {
    var uploader:Upload = new Upload(flickrService);
    uploader.upload(fileRef);
   }
   
   public function checkTokenResponse(event:FlickrResultEvent):void {
    Alert.show(event.data.auth.token);
   }
   
   public function completeHandler(event:Event):void {
    trace("업로드 완료");
   }
   
   public function  onUploadCompleteData(event:DataEvent):void {
    Alert.show(event.data);
   }
  ]]>
 </mx:Script>
 
 <mx:Button label="인증" click="Authentication();"/>
 <mx:Button label="파일업로드" click="findFile();" />
[/code]

오.....간단합니다.
아... apikey secretkey 에는 각각 발급받은 키를 넣어주세요 ^^
인증이라는 버튼이 있는데 누르게 되면 Authentication이라는 메소드를 호출합니다.
FlickrService라는 클래스가 있는데 apikey를 인자로 받아서 생성합니다.
그러면 이놈으로 인증이 필요없는 API를 다 호출할 수 있습니다 ^^
flickrService.auth.getFrob(); 이런식으로 Frob을 얻어오고!
navigateToURL로 브라우저를 띄워서 인증url로 이동을 시킨 후 로그인을 하게 되면
flickrService.auth.getToken( frob ); 으로 인해 토큰을 가져오게 됩니다.
토큰만 가져오면 다 끝납니다-_-; 이걸로 권한에 관한 건 다할 수 있어요 ^^

이거뭐 플렉스로 해도 될 것 같아요. 안해봤는데 될 것 같아요-_-;

파일업로드 버튼을 클릭하면 파일선택창이 뜨는데 이미지사진 아무거나 선택해서 업로드하면 돼요 ^^
(참고로 이미지파일도 한글이면 안돼요. 영어로 바꿔서 선택하세요 ^^)
FileReference 요놈도 설명해야하는 나중에-_-;
되는 거 증명동영샷~-_-; (실은....좀 심심해서-_-)


 
Posted by 머드초보

댓글을 달아 주세요

  1. 안녕하세요 2008.01.29 03:22  댓글주소  수정/삭제  댓글쓰기

    flickr 매쉬업 해보려다가 여기까지 오게 되었는데요 flickr 라이브러리에서 Upload 부분을 수정하셨다고 하셨는데 죄송하지만 그 수정본좀 받아 볼 수 있을까요? 올려주신 swc 를 사용하면 upload 가 잘 되긴하는데 한글문제가 있어 md5 부분을 수정하려고 하는데요 코드.구글 에 있는 as3.0flickr 라이브러리 소스를 직접 수정하니 invalid signature 오류가 계속 뜨네요 ... md5 해쉬를 어도비 core lib 에 있는걸 써도 마찬가지로요 ... as3.0 라이브러리 그룹에 patch 내용분이 있어 거기에 맞춰 수정해도 똑같네요 ㅠㅠ 당췌 무슨 문제인지 가능하시다면 swc 만들기전 src 파일좀 부탁드리겠습니다 .

    제 메일은 neth2000@lycos.co.kr 입니다

    꼭좀 부탁드립니다~!

    • BlogIcon 머드초보 2008.01.29 08:25  댓글주소  수정/삭제

      맨 위에다가 써놨어요 ^^ 저도 한글이 안돼서요 ^^
      그리고 메일 드렸어요 ^^ 반갑네요.
      저처럼 flex로 flickr 매쉬업을 삽질하시는 분이 계시다니 ㅠ

  2. 안녕하세요 2008.01.29 11:16  댓글주소  수정/삭제  댓글쓰기

    머드초보님 답장 감사합니다~!!
    일단 정말 감사드리구요 ~! 한글 문제를 해결했습니다.~!
    정말 몇일을 이것땜에 삽질했는지 모르겠네요 ...
    문제는 메일로 말씀 드린것 처럼 MD5 가 utf-8 을 지원하지 않는 것이어서 그렇습니다 .
    core.lib 의 MD5 대신에 utf-8을 지원하는 MD5를 사용하시면 될 것 같습니다. 방금 테스트 해봤는데 잘 돼네요
    파일은 Class 로 정리 해서 나중에 메일로 보내드릴게요 ~ ^^
    .. file name 이거 하나 땜에 그 고생을 했다니 ㅠㅜ 진작에 물어볼걸 그랬나봐여 ㅋ

    • BlogIcon 머드초보 2008.01.29 13:13  댓글주소  수정/삭제

      우와! 안녕하세요님 최고에요 ^^
      게다가 알려주신다니 너무 감사하네요 ^^
      core.lib에 있는 MD5메소드가 UTF-8을 지원안하는것이었군요 ^^

  3. BlogIcon eirene 2008.05.08 09:44  댓글주소  수정/삭제  댓글쓰기

    헉.. MD5 클래스가 UTF-8 지원하게 하려면 어떻게 해야 하나요..;;; 털썩...+_+

    • 머드초보 2008.05.08 13:16  댓글주소  수정/삭제

      앗~ 에이레네님 반갑습니다^^
      저 위에 안녕하세요님이 MD5클래스를 다시 만들어주셨어요^^
      UTF-8을 지원하는 걸루 ^^
      고걸로 쓰면 되는데...제가 MD5를 이해를 잘 못해서-_-;

  4. BlogIcon eirene 2008.05.08 13:15  댓글주소  수정/삭제  댓글쓰기

    헉.. http://pajhome.org.uk/crypt/md5/ 여기서 해결했습니다 ㅋㅋㅋ ^^

    • 머드초보 2008.05.08 13:17  댓글주소  수정/삭제

      오....자바스크립트네요 ^^
      근데 실시간으로 아래 댓글이 달리네요 ^^

  5. BlogIcon eirene 2008.05.08 13:34  댓글주소  수정/삭제  댓글쓰기

    아 네 그러게요.. ㅋㅋ 자바스크립트 버전은 어차피 액션스크립트 버전과 내용상 차이가 없어서;; 함수 하나 추가하는 걸로 해결했습니다.. 저도 MD5 알고리즘을 잘 몰라서 ㅠㅠ 찾느라 욕 봤네요 ㅎㅎ ㅠ

  6. BlogIcon eirene 2008.05.08 13:38  댓글주소  수정/삭제  댓글쓰기

    테스트해 본 결과.. 인증은 어플리케이션당 한번만 필요하므로 어플리케이션을 실행할 때마다 인증받기 보다는 처음에 최초 실행할 때만 인증받고 나중에는 로컬 디비에서 토큰을 가져오는 방식이 좋을 거 같네요 ^^ me2day 매쉬업 만든다고 자료 찾아보다가 여기까지 왔네여 ㅎㅎ

    • 머드초보 2008.05.08 21:32  댓글주소  수정/삭제

      me2day도 md5로 하나보네요.
      게다가 flickr와 같이 한글과 md5문제가 있었나보군요^^
      우와 어떤 것을 만드시는지 기대되는데요? ^^

  7. BlogIcon eirene 2008.05.08 22:41  댓글주소  수정/삭제  댓글쓰기

    me2day 매쉬업을 만들면서 동시에 flickr 오픈 api랑 유튜브와도 연동하는;;; 잡스러운 걸 만들고 있어요... 언제 다 만들게 되면;; 알려드릴께요... 함수추가하는 거는 위에 링크 보시면 일반 스트링을 UTF-8로 바꾸는 함수가 하나 있어요... 그걸 액션스크립트 버전 MD5.as 에 추가하신 담에;;; (데이터 타입은 알아서;;; ) hash() 메소드인가에서 파라미터로 넘겨받은 스트링을 그 함수를 한번 걸쳐서 컨버팅하면 됩니다 ㅋㅋㅋ
    me2day도 md5를 쓰고 있기는 한데 아이디/비번이 다 영문 내지 숫자라 한글 문제는 없었습니다;;; 플리커가 문제였습죠 ㅠㅠ

    • 머드초보 2008.05.09 18:04  댓글주소  수정/삭제

      오 그렇군요 ^^
      어떤 매쉬업이 나올지 궁금하네요 ^^
      플리커API는 언제쯤 업데이트가 될지 궁금하군요 ^^
      신경 안쓰는 것 같아요 ^^

  8. BlogIcon eirene 2008.05.12 00:42  댓글주소  수정/삭제  댓글쓰기

    http://joshy21.just4fun.co.kr/Me2Wiz.air 에 지금까지 개발된 걸 배포하고 있습니다 ㅋㅋ 간단히 me2day에서 바로 로컬 이미지 플리커로 업로드해서 url 받아서 드래그 선택된 글자와 맵핑시키는 기능까지 구현돼 있습니다.. (이미지 링크시킬 글자를 마우스 드래그로 먼저 선택후 이미지 삽입 버튼 눌러서 이미지 고르면 상황 종료!) ㅋㅋ 로그인할 때 아이디는 me2day 아이디, 비번은 사용자 키;;;를 입력하면 됩니다... 플리커 인증은 최초 한번만 받고 그 다음부터는 로컬 디비에서 토큰을 가져오도록 하는 방식을 썼습니다 ^^

    플리커 api는 farm도 제공 안하고 utf-8 md5도 제공 안하고 upload도 제공 안하는 등 그 자체로는 제대로 쓸 수 없는 부분이 많더군여.. 그래서 이번에 이것들을 제가 모두 수정했습니다 ㅠㅠ 필요하신 부분 있으면 말씀하세요 ^^

    • 머드초보 2008.05.12 23:28  댓글주소  수정/삭제

      미투데이 로그인 하라고 나오는데요-_-;
      아이디하고 암호에 뭐라고 쳐야하는거죠?-_-;
      로그인이 안돼요 ㅠㅠ

  9. BlogIcon eirene 2008.05.12 23:30  댓글주소  수정/삭제  댓글쓰기

    암호에는 사용자 키ㅠㅠ를 넣어야 돼요 ^^ 로그인하고 환경설정에 보시면;;; 사용자 키가 있어요 ㅠㅠ

    • 머드초보 2008.05.14 08:23  댓글주소  수정/삭제

      아 그렇군요! 미투데이를 제가 안써봐서 그런데 그냥 댓글로 글을 쓰는건가요? ^^ 신기하네 ^^

  10. inee82 2009.11.10 17:40  댓글주소  수정/삭제  댓글쓰기

    작성하신 포스트 잘보았습니다.

    저도 요즘 플리커 업로드를 활용해보려고 하고 있는데, 한가지 문제가 자꾸 걸려서 질문 합니다.

    인증토큰까지는 잘 받아집니다. 문제는 받아둔 인증토큰을 이용하여, 사진을 올릴려고 할때, api_sig가 자꾸 문제가 생깁니다.

    invalid signature라고 뜹니다. 해당 서명을 얻기위해 MD5조합한 문장을 보여 드리겠습니다. 한줄로 나열되다 보니 복잡할지도 모르겠네요.

    비밀키 : 4d4263a0de88f921
    api_key : 239df1a5f435719c37d43c03c1860c7e
    auth_token : 72157622641849993-baab3b3caa50f1e7
    content_type = 1
    description = ccc
    hidden = 1
    is_family = 0
    is_friend = 0
    is_public = 1
    safety_level = 1
    tags = bbb
    title = aaa

    위 문장을 MD5하기위해 정리한경우엔

    4d4263a0de88f921api_key239df1a5f435719c37d43c03c1860c7eauth_token72157622641849993-baab3b3caa50f1e7content_type1descriptionccchidden1is_public1safety_level1tagsbbbtitleaaa

    와 같은 문장입니다. 이것을 MD5하여 api_sig에 넣어줬었는데...에러가....조언좀 구해볼수 있을까요?

    • 머드초보 2009.11.15 19:19  댓글주소  수정/삭제

      안녕하세요~
      오래전에 삽질한거라 기억이.....잘 안납니다만....
      죄송합니다 ㅠㅠ

 

오....삽질 끝에 해냈습니다--;
라이브러리 다 제공하는데 삽질했습니다-_-;
제목, 내용, 태그, 등등 입력하는 것 따윈 없습니다--;
오로지 이미만 선택해서 업로드해줍니다 ^^
테스트환경은 Flex Builder 3 Beta 3에서 했습니다.

우선 Flickr Open API를 사용하기 위해서는 KEY를 발급받아야 돼요 ^^
http://www.flickr.com/services/api/keys/apply/
여기를 들어가서 로그인 하시고 키를 신청하면 됩니다.
키 하고 비밀 2개를 발급받게 됩니다. 잘 기억해두세요 ^^


http://code.google.com/p/as3flickrlib/
여기가면 as3용 플리커라이브러리가 있습니다.
근데 이거 쓰면 업로드메소드가 주석처리 되어있더군요.
저 라이브러리가 릴리즈되었을 때에는 FlashPlayer가 8.5였던 것 같은데 그때는 업로드가 안되었던 것 같습니다.
9.0되면서 업로드가 되는 것 같습니다.
업로드부분을 조금 수정했습니다.

flickr.swc

한글파일명도 돼요 ^^



이거하고 어도비에서 만든거 하나 더 필요합니다.
http://code.google.com/p/as3corelib/
저기가면 여러가지 유용한 함수를 모아둔 lib인 것 같아요. 저게 필요해요!

그럼 프로젝트를 만들어봅시다.
File -> New -> Flex Project 선택 후 Desktop application에 체크하시고,
ProjectName을 FlickrUploader라고 합시다. Finish를 클릭하면 프로젝트가 만들어 집니다.
라이브러리를 추가해야하는데요. lib폴더가 있습니다.
거기다가 2개의 SWC파일을 복사해주세요. flickr.swc, corelib.swc

프로그램에서 인증을 받는 코드가 들어가는데요.
인증권한은 read, write, delete 3가지 권한이 있는 것 같아요.
미친 플리커가 API문서를 번역기 돌렸는지 이상하게 번역해놨어요-_-;
http://www.flickr.com/services/api/auth.howto.desktop.html
AIR는 데스크탑 애플리케이션이니까 데스크탑용 인증방법을 보도록합시다 ^^

인증절차를 아주 간략하게 설명하자면 이렇습니다.
Frob요청 -> Frob과요청권한을 이용해 로그인페이지로 이동 -> 사용자는 로그인 후 애플리케이션으로 돌아옴.
-> 해당애플리케이션은 로그인으로 인해 token을 얻음. -> 이토큰으로 인증이 필요한 OPEN API를 호출할 수 있음 ^^ 끝!

간단합니다. 소스는 다음 시간에!-_-;


 
Posted by 머드초보

댓글을 달아 주세요