OneNote에서 문서를 로드하는 방법을 다룹니다.
사전 요구사항
- Microsoft identity platform 지침에 따라 애플리케이션을 등록합니다.
- 등록이 완료되면 Azure portal에 앱 등록의 개요 창이 표시됩니다. Application (client) ID가 표시됩니다.
client ID라고도 하는 이 값은 Microsoft identity platform에서 애플리케이션을 고유하게 식별합니다. - 항목 1에서 수행할 단계 중에 redirect URI를
http://localhost:8000/callback으로 설정할 수 있습니다. - 항목 1에서 수행할 단계 중에 Application Secrets 섹션에서 새 password(
client_secret)를 생성합니다. - 이 문서의 지침에 따라 애플리케이션에 다음
SCOPES(Notes.Read)를 추가합니다. pip install msal및pip install beautifulsoup4명령을 사용하여 msal 및 bs4 패키지를 설치해야 합니다.- 단계가 끝나면 다음 값을 가지고 있어야 합니다:
CLIENT_IDCLIENT_SECRET
🧑 OneNote에서 문서를 가져오기 위한 지침
🔑 인증
기본적으로OneNoteLoader는 CLIENT_ID와 CLIENT_SECRET 값이 각각 MS_GRAPH_CLIENT_ID와 MS_GRAPH_CLIENT_SECRET라는 이름의 환경 변수로 저장되어 있어야 합니다. 애플리케이션 루트에 있는 .env 파일을 통해 또는 스크립트에서 다음 명령을 사용하여 이러한 환경 변수를 전달할 수 있습니다.
~/.credentials/ 폴더에 token(onenote_graph_token.txt)을 저장합니다. 이 token은 나중에 앞서 설명한 복사/붙여넣기 단계 없이 인증하는 데 사용할 수 있습니다. 인증에 이 token을 사용하려면 loader를 인스턴스화할 때 auth_with_token 매개변수를 True로 변경해야 합니다.
🗂️ Documents loader
📑 OneNote Notebook에서 페이지 로드하기
OneNoteLoader는 OneDrive에 저장된 OneNote notebook에서 페이지를 로드할 수 있습니다. notebook_name, section_name, page_title의 조합을 지정하여 특정 notebook 아래, 특정 section 아래 또는 특정 제목을 가진 페이지를 필터링할 수 있습니다. 예를 들어, OneDrive의 모든 notebook 내에서 Recipes라는 section 아래에 저장된 모든 페이지를 로드하려는 경우입니다.
📑 Page ID 목록에서 페이지 로드하기
또 다른 방법은 로드하려는 각 페이지에 대한object_ids 목록을 제공하는 것입니다. 이를 위해서는 Microsoft Graph API를 쿼리하여 관심 있는 모든 문서 ID를 찾아야 합니다. 이 링크는 문서 ID를 검색하는 데 도움이 되는 endpoint 목록을 제공합니다.
예를 들어, notebook에 저장된 모든 페이지에 대한 정보를 검색하려면 https://graph.microsoft.com/v1.0/me/onenote/pages에 요청을 해야 합니다. 관심 있는 ID 목록을 얻으면 다음 매개변수로 loader를 인스턴스화할 수 있습니다.
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.