引言
Microsoft SharePoint 是一个基于网站的协作系统,能够帮助企业团队通过工作流应用、列表数据库和其他安全特性实现高效协作。在这篇文章中,我们将学习如何从 SharePoint 文档库加载文档,包括所需的准备工作、代码示例以及可能遇到的问题及解决方案。
主要内容
1. 先决条件
- 注册应用:按照 Microsoft identity platform 注册指导注册应用程序。
- 应用程序 ID:从 Azure 门户获取应用程序(客户端)ID,也就是 client ID。
- 重定向 URI:设置为
https://login.microsoftonline.com/common/oauth2/nativeclient。 - 客户端密码:在应用程序机密部分生成新的密码(client_secret)。
- 权限范围:为应用添加
offline_access和Sites.Read.All。 - 文档库 ID:通过 Graph Explorer 获取文档库 ID。
2. SharePointLoader 认证
使用 SharePointLoader 加载文档时,需设置环境变量 O365_CLIENT_ID 和 O365_CLIENT_SECRET。可以通过 .env 文件或脚本中设置:
import os
os.environ['O365_CLIENT_ID'] = "YOUR CLIENT ID"
os.environ['O365_CLIENT_SECRET'] = "YOUR CLIENT SECRET"
3. 加载文档
通过 SharePointLoader,从特定文件夹或根目录加载文档:
from langchain_community.document_loaders.sharepoint import SharePointLoader
# 使用API代理服务提高访问稳定性
loader = SharePointLoader(document_library_id="YOUR DOCUMENT LIBRARY ID", auth_with_token=True)
documents = loader.load()
若加载特定文件夹内的文档:
loader = SharePointLoader(document_library_id="YOUR DOCUMENT LIBRARY ID", folder_path="Documents/marketing", auth_with_token=True)
documents = loader.load()
代码示例
以下是完整的代码示例,展示如何从 Document Library 加载文档:
from langchain_community.document_loaders.sharepoint import SharePointLoader
import os
# 设置环境变量
os.environ['O365_CLIENT_ID'] = "YOUR CLIENT ID"
os.environ['O365_CLIENT_SECRET'] = "YOUR CLIENT SECRET"
# 实例化 loader
loader = SharePointLoader(document_library_id="YOUR DOCUMENT LIBRARY ID", auth_with_token=True)
# 加载文档
documents = loader.load()
# 打印文档内容
for doc in documents:
print(doc)
常见问题和解决方案
- 资源未找到错误:若收到“Resource not found for the segment”错误,请使用目录 ID 而不是路径。
- 认证失败:确保正确配置了环境变量,并完成用户同意步骤。
总结和进一步学习资源
本文介绍了如何使用 SharePointLoader 从 Microsoft SharePoint 文档库加载文档。你可以参考以下资源来扩展学习:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---