notion-py를 사용하여 캘린더 만들기

2021. 8. 8. 00:12분석 Python/구현 및 자료

728x90

다들 테이블 만드는 것은 있는데, 캘린더 만드는 것은 없는 것 같아서 글을 적어보고자 한다.

 

 

목차

     

    notion-py 설치

    https://github.com/jamalex/notion-py

    pip3 install notion

    notion token 값 얻기 

    아래 글을 참고해주시면 된다.

    간단하게 크롬에서 notion 페이지 들어가서 

    F12 -> Application -> Cookies -> notion.com -> token_v2에 있는 값을 가져오면 된다.

    https://minimin2.tistory.com/99

     

    소스 설명

    token_v2 = ### 
    url = ### (적용하고자 하는 노션 위치)
    client = NotionClient(token_v2 = token_v2)
    page = client.get_block(url)
    ## childern page 하나 만들기
    def get_collection_schema():
        return {
            "title" : {"name" : "content", "type" : "title"}, ## 중요
            "day" : {"name" : "day", "type" : "date"}, ## 중요
            "person" : {"name" : "person", "type" : "text"},
        }
    child_page = page.children.add_new(CollectionViewPageBlock)
    child_page.collection = client.get_collection(
        client.create_record('collection', parent=child_page, schema=get_collection_schema())
    )
    child_page.title = "schedule"

    일단 스키마를 적용해야 하는데, 반드시 해야하는 것은 title, day의 타입을 정해야 하고, title이라고 명시를 해줘야 한다.

     

    그다음에 한 줄을 추가해보자 

    row = child_page.collection.add_row() 
    row.set_property('title', "content!")
    row.set_property('day', datetime.strptime("2021-08-08",'%Y-%m-%d'))
    row.set_property('person', "나,너,우리")

     

    그리고 view_type을 table이 아닌 calendar로 하면 된다.

     

    view = child_page.views.add_new(view_type='calendar', )

    그러면 자동으로 calendar가 생성된다!

    ToDoList

    찾아보고 있지만, 못한 기능은 다음과 같다.

    • multi_select
    • select
    • property 열기 

    이것들에 대해서 알고 있다면, 지식 전수 좀 부탁드리겠습니다...

     

    Reference

    Content URL
    notion-py를 사용하여 자동으로 페이지와 테이블 만들기 https://medium.com/@leejukyung/notion-py%EB%A1%9C-%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C-%ED%8E%98%EC%9D%B4%EC%A7%80%EC%99%80-%ED%85%8C%EC%9D%B4%EB%B8%94-%EB%A7%8C%EB%93%A4%EA%B8%B0-5b685e8c8a5d
    token 얻기 https://minimin2.tistory.com/99
       
       
    728x90