Skip to content
Springnote API library using OAuth in python
Python C
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib
test
.gitignore
README.mkd
debug.textile
env.py
example.py
oauth.textile
springnote.py
usage.textile

README.mkd

사용법

springnote_oauth.py는 스프링노트 서비스를 이용하는 python library입니다.

springnote 라이브러리를 이용해서 정당한 권한을 획득하면 springnote.com에 저장돼 있는 리소스에 마음껏 접근할 수가 있습니다. 먼저 인증 과정을 거쳐서 접근 토큰(access token)을 얻은 뒤에 내가 작성한 페이지를 보거나 할 수 있습니다.

from springnote import Springnote
sn = Springnote(consumer_token=('key:있으면넣고', 'secret:없으면디폴트'))
  1. resource에 접근할 access token을 얻습니다. 혹시 이전에 받은 것이 있다면 그것을 사용해도 괜찮습니다.

    Springnote().fetch_access_token()
    
  2. access token을 이용해서 필요한 요청을 날리세요.

    from springnote import Page
    all_pages = Page(sn).list()
    

인증하기

OAuth 인증 방식을 이용합니다.

  1. request token 얻기

    request_token = sn.fetch_request_token()
    print (request_token.key, request_token.secret)
    
  2. request token으로 인증 URL을 만들 수 있습니다. 사용자가 직접 인증 페이지에 가서 허락을 해야 합니다. access token을 새로 만들 때는 항상 해줘야 하는 과정입니다.

    print "아래 링크 클릭하고 인증 허락해주세요 ;ㅁ;"
    print sn.authorize_url(request_token)
    
  3. 인증이 됐으면 access token을 얻어올 수 있습니다.

    sn.fetch_access_token(request_token)
    print "인증 완료. 이거 기억해두세요:", sn.access_token
    

리소스 요청하기

  • 몽땅 보여줘!

    all_pages = sn.list_page()
    
  • 제목이 그거였는데... [검색]

    pages_with_same_title = sn.search_page("아무도 안 쓸 것 같은 제목")
    
  • 새 페이지 만들기

    new_page = Page(sn, title="새로 만드는 페이지", source="냉무", tags="test")
    new_page.id     # None
    new_page.save()
    new_page.id     # id값이 들어 있어요
    
  • 전에 그 페이지 가져오기

    page = sn.get_page(id=some_id)
    
  • 페이지 편집/저장

    page = sn.get_page(some_id)
    page.title  = "코펜하겐 기후 변화가 동아시아 경제에 미치는 영향"
    page.source = "심각합니다."
    page.tags   = ["썰렁유머"]
    page.save()
    
  • 썰렁 유머 따위 사라져버려~ [삭제]

    worthless_page = sn.list_page(tags="썰렁유머")[0]
    worthless_page.delete()
    

[[자세한 사용법]]을 보면 더 많은 것을 알 수 있습니다.

주의사항

  • 애플리케이션을 개발할 땐 consumer token을 바꿔주세요. consumer token은 각 애플리케이션(consumer)이 스프링노트(service provider)에게 자기가 누구인지 알려주는 증명서입니다. API 센터에서 각자 애플리케이션을 등록하고 받은 consumer token을 넣어주세요. 기본은 라이브러리의 consumer token(Springnote python library with OAuth support)입니다.

  • access token이 유출되었으면 즉시 112에.. access token은 비밀번호와 같은 역할을 하기 때문에, 만일의 경우 유출될 경우 극심한 불안에 떨게 됩니다(탈모, 수면장애 등). access token이 유출되었다고 생각하는 사용자는 즉시 API 센터로 달려가 access token을 삭제해 주세요. 그래도 비밀번호가 유출되는 것보단 안전하잖아요 :)

Something went wrong with that request. Please try again.