Microsoft SharePoint는 Microsoft에서 개발한 웹사이트 기반 협업 시스템으로, 워크플로우 애플리케이션, “list” 데이터베이스, 기타 웹 파트 및 보안 기능을 사용하여 비즈니스 팀이 함께 작업할 수 있도록 지원합니다.이 노트북은 SharePoint Document Library에서 문서를 로드하는 방법을 다룹니다. 기본적으로 document loader는
pdf, doc, docx 및 txt 파일을 로드합니다. 적절한 parser를 제공하여 다른 파일 유형을 로드할 수 있습니다(아래 참조).
Prerequisites
- Microsoft identity platform 지침에 따라 애플리케이션을 등록합니다.
- 등록이 완료되면 Azure portal에 앱 등록의 Overview 창이 표시됩니다. Application (client) ID가 표시됩니다.
client ID라고도 하는 이 값은 Microsoft identity platform에서 애플리케이션을 고유하게 식별합니다. - 항목 1에서 수행할 단계 중에 redirect URI를
https://login.microsoftonline.com/common/oauth2/nativeclient로 설정할 수 있습니다. - 항목 1에서 수행할 단계 중에 Application Secrets 섹션에서 새 password(
client_secret)를 생성합니다. - 이 문서의 지침에 따라 애플리케이션에 다음
SCOPES(offline_access및Sites.Read.All)를 추가합니다. - Document Library에서 파일을 검색하려면 해당 ID가 필요합니다. 이를 얻으려면
Tenant Name,Collection ID및Subsite ID값이 필요합니다. Tenant Name을 찾으려면 이 문서의 지침을 따르세요. 이를 얻은 후 값에서.onmicrosoft.com을 제거하고 나머지를Tenant Name으로 보관합니다.Collection ID와Subsite ID를 얻으려면 SharePointsite-name이 필요합니다. SharePoint site URL은 다음 형식을 갖습니다:https://<tenant-name>.sharepoint.com/sites/<site-name>. 이 URL의 마지막 부분이site-name입니다.- Site
Collection ID를 얻으려면 브라우저에서 다음 URL을 방문하세요:https://<tenant>.sharepoint.com/sites/<site-name>/_api/site/id그리고Edm.Guid속성의 값을 복사합니다. Subsite ID(또는 web ID)를 얻으려면 다음을 사용하세요:https://<tenant>.sharepoint.com/sites/<site-name>/_api/web/id그리고Edm.Guid속성의 값을 복사합니다.SharePoint site ID는 다음 형식을 갖습니다:<tenant-name>.sharepoint.com,<Collection ID>,<subsite ID>. 이 값을 다음 단계에서 사용하기 위해 보관할 수 있습니다.- Graph Explorer Playground를 방문하여
Document Library ID를 얻습니다. 첫 번째 단계는 SharePoint 사이트와 연결된 계정으로 로그인되어 있는지 확인하는 것입니다. 그런 다음https://graph.microsoft.com/v1.0/sites/<SharePoint site ID>/drive에 요청을 해야 하며, 응답은Document Library ID의 ID를 포함하는id필드가 있는 payload를 반환합니다.
🧑 SharePoint Document Library에서 문서를 수집하기 위한 지침
🔑 Authentication
기본적으로SharePointLoader는 CLIENT_ID와 CLIENT_SECRET 값이 각각 O365_CLIENT_ID와 O365_CLIENT_SECRET라는 이름의 환경 변수로 저장되어야 합니다. 애플리케이션 루트에 .env 파일을 통해 또는 스크립트에서 다음 명령을 사용하여 이러한 환경 변수를 전달할 수 있습니다.
~/.credentials/ 폴더에 token(o365_token.txt)을 저장합니다. 이 token은 나중에 앞서 설명한 복사/붙여넣기 단계 없이 인증하는 데 사용할 수 있습니다. 인증에 이 token을 사용하려면 loader 인스턴스화 시 auth_with_token 매개변수를 True로 변경해야 합니다.
🗂️ Documents loader
📑 Document Library Directory에서 문서 로드하기
SharePointLoader는 Document Library 내의 특정 폴더에서 문서를 로드할 수 있습니다. 예를 들어, Document Library 내의 Documents/marketing 폴더에 저장된 모든 문서를 로드하려는 경우입니다.
Resource not found for the segment 오류가 발생하는 경우, Microsoft Graph API에서 얻을 수 있는 folder_id를 folder path 대신 사용해 보세요.
folder_id, folder_path 및 documents_ids를 생략할 수 있으며 loader가 루트 디렉토리를 로드합니다.
recursive=True와 결합하면 전체 SharePoint에서 모든 문서를 간단히 로드할 수 있습니다:
📑 Documents ID 목록에서 문서 로드하기
또 다른 가능성은 로드하려는 각 문서에 대한object_id 목록을 제공하는 것입니다. 이를 위해 관심 있는 모든 문서 ID를 찾기 위해 Microsoft Graph API를 쿼리해야 합니다. 이 링크는 문서 ID를 검색하는 데 도움이 되는 endpoint 목록을 제공합니다.
예를 들어, data/finance/ 폴더에 저장된 모든 객체에 대한 정보를 검색하려면 다음에 요청해야 합니다: https://graph.microsoft.com/v1.0/drives/<document-library-id>/root:/data/finance:/children. 관심 있는 ID 목록을 얻은 후 다음 매개변수로 loader를 인스턴스화할 수 있습니다.
📑 지원되는 파일 유형 및 선호하는 parser 선택하기
기본적으로SharePointLoader는 기본 parser를 사용하여 document_loaders/parsers/registry에 정의된 파일 유형을 로드합니다(아래 참조).
SharePointLoader에 handlers 인수를 전달하여 이 동작을 재정의할 수 있습니다.
파일 확장자("doc", "pdf" 등) 또는 MIME type("application/pdf", "text/plain" 등)을 parser에 매핑하는 dictionary를 전달하세요.
파일 확장자 또는 MIME type 중 하나만 독점적으로 사용해야 하며
혼합할 수 없습니다.
파일 확장자에는 앞의 점을 포함하지 마세요.
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.