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

如何用Python提取SharePoint文件动态链接并导出至Excel?

解决方案

1. 获取SharePoint文件的共享链接

要获取手动点击「Copy Link」得到的动态链接,可通过SharePoint客户端对象模型的create_link方法生成对应权限的共享链接,默认生成查看权限的链接,和原生Copy Link行为一致。

2. 数据存储到Excel

使用pandas库整理数据并写入Excel,需要提前安装pandas和openpyxl依赖包。

完整代码

from office365.sharepoint.client_context import ClientContext
from office365.runtime.auth.user_credential import UserCredential
import pandas as pd

# 配置SharePoint站点参数
site_url = "你的SharePoint站点URL"
username = "你的账号"
password = "你的密码"
folder_name = "目标文件夹的服务器相对路径"

# 初始化上下文
ctx = ClientContext(site_url).with_credentials(UserCredential(username, password))

# 初始化数据存储列表
file_records = []

# 获取目标文件夹下的所有文件
files = ctx.web.get_folder_by_server_relative_url(folder_name).files
ctx.load(files).execute_query()

for file in files:
    # 加载文件的列表项元数据
    item = file.listItemAllFields
    ctx.load(item)
    ctx.execute_query()
    
    # 生成查看权限的共享链接
    share_link = file.create_link("view").execute_query()
    share_url = share_link.web_url
    
    # 组装单条记录
    record = {
        "ID": item.properties["ID"],
        "Created": item.properties["Created"],
        "Name": item.properties["Name"],
        "Description": item.properties.get("Description", ""),  # 兼容无描述的文件
        "SharePointLink": share_url
    }
    file_records.append(record)
    print(f"已抓取文件: {item.properties['Name']}")

# 写入Excel文件
df = pd.DataFrame(file_records)
df.to_excel("SharePoint文件元数据.xlsx", index=False)
print("数据已成功保存到Excel")

关键说明

  • 若需要生成编辑权限的共享链接,将create_link的参数从"view"改为"edit"即可。
  • 用item.properties.get("Description", "")避免无描述文件抛出KeyError。
  • 运行前需安装依赖:
    pip install office365-rest-python-client pandas openpyxl
    

内容的提问来源于stack exchange,提问作者Sri Vidhya Pavani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 15:32:08