You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中获取SharePoint文件的创建者/修改者名称?

获取SharePoint文件的创建者/修改者名称(Shareplum实现)

Shareplum默认返回的文件属性不包含创建者和修改者信息,你需要显式指定要获取的字段(Author对应创建者,Editor对应修改者),这两个字段会返回包含用户名称的对象,直接提取Title属性即可拿到用户名。

实现步骤及代码示例

  1. 连接到SharePoint站点与目标文档库(这部分你已实现,完整代码供参考)
from shareplum import Site
from shareplum.site import Version

# 替换为你的SharePoint信息
site_url = "https://your-sharepoint-domain/sites/your-site"
username = "your-account@domain.com"
password = "your-password"

# 建立站点连接
site = Site(site_url, version=Version.v365, auth=(username, password))
# 获取目标文档库(替换为你的库名称,默认是"Documents")
doc_library = site.List("Documents")
# 获取目标文件夹(替换为你的文件夹路径,根文件夹可直接用"Shared Documents")
target_folder = doc_library.Folder("Shared Documents/Your-Target-Folder")
  1. 指定字段获取文件详情并提取创建者/修改者
# 获取文件夹内所有文件,显式指定需要的字段
file_items = target_folder.get_items(fields=["FileLeafRef", "Created", "Modified", "Author", "Editor"])

# 遍历处理每个文件
for item in file_items:
    file_name = item["FileLeafRef"]
    # 提取创建者名称,判断字段是否存在避免报错
    created_by = item["Author"]["Title"] if "Author" in item else "未知"
    # 提取修改者名称
    modified_by = item["Editor"]["Title"] if "Editor" in item else "未知"
    
    print(f"文件名: {file_name}")
    print(f"创建者: {created_by}")
    print(f"修改者: {modified_by}")
    print(f"创建时间: {item['Created']}")
    print(f"修改时间: {item['Modified']}")
    print("-" * 30)

注意事项

  • 确保文档库名称和文件夹路径正确,SharePoint路径区分大小写
  • 如果Author/Editor返回用户ID而非对象,可尝试在get_items中添加expand=["Author", "Editor"]参数(部分环境需要)
  • 若遇权限问题,检查账号是否有读取文档库元数据的权限

内容的提问来源于stack exchange,提问作者Rishabh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 18:43:12