使用REST API导入Azure DevOps Sprint Capacity到PowerBI遇JSON错误求解决
解决PowerBI读取Azure DevOps Sprint Capacity API时的JSON格式错误
以下是针对DataFormat.Error: We found extra characters at the end of JSON input错误的排查和解决步骤:
检查API请求合法性
确认Azure DevOps Capacity API的请求URL完全正确,格式示例:GET https://dev.azure.com/{organization}/{project}/{team}/_apis/work/teamsettings/iterations/{iterationId}/capacities?api-version=7.1-preview.3排查URL末尾是否存在多余空格、无效字符或错误参数,这些都会导致返回非标准JSON内容。
验证API返回内容
直接在浏览器或Postman中调用目标API,查看响应体是否为合法JSON:- 如果返回内容末尾存在换行、空格、HTML片段等多余字符,说明API返回本身异常,需检查Azure DevOps的团队迭代配置或权限设置;
- 如果返回内容是标准JSON,问题则出在PowerBI的解析环节。
调整PowerBI数据解析逻辑
- 避免先将API响应转为文本再解析,直接使用
Json.Document处理响应流:Json.Document(Web.Contents("你的API完整URL", [Headers=[Authorization="Basic " & Binary.ToText(Base64.EncodeText(":" & "你的PAT令牌"))]])) - 确保身份验证凭据正确传递,PAT令牌需具备
Work Item Read权限,权限不足可能返回非JSON的错误页面。
- 避免先将API响应转为文本再解析,直接使用
处理编码异常
若API返回内容编码非UTF-8,显式指定编码后再解析:Json.Document(Text.FromBinary(Web.Contents("你的API完整URL"), Encoding.UTF8))清除PowerBI缓存
进入PowerBI的「数据源设置」,清除对应API的缓存后重新加载数据,旧缓存可能残留异常内容导致解析失败。
内容的提问来源于stack exchange,提问作者supc
相关产品推荐
相关产品推荐

