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

如何通过Power Automate从SharePoint的sourcedoc GUID获取文件内容

解决Power Automate解析SharePoint地址栏URL获取文件的问题

问题背景

终端用户提供的SharePoint文件URL分两种:

  • Style A:通过「共享」/「复制链接」生成的URL,可直接被Power Automate解析获取文件
  • Style B:打开可编辑文件后从地址栏复制的URL,包含sourcedoc参数的GUID,但该GUID并非Power Automate所需的File ID,且无文件夹结构信息,导致无法直接配置SharePoint集成

解决步骤

1. 提取Style B URL中的sourcedoc GUID

Style B URL格式示例:https://your-tenant.sharepoint.com/sites/your-site/_layouts/15/Doc.aspx?sourcedoc={12345678-1234-1234-1234-1234567890AB}&action=edit

用Power Automate的撰写动作,通过表达式提取GUID(去除花括号):

replace(replace(split(triggerBody()['user_provided_url'], 'sourcedoc=')[1], '{', ''), '}', '')

或者用正则表达式匹配更精准:

first(regexMatch(triggerBody()['user_provided_url'], '(?<=sourcedoc=)[^{]+(?=&|$)'))

2. 通过SharePoint REST API获取文件核心信息

使用Power Automate的发送HTTP请求到SharePoint动作,调用接口获取文件的File ID和路径:

  • 方法:GET
  • Uri:/_api/web/getFileById('@{outputs('提取sourcedoc_GUID')}')
  • Headers:添加Accept: application/json;odata=nometadata(简化返回的JSON结构)

API返回的关键字段:

  • Id:Power Automate「获取文件内容」动作所需的File ID
  • ServerRelativeUrl:文件的服务器相对路径(可用于验证文件位置)

3. 集成到Power Automate流程

  1. 调用上述API后,用解析JSON动作处理返回结果,schema可从API返回的示例自动生成
  2. 使用获取文件内容动作,传入SharePoint站点地址和解析得到的Id,即可获取文件内容
  3. 将获取到的文件内容附加到邮件发送

注意事项

  • 确保Power Automate运行账户拥有该文件的访问权限,否则API会返回403权限错误
  • 如果遇到API返回文件不存在,检查提取的GUID是否正确,确认用户提供的URL对应的文件未被删除或移动

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 12:14:54