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

Power Automate请求Azure DevOps报TF400813未授权错误如何解决

Power Automate 同步Microsoft Form附件到Azure DevOps工作项返回TF400813错误解决方案

TF400813是Azure DevOps标准的身份鉴权失败错误,出现这个错误和你手动操作工作项的账号权限无关,问题出在流程的接口认证配置、API调用逻辑两个层面,按以下步骤排查修复即可:

  • 先修正HTTP请求的认证配置
    手动在页面给工作项加附件时,浏览器已经携带了你登录后的有效身份凭证,但Power Automate里的独立HTTP动作不会自动复用你账号的页面权限,必须单独配置合法的鉴权信息:

    • 优先选择个人访问令牌(PAT)认证:在Azure DevOps个人设置里生成PAT,授权范围必须勾选工作项(读取、写入和管理),不要把PAT拼接在请求URL里,要在请求头添加Authorization: Basic {Base64编码后的PAT字符串}(编码时格式为任意用户名:PAT,实际使用时用户名可以留空,只保留冒号加PAT再做Base64编码即可)
    • 不要直接复用Power Automate里默认的Azure AD连接发起HTTP请求,这类连接默认的令牌权限范围不包含Azure DevOps的API访问权限,必然触发鉴权错误。
  • 修正附件关联的API调用逻辑,直接发PATCH传附件的流程不符合Azure DevOps API规范
    Azure DevOps不支持直接在更新工作项的请求里上传文件,必须分两步完成附件关联:

    1. 第一步上传文件到DevOps附件存储池:
      调用POST https://dev.azure.com/{你的组织名}/{你的项目名}/_apis/wit/attachments?fileName={上传文件名}&api-version=7.1接口,请求体直接传入文件的二进制流,不要包裹JSON结构,请求成功后会返回该附件在DevOps侧的唯一资源URL
    2. 第二步关联附件到目标工作项:
      调用工作项更新PATCH接口,请求体按以下格式传入上一步拿到的附件URL:
      [
        {
          "op": "add",
          "path": "/relations/-",
          "value": {
            "rel": "AttachedFile",
            "url": "{第一步返回的附件资源URL}",
            "attributes": {"comment": "Microsoft Form提交的用户上传文件"}
          }
        }
      ]
      
  • 补全Microsoft Form文件内容获取步骤
    Microsoft Form收集的上传文件默认存储在关联的SharePoint站点文档库,DevOps接口无法直接跨域拉取这个地址的文件,你必须在发起附件上传请求前,加一个Power Automate内置的「获取文件内容」动作,传入Form返回的文件标识符拿到二进制流,再把流转给DevOps附件上传接口。

避坑提示:如果PAT配置正确还是报鉴权错误,先检查PAT的所属组织是否和你请求的DevOps组织一致,同时确认PAT没有设置IP范围限制,Power Automate的出口IP不在你限制的IP段内也会触发TF400813。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 10:03:22