如何用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
相关产品推荐
相关产品推荐

