Microsoft OneDrive (이전 명칭 SkyDrive)는 Microsoft에서 운영하는 파일 호스팅 서비스입니다.
이 노트북은 OneDrive에서 문서를 로드하는 방법을 다룹니다. 기본적으로 문서 로더는 pdf, doc, docx, txt 파일을 로드합니다. 적절한 파서를 제공하여 다른 파일 유형을 로드할 수 있습니다(아래 참조).
전제 조건
- Microsoft identity platform 지침에 따라 애플리케이션을 등록하세요.
- 등록이 완료되면 Azure 포털에 앱 등록의 개요 창이 표시됩니다. Application (client) ID가 표시됩니다.
client ID라고도 하는 이 값은 Microsoft identity platform에서 애플리케이션을 고유하게 식별합니다. - 항목 1에서 따를 단계 중에 리디렉션 URI를
http://localhost:8000/callback으로 설정할 수 있습니다. - 항목 1에서 따를 단계 중에 Application Secrets 섹션에서 새 비밀번호(
client_secret)를 생성하세요. - 이 문서의 지침에 따라 다음
SCOPES(offline_access및Files.Read.All)를 애플리케이션에 추가하세요. - Graph Explorer Playground를 방문하여
OneDrive ID를 얻으세요. 첫 번째 단계는 OneDrive 계정과 연결된 계정으로 로그인했는지 확인하는 것입니다. 그런 다음https://graph.microsoft.com/v1.0/me/drive에 요청하면 응답이 OneDrive 계정의 ID를 보유하는id필드가 있는 페이로드를 반환합니다. pip install o365명령을 사용하여 o365 패키지를 설치해야 합니다.- 단계가 끝나면 다음 값이 있어야 합니다:
CLIENT_IDCLIENT_SECRETDRIVE_ID
🧑 OneDrive에서 문서 수집 지침
🔑 인증
기본적으로OneDriveLoader는 CLIENT_ID와 CLIENT_SECRET 값이 각각 O365_CLIENT_ID 및 O365_CLIENT_SECRET라는 환경 변수로 저장되어야 합니다. 애플리케이션 루트에 .env 파일을 통해 이러한 환경 변수를 전달하거나 스크립트에서 다음 명령을 사용할 수 있습니다.
~/.credentials/ 폴더에 토큰(o365_token.txt)을 저장합니다. 이 토큰은 나중에 앞에서 설명한 복사/붙여넣기 단계 없이 인증하는 데 사용할 수 있습니다. 이 토큰을 인증에 사용하려면 로더 인스턴스화에서 auth_with_token 매개변수를 True로 변경해야 합니다.
🗂️ 문서 로더
📑 OneDrive 디렉토리에서 문서 로드
OneDriveLoader는 OneDrive 내의 특정 폴더에서 문서를 로드할 수 있습니다. 예를 들어 OneDrive 내의 Documents/clients 폴더에 저장된 모든 문서를 로드하려는 경우입니다.
📑 문서 ID 목록에서 문서 로드
또 다른 가능성은 로드하려는 각 문서에 대한object_id 목록을 제공하는 것입니다. 이를 위해 Microsoft Graph API를 쿼리하여 관심 있는 모든 문서 ID를 찾아야 합니다. 이 링크는 문서 ID를 검색하는 데 유용한 엔드포인트 목록을 제공합니다.
예를 들어 Documents 폴더의 루트에 저장된 모든 객체에 대한 정보를 검색하려면 https://graph.microsoft.com/v1.0/drives/{YOUR DRIVE ID}/root/children에 요청해야 합니다. 관심 있는 ID 목록이 있으면 다음 매개변수로 로더를 인스턴스화할 수 있습니다.
📑 지원되는 파일 유형 및 선호 파서 선택
기본적으로OneDriveLoader는 기본 파서를 사용하여 document_loaders/parsers/registry에 정의된 파일 유형을 로드합니다(아래 참조).
OneDriveLoader에 handlers 인수를 전달하여 이 동작을 재정의할 수 있습니다. 파일 확장자("doc", "pdf" 등) 또는 MIME 유형("application/pdf", "text/plain" 등)을 파서에 매핑하는 딕셔너리를 전달하세요. 파일 확장자 또는 MIME 유형 중 하나만 독점적으로 사용해야 하며 혼합할 수 없습니다.
파일 확장자에 선행 점을 포함하지 마세요.
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.