Flickr 사진 업로드 쉽게 하기

http://www.flickr.com

플리커에서 1테라를 무료로 준단다. 그래서 하드에 가지고 있는 사진을 다 올리려고 했는데 너무 불편하고 오래 걸린다. 그래서 Flickr API를 사용하기로 했다.

 

1.  flickr api key, secret, nsid 가져오기

http://www.flickr.com/services/apps/create/apply/ 에서 키를 생성한다

비상업용 키 신청

 

App이름과 내용에 대해서 적는다. (아무렇게나 적어도 상관없음)

아래와 같이 api key와 secret이 생성되었다.

 

nsid는 http://www.flickr.com/services/api/keys/ 로 가면 주소창에 표시됩니다. (빨간 테두리안에 내용)

2. jar 파일 다운로드

https://github.com/entercritical/SwanFlickrUploader

Raw를 클릭해서 파일을 저장한다.

 

3. JDK 설치

JDK를 설치해야한다.

http://www.oracle.com/technetwork/java/javase/downloads/index.html

 

4. jar 실행

java -jar SwanFlickrUploader.jar [api key] [secret] [nsid] [사진있는 디렉토리 경로]

사진이 있는 디렉토리는 전체 경로로 표시해주고 해당 디렉토리에 하위 디렉토리가 플리커의 세트 이름이 됩니다.

(예를 들어  D:\Pictures\2005\aaa  라는 디렉토리 밑에 사진이 있다면, D:\Pictures\2005 를 인자로 줍니다. aaa는 세트명이 됩니다.)

아래와 같이 실행하면 인증 관련해서  token을 입력해야 합니다. 빨간 네모박스의 URL을 웹브라우저에 입력하면

아래와 같이 인증 화면이 뜨는데 허용합니다를 클릭하면

 

번호가 나옵니다. 이것을 프로그램에 입력합니다.

 

위와 같이 나오면 성공이다.

폴더명이 세트명으로 되고  title은 파일명으로 해서 업로드 된다.
5. 참고 (개발시 유의사항)

 

 

* 개발 환경 : Java, Flickr4Java 사용

* Flickr API를 사용하기 위해서 몇가지 다운 받아야한다.

5.1. Flickr4Java : Java에서 Flickr API를 사용할 수 있게 해주는 라이브러리다

https://github.com/callmeal/Flickr4Java

5.2. Scribe : Flickr4Java에서 사용한다

http://mvnrepository.com/artifact/org.scribe/scribe/1.3.3

5.3. Log4j : 위와 같음

http://logging.apache.org/log4j/2.x/

5.4. Commons codec : 위와 같음

http://commons.apache.org/proper/commons-codec/

 

Advertisements

Flickr 사진 업로드 쉽게 하기”에 대한 8개의 생각

  1. 이동우

    Exception in thread “main” com.flickr4java.flickr.FlickrRuntimeException: java.io.IOException: Server returned HTTP response code: 403 for URL: http://api.flickr.com:80/services/rest/?api_key=44a51773298839865e1cc59378f32dd2&api_sig=c9546cf8ee090bcf58212937be4a401e&method=flickr.auth.oauth.checkToken&oauth_token=72157663521582163-947454bdbb5a1064
    at com.flickr4java.flickr.REST.getNonOAuth(REST.java:237)
    at com.flickr4java.flickr.auth.AuthInterface.checkToken(AuthInterface.java:177)
    at com.flickr4java.flickr.auth.AuthInterface.checkToken(AuthInterface.java:161)
    at com.swan.swanflickruploader.Upload.authorize(Upload.java:58)
    at com.swan.swanflickruploader.Upload.upload(Upload.java:203)
    at com.swan.swanflickruploader.Upload.main(Upload.java:242)
    Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://api.flickr.com:80/services/rest/?api_key=44a51773298839865e1cc59378f32dd2&api_sig=c9546cf8ee090bcf58212937be4a401e&method=flickr.auth.oauth.checkToken&oauth_token=72157663521582163-947454bdbb5a1064
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1839)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1440)
    at com.flickr4java.flickr.REST.getNonOAuth(REST.java:222)
    … 5 more

    이런 오류가 나는데 어떻게해야 하나요?

    좋아요

    응답
  2. 이동우

    이클립스에다가 복붙해서 실행을 시켰는데
    메인문에서
    if (args.length < 4) {
    System.out
    .println("Usage: java -jar SwanFlickrUploader.jar api_key secret nsid target_dir");
    System.exit(1);
    }
    이게 실행이 됩니다 위에서 인자값을 넣어줬는데도 그러네요
    setup.properties문제 같은데 그건 어디다가 생성해줘야되는건가요?

    좋아요

    응답
      1. 이동우

        저는 자동으로 업로드 되게끔 코드를 바꾸고 있어서요ㅠㅠ저는 실행하면
        경로의 있는 사진을 자동으로 업로드 되게끔 하고 싶은데 url로 들어가면 허용합니다 누르고 숫자9자리를 입력하라고 나오면 업로드가 되던데 이 과정을 없앨 수가 있나요???

        좋아요

      2. 이동우

        Flickr api 스펙이라는 말씀이 어떤 말인가요??? 스펙이라는 말을 처음들어봐서ㅠㅠ 그럼 코딩을해도 무조건 한번은 해야한다는건가요?

        좋아요

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중